# [[Writing load testing scripts]]
Writing load testing scripts involves creating a series of instructions, either by code or by a UI that generates code, for how a virtual user should behave. This phase in [[Load Testing]] involves selecting a tool, simulating real users in a reproducible way, and then making the script more realistic.
## Scripting terminology
- [[Request]] - single protocol request
- [[JMeter Transaction]] - can be made up of multiple requests for a page or action
- [[Transaction groups]] - made up of multiple transactions that form one user path
- [[Dynamic think time and pacing|Think Time]]
- [[Parameterization]], [[Test parameters]], [[Execution Parameters]]
- [[Correlation of dynamic values]]
- [[Test Data]]
- [[Workload Modeling|Workload modelling]]
## Tool selection
- [[Load Testing Tool]]
- [[JMeter#Basics|JMeter Scripting]]
- [[Basics of scripting in Gatling|Gatling Scripting]]
- [[k6 (tool)]]
## [[Increasing throughput of a load test]] at a script level
## [[Scripting best practices]]