In an Agile environment, there is always a challenge too when to conduct the non-functional testing such as Performance testing, Load testing, Security testing, etc? , most the time, tester spent on doing the functional, UI and integration testing. but what about the performance testing?
What is performance testing?
In the performance testing, QA needs to ensure that software meeting the minimum performance criteria such as response time of the software for the particular action. Performance testing has come under non-functional testing.
There are some key factors for performance testing
- Response time
- Latency: The term latency refers to any of several kinds of delays typically incurred in the processing of network data.
- Throughput: the average rate of successful message delivery over a communication channel
- Scalability: we need to test the performance of software over different types of load and parameters.
when we should do the performance testing in an agile environment?
As a QA it very challenging to find the time do all types of testing, as used to do in the waterfall model. typically in case of non-functional testing such as performance, security etc.
when we should start the performance testing?, Performance testing usually should start when feature integration gets stable at a certain level. it is not advisable to conduct a performance test in an early sprint as in early stage many features are not getting integrated and developed in separate sprints.
Off course, planning for performance testing can be started earlier, such as selecting the proper performance testing tool. I will really recommend VSTS and Jmeter for performance and load testing and checking the feasibility of the tools.
in agile, people may not find the performance testing expertise in the team but that knowledge needs to be acquired by some of the team members to conduct the performance testing.