BlogATAhon2021 Entry
Evolution of Performance Testing
by Diksha Gupta
When I started my career in IT more than a decade ago, the older relatives suggested to get into development projects, and stay away from testing or maintenance.
Destiny got me into performance testing team, and the seniors in the team started providing training on various tools used in performance testing.
The industry standard tool then and even now had very expensive licensing cost, and hence we had an in-house tool for performance testing in addition to a couple of other in-house tools to test the software before even starting actual performance testing.
What is Performance Testing?
We all know the good old functional/manual testing which targets to test the functionality, look and feel, etc. the application has been built to accomplish. The other important aspect is the non-functional requirements which are not tested during functional testing, essentially because those requirements are non-functional.
Such requirements are targeted to be tested in Performance Testing.
As the term itself suggests, Performance testing aims to test the performance of the application under test.
Why is Performance testing needed?
Today where everything is being automated and digitized, it is very important to understand how the application behaves with respect to different parameters like:
Number of users
Response times
Throughput
CPU & memory utilizations
Any code issues
Hardware optimization, etc.
Doing performance testing at the right time helps to understand if the application is comfortable able to handle the users it is built for, what will be the user experience, how fast will the screens load or a response will be received by the end user, any tuning issues in the code can be uncovered by such testing and we can also optimize the hardware required for the application under test.
Performance testing helps uncover the underlying issues that might not get captured in other types of testing, and hence prevents production failures to a great extent.
Tools for Performance Testing/Monitoring
LoadRunner
JMeter
Neoload
Gatling
Blazemeter
Silk Performer
HP Diagnostic
AppDynamics
Splunk
Dynatrace
Datadog, etc.
These tools are of great help to test the application, monitor the systems during the duration of the test, analyze, and fix/help fix the underlying issues.
Performance Testing process
Requirement Gathering
Proof of Concept
Test Plan/Approach
Volumetrics
Understanding the workflows under test
Test data creation
Scripts’ creation
Scenario creation
Tests’ execution
Monitoring
Reporting & Analysis
Raising defects
Defects’ fixing and re-testing
Summary Report
Performance Testing with DevOps culture & Cloud Implementation
As the technology is emerging, new ways are coming up. With the emergence and adoption of DevOps in almost every software area, the speed of development has increased many folds and hence asking for much more testing every day. Applications are very swiftly moving from on-premise systems to cloud platforms. There are frequent changes to the existing requirements while new requirements are also being added at the same pace. Much more testing is being carried out and changes are being done much easily. With applications on cloud, it is easier to modify the configurations, optimize the required hardware and software, and very quick to scale-in and scale-out the infra as needed.
Summary
Emergence of new technology requires much more performance testing be done to provide more confidence to the Operations’ teams before they actually deploy a new application, a new requirement, a new change or a new update in production. Performance testing also helps to understand the optimal hardware and software requirements based on the application’s needs.
About Author
I have been a performance tester working on various domains like Banking, insurance, manufacturing, and telecom. I have had exposure to various tools in various roles throughout my career. I am a tech enthusiast who loves doing performance testing besides learning new things and taking up different responsibilities.