load testing but JMeter makes me sad •I want something that’s written in Node.js •I need to test WebSockets or Socket.io •I want something that can be scripted with JS
load testing but JMeter makes me sad •I want something that’s written in Node.js •I need to test WebSockets or Socket.io •I want something that can be scripted with JS •I want something that can be used by everybody: QA team, SRE team, other dev teams
API • Each user will execute a scenario, which is a sequence of steps, to interact with the API • Users arrive in phases • Each user is completely independent of all other users
API • Each user will execute a scenario, which is a sequence of steps, to interact with the API • Users arrive in phases • Each user is completely independent of all other users • Duration of a load test is the duration of the phases + the time it takes for all users to finish their scenarios
other users have finished their scenarios or not • Individual users will execute their scenarios sequentially*, waiting for a response before continuing
other users have finished their scenarios or not • Individual users will execute their scenarios sequentially*, waiting for a response before continuing • Each user will map to a new TCP connection (HTTP, WS, Socket.io)**
at runtime • Any exported function is available in the scenario • Extension points: • beforeScenario, afterScenario • beforeRequest, afterResponse • As a step anywhere in the scenario
Faker or Chance • Abort the test early if some condition is not satisfied • Make a call to an external service to fetch some information that the virtual user needs