BluePrint: Load Test
Table of Contents
The tests are located in modules/tests/load
Load Test Parameters
Load Tests can be developed for different
Template
Which template is being tested
Arrival Rate of Users
The number of simultaneous users can be determined from this by knowing the number of requested in the sessions and assuming an average # requests / user / second.
Sessions
Which sessions are bing tested and how many of each
- 20% create_staff
- 40% search_staff
- 40% report_staff
Number of Records
The number of additional records which should be created prior to running the load tests to test the response for a large number of records.
Server Being Testing
This should be defined in the Test Case file, but there should also be deployment setting which can be an override for ALL test cases.
Load Test Files
Test Cases
modules/tests/load/cases/
Load tests can be run for a number of different test cases. Each test case will specify the exact parameters for the load test
Template Helper Files
modules/tests/helpers/templates/
These will be template specific files that record the template specific static files to be downloaded on each page.
Session Files
modules/tests/sessions/
These are the different sessions being tested.
Example
- ??
Helper Files
modules/tests/helpers/
Requests which will be common to many tests.
These can be reused in multiple sessions.
Example:
- login requests will be common to all tests which require login
Data Files
modules/tests/load/data
Scripts to create additional records to test the load with a large number of records.
This will both add records directly to the database to test the server with a large number of records as well as create a CSV file of records which can be added by load tests.
Load Test Process
1. Config Load Test
2. Create Records
3. Run Load Tests
4. Report Results
Load Test Reports
- Response time (i.e. time between the server receiving a request and the server sending a response)
- Error rate (i.e. pages timing out or malfunctioning)
- Resource utilization:
- CPU load
- RAM consumption
- database connections/queries
- number of server processes