139 | | * The tests are located in {{{modules/tests/load}}} |
140 | | * There are group of requests which will be common to many tests. Eg - login requests will be common to all tests which require login. |
141 | | * Such requests are stored in {{{modules/tests/load/helpers}}} |
142 | | * These helpers can be included in the tests for maximum code reuse. |
143 | | * Using the helpers, different range of tests can be written, as per the usecase. |
144 | | * Eg - A test has - |
145 | | * 20% users creating staff |
146 | | * 40% users searching for staff |
147 | | * 40% users visiting the homepage |
148 | | * This can be written by defining 3 sessions, with probabilities 20%, 40% and 40%. |
149 | | * The content(requests) in these individual sessions can be imported from the helper xml files. |
150 | | * See {{{modules/tests/load/search_staff.xml}}} for an example of one such session. |
151 | | * Each use-case of the load test can be written down in separate tests which are to be located in {{{modules/tests/load}}}. |
152 | | * Eg - Usecase is 20% users creating staff, 40% searching staff, 40% generating reports on staff. |
153 | | * This usecase is captured by writing a test which has 3 sessions - |
154 | | * create_staff with probability = 20% |
155 | | * search_staff with probability = 40% |
156 | | * report_staff with probability = 40% |
157 | | * Each of the session is written using helper xml files located in {{{modules/tests/load/helpers}}} |
158 | | * Eg - Writing {{{&login_page;}}} inside the session will import the login requests. |
159 | | * There needs to be significant amount of data in the database, to incorporate usecases like searching in a database of 10,000 records. |
160 | | * A python script will be used to create such data and add it to the database. This will reside in {{{modules/tests/load/data}}}. |
161 | | * This will be run prior to the test so that the data is available at the time of testing. |
162 | | * Also, some data is required for the tsung load tests. |
163 | | * Eg - For load tests which test creation of records, the data needs to be provided in CSV format. |
164 | | * This will also be done by a similar script as above. |
165 | | * It writes the data into the CSV file, whereas the script above writes the data into the database. |
166 | | |
| 139 | See: BluePrint/Testing/Load |