%%
Related:
- [[Software Testing]]
- [[Performance Testing]]
- [[Load Testing]]
- [[The Perfect Load Testing Tool]]
- [[A testing tool should not slow down the feedback cycle.]]
- [[The 1 Thread=1 Virtual User Paradigm is flawed]]
Last Updated:
- [[2021-02-06]]
- [[2020-12-08]]
- [[2020-11-28]]
Child:: [[JMeter]]
%%
## Tools on the Market
### [[Protocol-based load testing]] Tools
- [[JMeter]]
- [[Gatling]]
- [[Micro Focus]] [[LoadRunner]]
- [[Micro Focus]] [[Silk Performer]]
- [[Neotys]] [[NeoLoad]]
- [[Rational Performance Tester]]
- [[Visual Studio Load Testing]]
- [[k6 (tool)]]
- [[Artillery Core]]
### [[Browser-based testing]] Tools
#### Selenium
- [[Selenium WebDriver]]
- [[Selenium IDE]]
#### Javascript-based frameworks
- [[Puppeteer]] ([[NodeJS]]) - [[Google]], [[Flood Element]]
- [[Playwright]] ([[NodeJS]]) - [[Microsoft]]
- [[Mocha]] ([[Cypress]])
- [[Jest]]
- [[Test Café]]
## [[Load testing tool comparison]]
[[Load testing tool comparison table]]
[[k6 vs JMeter]]
[[Gatling vs JMeter]]
## Key features of a load testing tool
### Scripting
#### Creating a script
- [ ] [[Recorder]]
- [ ] [[Exclude third-party or configured domains]]
- [ ] [[Sample script packaged in]]
- [ ] [[GUI Test Builder]]
- [ ] [[Code-based scripting]]
- [ ] [[Protocol-based load testing]]
- [ ] [[Browser-based testing]]
#### Making the script robust
- Protocols Supported
- [ ] [[HTTP 1.1]]
- [ ] [[HTTP 2]]
- [ ] [[WebSockets]]
- [ ] [[gRPC]]
- [ ] [[Citrix ICA]]
- [ ] [[LDAP]]
- [ ] [[Modify headers]]
- [ ] [[Response assertions]]
- [[Error handling]]
- [ ] [[Output to log upon error]]
- [ ] [[Screenshots]]
- [ ] [[Continue on error or restart iteration]]
- [[Debugging]]
- [ ] [[See request and response headers and bodies on single iteration]]
- [ ] [[Change log levels]]
- [ ] [[Transaction groups]]
- [ ] [[Custom functions or test fragments]]
#### Making the script realistic
- [[Correlation of dynamic values]]
- [ ] [[JMeter Regular Expression Extractor]]
- [ ] [[CSS Selector]]
- [ ] [[JSON Extractor]]
- [ ] [[Dynamic think time and pacing]]
- [ ] [[Conditional logic]]
- [ ] [[Parallel execution of requests]]
- [ ] [[Download embedded resources]]
- [ ] [[Follow redirects]]
- [ ] [[Network bandwidth throttling]]
- [ ] [[Cache management]]
- [ ] [[Startup and teardown thread groups]]
#### Test data
- [ ] [[Static test data]]
- [ ] [[Unique data generation during runtime]]
- [ ] [[Virtual Table Server]]
#### Collaborating on a script
- [ ] [[Version Control System]]
- [ ] [[Test Scaffolding]]
### Execution
#### [ ] [[Test Scenarios]]
#### [ ] [[Configurable Load profile]]
- [ ] [[Number of virtual users]]
- [ ] [[Duration]]
- [ ] [[Origin or Region]]
- [ ] [[Ramp-up]]
- [ ] [[Ramp down]]
- [ ] [[Number of iterations]]
- [ ] [[Fully customizable load profile]]
#### SLAs
- [ ] [[Set multiple thresholds]]
#### [ ] [[Execution Parameters]]
#### Memory consumption benchmark
### Analysis
#### Dashboard
- [ ] [[Pre-generated reports]]
- [ ] [[Custom dashboard creation]]
- [ ] [[Reusable dashboards]]
- Easy error troubleshooting
- [ ] [[Screenshots]]
- [ ] [[Response bodies]]
- [ ] [[Assertion success or failure]]
- [ ] [[Log for transaction failure]]
#### Metrics
- [ ] [[Response time]]
- [ ] [[Request throughput]]
- [ ] [[Number of virtual users]]
- [ ] [[Error rate]]
- [ ] [[Network throughput]]
- [ ] [[Load generator CPU]]
- [ ] [[Load generator memory]]
#### Graphs
- [ ] [[Different Graph Types]]
- [ ] [[View by transaction]]
- [ ] [[View by load generator or region]]
- [ ] [[Custom views]]
#### Results
- [ ] [[Raw data]]
- [ ] [[At least 1s granularity]]
- [ ] [[Export as plain text]]
### Continuous Load Testing
- [ ] [[Jenkins]]
- [ ] [[Azure Pipelines]]
- [ ] [[Travis CI]]
- [ ] [[CircleCI]]