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
Share this

Industry News

June 08, 2023

Sauce Labs and TestRail announced an integration to enable engineering and product teams to accelerate digital innovation without prohibitively increasing risk.

June 08, 2023

Applause announced expanded capabilities in assisting clients with the training, testing and validation of high-quality generative AI models.

June 08, 2023

Deepwatch announced a global strategic partnership with Lacework to offer security solutions.

June 07, 2023

Checkmarx announced Fusion 2.0, with a new Application Risk Management module.

June 07, 2023

Snyk has agreed to acquire Enso Security, provider of Application Security Posture Management (ASPM).

June 07, 2023

CAST announced the availability of CAST Highlight on the Azure Marketplace, the cloud computing platform's online store offering a wide range of directly deployable cloud-based applications and services.

June 06, 2023

Appdome has integrated its platform with GitHub to build, scale, and deliver software.

June 06, 2023

DigiCert, announced a partnership with ReversingLabs to enhance software security by combining advanced binary analysis and threat detection from ReversingLabs with DigiCert's enterprise-grade secure code signing solution.

June 06, 2023

Semgrep announced that Semgrep Supply Chain is now free for all to use, up to a 10-contributor limit.

June 05, 2023

Checkmarx announced its new AI Query Builders and AI Guided Remediation to help development and AppSec teams more accurately discover and remediate application vulnerabilities.

June 05, 2023

Copado announced a technology partnership with nCino to provide financial institutions with proven tools for continuous integration, continuous delivery and automated testing of nCino features and functionality of the nCino cloud banking platform.

June 05, 2023

OpsMx announced extensions to OpsMx Intelligent Software Delivery (ISD) that make it a CI/CD solution designed for secure software delivery and deployment.

June 01, 2023

Couchbase announced a broad range of enhancements to its Database-as-a-Service Couchbase Capella™.

June 01, 2023

Remote.It release of Docker Network Jumpbox to enable zero trust container access for Remote.It users.

June 01, 2023

Platformatic launched a suite of new enterprise-grade products that can be self-hosted on-prem, in a private cloud, or on Platformatic’s managed cloud service: