written 5.8 years ago by | • modified 5.8 years ago |
(i) Load testing: Load is testing the software under customer expected load. In order to perform load testing on the software you feed it all that it can handle. Operate the software with largest possible data files. If the software operates on peripherals such as printer, or communication ports, connect as many as you can. If you are testing an internet server that can handle thousands of simultaneous connections, do it. With most software it is important for it to run over long periods. Some software‘s should be able to run forever without being restarted. So Time acts as a important variable.
ii) Stress testing: Stress testing is testing the software under less than ideal conditions. So subject your software to low memory, low disk space, slow cpus, and slow modems and so on. Look at your software and determine what external resources and dependencies it has. Stress testing is simply limiting them to bare minimum. With stress testing you starve the software. For e.g. Word processor software running on your computer with all available memory and disk space, it works fine. But if the system runs low on resources you had a greater potential to expect a bug. Setting the values to zero or near zero will make the software execute different path as it attempt to handle the tight constraint. Ideally the software would run without crashing or losing data.
iii) Recovery testing: Recovery testing is a type of non-functional testing. Recovery testing is done in order to check how fast and better the application can recover after it has gone through any type of crash or hardware failure etc.
Recovery testing is the forced failure of the software in a variety of ways to verify that recovery is properly performed.
Determining the feasibility of the recovery process.
Verification of the backup facilities.
Ensuring proper steps are documented to verify the compatibility of backup facilities.
Providing Training within the team
Demonstrating the ability of the organization to recover from all critical failures.
Maintaining and updating the recovery plan at regular intervals.
(iv)Usability testing: Usability testing, a non-functional testing technique that is a measure of how easily the system can be used by end users.It is difficult to evaluate and measure but can be evaluated based on the below parameters:
Levels of Skill required learn/use the software. It should maintain the balance for both novice and expert user.
Time required to get used to in using the software.
The measure of increase in user productivity if any.
Assessment of a user's attitude towards using the software.
Usability testing, a non-functional testing technique that is a measure of how easily the system can be used by end users.
It is difficult to evaluate and measure but can be evaluated based on the below parameters:
Levels of Skill required learn/use the software. It should maintain the balance for both novice and expert user.
Time required to get used to in using the software.
The measure of increase in user productivity if any.