WavebreakmediaMicro - Fotolia

Continuous performance testing cycles ease testing

As we move to continuous delivery, regular tasks like performance testing can lose focus. What's the best way to take on continuous performance tests?

When dealing with continuous performance testing, it's important to remember that routinely executing some tests is always better than doing none, and doing any is more than most development shops accomplish. All applications need (at minimum) performance testing on initial screens that involve user interaction. A continuous development software team can squeeze in valuable performance testing in several ways and on an ongoing basis.

First, test performance of an application on its own without the complexity of adding server load variations. You can add load testing later without having to update existing test cases because varying load is done on the server rather than the test case. Start building a small set of performance tests that are executed on the application itself and then add to it as performance related issues are reported or fixed.

If your organization has a number of performance tests but cannot execute them all continuously, consider developing a rotating test suite. To use a rotating test suite, first determine how many tests you can squeeze into the test cycle realistically without affecting the release schedule. Next, prioritize the tests based on risk, and then separate them into suites. When you separate tests into suites, make sure to include a balance of priority levels and at least one test for each main functional area. In other words, cover the bases but with the minimum number of players. During each test cycle, execute a different suite. The application still receives coverage for performance, hitting all areas, but with fewer tests.

The previous two suggestions assume the performance tests are automated. You can squeeze manual software performance tests into the testing cycle in the same way. The main difference with manual performance tests is that you need to rely on the knowledge and skills of the testers. Testers know how fast they expect an application to respond, whether it is a Web application or a mobile application. Use the real-world consumer skills of your testers combined with their application knowledge to create a small test suite of continuous performance tests that fit into the existing test cycle. Again, if necessary, spread them out over several test cycles by creating rotating suites of manual test cases.

Next Steps

Learn more about continuous development

Find tips on continuous testing

Check out tools for performance testing on AWS

And more traditional performance testing tools

Think about application performance metrics

Dig Deeper on Topics Archive