Everything You Need to Shift-Left Performance Testing Across Your Organization - Part 1
October 03, 2018

Chris Colosimo
Parasoft

Today’s agile testing teams must build and execute test cases in the earlier stages of the software delivery lifecycle, a strategy often referred to as "shifting left." Every sprint is critical, and the decisions made moving forward are lightning fast.

In order to facilitate the quick feedback process, testing teams must thoroughly validate their applications, end-to-end, in a very short timeframe.

To maximize this effort, testing teams can modernize their approach to testing, to get the best return on investment possible in the earliest stages possible. Focusing at the API layer of an application can help enable a scalable testing practice that can be efficiently executed as part of an accelerated delivery process, and is a practice that can be adopted and enabled at the earliest possible stages of development — truly shifting left functional testing.

But what about performance testing? How do we enable the shift left of nonfunctional testing? Here, we explore what this means and how to enable it in your organization.

What is Shift Left Performance Testing?

Shifting performance testing left means enabling developers and testers to conduct performance testing in the early stages of development cycles. Traditionally, performance testing is a task performed at the end of development cycles because it requires a set of specialized tools and skills, i.e. expensive hardware in dedicated environments by trained performance testing engineers. A shift-left performance testing strategy instead allows smaller, ad hoc performance tests to be performed by testers against individual components as they are developed.

To accomplish this, teams need to begin creating performance tests along with unit and functional tests, when functionality is implemented, and configure those performance tests to run automatically and report in a way that alerts to you to decreases in performance. To execute the tests automatically, performance test execution must be tightly integrated as a part of the CI/CD process, in which after each code check-in, performance tests are executed in local environments along with functional and unit tests.

Shifting left performance testing means getting developers more involved

This process enables organizations to understand the subtle impact of new components being added into the aggregate performance of their application, and ultimately enables the discovery of performance-related defects much earlier in the delivery lifecycle.

From a company culture perspective, shifting left performance testing means getting developers more involved. In most cases, development teams can make optimization enhancements within a day of discovering performance degradation, as opposed to waiting until the entire application is built.

How Does the Organization Make Shift Left Performance Happen?

First and foremost, you need well-established organizational buy-in. Addressing quality as a process and not as a reaction is essential to shifting performance testing left across the enterprise. The key players in this process are the product managers because performance testing and the associated development time come at a cost of implementation, which may slow down the development cycle. PM teams must understand why this process is taking place and understand that the value comes in reduced hot fixes and performance optimizations.

Next, defining SLAs at the component level in addition to the application level enables earlier-stage feedback, and helps developers understand the impact of code modification to the individual components they are developing. This granular performance testing makes it easier for stakeholders to learn where hotspots are occurring.

It’s important to migrate as much of your testing practice away from UI centric testing into automated tests such as API and database tests. These types of testing practices, aside from being more maintainable and scalable, can be immediately leveraged in performance testing, can pinpoint the root cause of performance issues, and are highly resilient to change.

Finally, organizations must integrate performance testing into the build process so that basic smoke test performance tests get executed upon code check-in, and a full set of performance tests are run nightly. To do this, you need to consider hardware. Automated performance tests do require more computing resources than functional tests do, so development teams need to be prepared for that. Reviewing whether the existing performance infrastructure fits the shift-left approach or requires modification (i.e cloud agents) would also be one of the key considerations in transitioning to performance test automation.

Developer and Tester Roles in Shift-Left Performance

Developers OWN the performance of their applications. Developers must create applications that are ready for performance testing by using microservices, REST/SOAP APIs, and modular design architectures such that individual pieces can be load tested as they are developed.

Testers can align their test cases to key workflows in the application so that they can be leveraged in the performance testing process. Focusing on the API layers of the application make this more resilient to change and manageable. Both teams consume reports that have fallen outside of the SLAs for the application to identify problem areas based on recent code check-in to help them identify which components need to be optimized.

Read Everything You Need to Shift-Left Performance Testing Across Your Organization - Part 2, outlining the tools needed to enable shift-left performance.

Chris Colosimo is a Product Manager at Parasoft

The Latest

October 22, 2018

Embracing DevOps at enterprise scale requires a seismic shift in the way an organization plans, builds, tests, releases, and manages applications. Here are four ways to ensure your enterprise DevOps transformation is a success ...

October 18, 2018

Are applications teams prepared to manage the chaos arising from an ever-growing landscape of heterogeneous deployment types? A recent survey of application and operations professionals sought to better understand how the industry is shifting and what the future of DevOps might look like. Here is what the survey uncovered ...

October 16, 2018

More than half of organizations have a dedicated DevOps team to help them better implement agile strategies, accelerate release cycles and ensure continuous development. However, databases have a habit of holding DevOps back ...

October 15, 2018

Test Environment Management can save organizations close to $10,000 for each release, yet only four percent of large enterprises have fully integrated TEM processes into organizational DNA, according to the 2018 Test Environment Management Survey released by EMA and Plutora ...

October 11, 2018

Agile is indeed expanding across the enterprise and there was a significant jump from last year to this year in the percentage of respondents who indicated that all or almost all of their teams were agile, according to the State of Agile 2018 report from CollabNet ...

October 09, 2018

Adopting a modern application architecture is critical to business success and a significant driver of profit growth in today’s digital economy, according to the results of a global survey of IT and business executives released by CA Technologies and conducted by Frost & Sullivan ...

October 04, 2018

How do you integrate tools to enable shift-left performance? The following tools will simplify maintenance, can be managed in a centralized way, and provide an easy-to-use UI to comprehend results ...

October 03, 2018

Focusing at the API layer of an application can help enable a scalable testing practice that can be efficiently executed as part of an accelerated delivery process, and is a practice that can be adopted and enabled at the earliest possible stages of development — truly shifting left functional testing. But what about performance testing? How do we enable the shift left of nonfunctional testing? Here, we explore what this means and how to enable it in your organization ...

October 01, 2018

As businesses look to capitalize on the benefits offered by the cloud, we've seen the rise of the DevOps practice which, in common with the cloud, offers businesses the advantages of greater agility, speed, quality and efficiency. However, achieving this agility requires end-to-end visibility based on continuous monitoring of the developed applications as part of the software development life cycle ...

September 27, 2018

Imagine that you are tasked with architecting a mission-critical cloud application. Or migrating an on-premise app to the cloud. You may ask yourself, "how do the cloud savvy companies like Airbnb, Adobe, SalesForce, etc. build and manage their modern applications?" ...

Share this