6 ways Agile teams can streamline regression testing
Explore common regression testing challenges faced by Agile teams –...
This post is part one of a four-part series collectively covering the following topics:
Applications are being released to the market with increasing complexity every day, in increasingly shorter development cycles. This requires embracing Agile development and testing methodologies.
Performance, as part of the global user experience, is now a critical element of application quality.
“Old school” sequential projects marked by static Qualification/Implementation/Test phases, which push performance testing until the end of the lifecycle, are sure to experience a performance risk along the way. This proposition is no longer acceptable by today’s application quality standards.
This blog series provides practical information on how to execute efficient performance testing in this new and more demanding environment.
One of the main drivers behind this shift to modern load testing is the growing complexity of the IT landscape:
Historically, applications have been tested to validate quality across several areas: functional, performance, security, etc. Testing phases answer to user requirements and business risks. However, the dialogue has changed; the conversation is no longer about quality, it’s about user experience. The user experience is a combination of look-and-feel, stability, security, and performance.
Performance is the key factor in the success of the user experience. This is due to advances in technology, architectural complexity, and the locations/networks of the users. Load testing was a nice addition to the development process but has quickly become an essential testing step. Load and performance testing answers the following questions:
Like any testing activity, performance testing requires proper methods and logic.
When an application passes performance testing but then fails in production, it is often due to unrealistic testing. In these cases, it’s easy but misguided to blame the testing itself or the tools used to execute it. The typical problem resides with test design, especially when done without the correct basis. It’s necessary to ask, “what did we need to know which, if we had the information ahead of time, would have allowed us to predict this failure before production?” In other words, “how can we deliver and execute an efficient performance testing process?”
Methodologies like Agile and DevOps allow for creating applications quickly to address customers’ needs. These practices call for updating project organization and require closer collaboration between teams. Within these methodologies, the project lifecycle is broken out into several sprints, each responsible for delivering a part of the application. In this environment, the performance testing process should follow the workflow below.
A performance testing strategy should be implemented at an early stage of the project lifecycle. The first step: performance qualification. This defines the testing effort of the whole project. An “old school” approach to performance testing would force the project to wait for an assembled application before performance validation would begin. In a modern project lifecycle, the only way to include performance validation in an early stage is to test individual components after each build and implement end-to-end performance testing once the application is assembled.
Next steps
Read the next installment in this series for some practical guidance on establishing a performance testing strategy.
This blog was originally published in December 2017 and was refreshed in July 2021.
Explore common regression testing challenges faced by Agile teams –...
Ensure reliable, scalable application performance across on-prem,...
Ensure SAP data accuracy & reliability. Learn risks, key...
Watch this webinar to learn some advanced strategies for...
Learn how to tackle top data integrity challenges and ensure...