As a performance tester for last 15 years, I have observed how organisations are shifting their performance testing process from traditional software methodologies to today’s accelerated agile/devops methodologies. In this blog article, I will discuss what are different ways of performance testing that is required in today’s world to ensure enhanced customer experience.
Please note, my short session on the same topic was selected as a community soap box video and shared on the main stage as part of the EuroSTAR Conference, 2020.
Devops performance testing-shift-left & shift-right performance testing:
As more and more organisations are using devops methodologies, both shift-left and shift-right performance testing are becoming essential for improved performance & customer satisfaction. Shift-left can be thought of performance testing in dev (development) and shift-right performance testing can be thought of performance testing in ops (production). Shift-left and shift-right performance testing enables comprehensive continuous performance testing.
Shift-left & shift-right performance testing- comprehensive continuous performance testing:
Comprehensive continuous performance testing is a superlative solution for enhanced customer experience.
It is an ongoing activity which started from requirement gathering and continues till post deployment. It is a continuous & never stoppable activity. It is also cost effective & collaborative.
One way comprehensive continuous performance testing is a preventative measure to avoid any potential issue in production. Another way, it is a proactive measure to identify the issue, if any and resolve immediately in production before it actually impacts its end-users.
Traditional full-blown performance testing:
Though it seemed that traditional full-blown performance testing is not required for devops performance testing. However, traditional full blown performance testing is still required as an integrated approach. It assists to know well in advance, how the application will behave in live. Overall, it gives confidence to application owners and reduces performance risk ahead of deployment.
Today’s performance testing in a nutshell:
In a nutshell, organisations should conduct below different ways of performance testing for ensuring enhanced customer experience.
- First, companies should conduct automated component performance testing. This automated component performance testing must be integrated with continuous integration/continuous delivery (CI/CD) pipeline to identify the performance issues at the early stages of SDLC. It will be executed as a bottom-up approach. First, component level performance testing as a bottom approach. Then, group of components performance testing as up approach. This low volume performance test execution will be conducted for short duration but in parallel to meet the accelerated delivery as shift-left perspective. However, too many components performance testing will delay the overall release timeline. So, understanding and identifying the components which will require performance testing is very important. For example: based on the high business criticality or high business user count, components can be identified for this low volume but parallel performance testing.
- Later, full blown performance testing as an integrated approach like traditional performance testing should be conducted periodically (it’s better to conduct all the time if possible as continuous integrated regression performance testing before any release) prior to big/major releases (absolutely mandatory for first time release/ server upgrades/migrations) to reduce the overall performance risk before deployment.
- Next, more controlled performance test executions in production as and when necessary as a shift-right approach. Synthetic monitoring and real user monitoring both are required in production to proactively identify the potential performance issues and resolves them immediately before affecting the end-users.
- Also, all the above performance test execution must be with continuous end to end monitoring. Continuous end to end monitoring assist to pinpoint where the potential performance issues lies and assist in providing more performance insights.
Above said, performance testing with continuous performance monitoring ensures enhanced customer experience by improved speed, scalability, stability, availability in today’s world. As a result, companies can endure in the market for longer and create their own brand identity.
Check out all the software testing webinars and eBooks here on EuroSTARHuddle.com