I am very new to performance testing. I am using funkload pypi package to do that. I can run load tests with that. I want the following scenario to implement.
- Ability to specify ramp up rate (i.e. 5 users every 1 minute)
- Ability to specify ramp up time (i.e. ramp up all users within 20 mins)
- Ability to specify ramp down rate (i.e. stop 5 users every 30 seconds)
- Ability to specify ramp down time (i.e. stop all users within 1 min)
- Ability to specify how long to execute after users have been ramped up (i.e. after all users are ramped up,run performance test for 30 mins)
- Ability to specify how long each test case should be run (i.e. run login and log out test script 15 times)
- Ability to choose rendezvous point (i.e. wait for all users to login and then execute steps in the scripts)
- Ability to wait between steps (i.e. for a script that logs in, presses new account button, creates a new account and logs out; we should be able to randomly wait between 15 - 45 seconds between login and press the create new account button, randomly wait between 15s - 45s between pressing new account button and creating new account, and randomly wait between 15-45 seconds between creating new account and logging out).
there are configuration for sleep_time, cycle_time, startup_delay, sleep_time_min and sleep_time_max you can take a look at documentation and here http://lists.idyll.org/pipermail/testing-in-python/2007-August/000363.html to see to what they do. The ramp up seems possible for me to do, the ramp down rate do not, because it wait for the threads to finish. The ability to ramp down all users , maybe using "duration"as a workaround for it...duration says the amount of time of the test that is logged, meaning what will appear in your report. It is possible for the threads to continue execution beyond it is reported...