Written by: Jun Zhuang
Recommended reading by Jorge Asensio, Test Automation Expert at q-leap
"The article features a compilation of real cases in which performance testing matters, with some emphasis on Agile methodologies. There’s also a small code of good practices to bear in mind when developing a plan for performance testing, which comes in handy whenever the tester has to plan and run a performance test suite, or to complement his/her knowledge.
This Article goes quickly from theory into real case practice, which allows testers to foresee possible issues in real life.", Jorge Asensio, Test Automation Expert at q-leap.
[...] Almost all the time when people talk about performance testing in agile software development, they talk about the process. For example, plan and prepare early, start testing as soon as a story has passed functional testing, continuous testing and communication, etc. – the quality associated with the performance testing practice itself, which is also critical to the success of the agile process, is rarely mentioned.
The quality associated with the performance testing practice can be viewed from several perspectives: the quality of the engineer, the quality of the testing practice, the quality of the testing tool and the quality of the people & practice beyond the performance testing team.
To start with, it is people who participate and drive the process. The performance test engineer not only has to be familiar with the agile process but also the lifecycle of performance testing from planning to test development to execution to result analysis to reporting and diagnoses.
There is probably no need to emphasise the criticality of the planning phase, it is in this phase where performance requirements are gathered, the test plan is drafted and important questions such as test coverage, expected load and acceptance criteria, whether the existing tool is capable of doing the work should be asked and answered. These would come naturally for a seasoned tester but probably won’t be so for someone inexperienced.
Agile development requires tests to be developed and executed in a timely fashion. From this perspective, the better the test engineer knows about the tool and the application being tested the more productive he becomes. There is no denying that some tests are challenging to develop and may take a long time, but if the test engineer is always falling behind due to lack of working knowledge of the tool or the application, it is a problem that must be fixed now.
Every tool has its limitations, the quality of the engineer also reflects in whether he has sufficient ammo in his toolkit to complement the tool. Generally speaking, knowledge in every aspect of software engineering and computer engineering helps. Furthermore, there are times the cause of certain performance issues are challenging to pinpoint, even for an experienced tester. The knowledge and experience of the engineer often determine how long it takes to track down the cause.
It is necessary to highlight the roles that performance test engineers should be playing. Our primary role, of course as expected, is to take part in the software development process and provide necessary testing coverage. Our other roles, which are rarely mentioned and not being realised even by some testers, include, but not limited to, promoting performance awareness among all parties involved in the software development life cycle (SDLC) and educating people about the broad range of tests we can perform.
Believe it or not, it’s not uncommon for people to think that the only thing we do is LOAD testing, i.e., measure an application’s response time under certain load. Without the support and participation of other teams, it is going to be very difficult for the performance testing practice to be successful [...].
Continue reading the full article here to understand the quality of the performance testing practice, the quality of the testing tool, and the quality of everything beyond the performance testing team.
Jorge Asensio is a Test Automation Expert at q-leap. Jorge is fully dedicated to his career in software testing, always focussed on perfectioning on automation, functionality, and performance. He is also an expert with Selenium Browser Automation, a framework to automate online applications. Jorge works closely within the company to help to evaluate and improve existing automation frameworks, design, execute and maintain automated test scripts to ensure quality control standards are achieved.