Are you asking these questions while running Performance tests for your software application?
Thu Feb 24 2022
Performance testing, a non-functional testing technique performed to determine the system parameters in terms of responsiveness and stability under various workload. Performance testing measures the quality attributes of the system, such as scalability, reliability, and resource usage. In laymen terms, performance tests ensures an application meets the service levels expected in production, as well as deliver a positive user experience. As application performance is a key determinant of adoption, success, and productivity.
The main objectives of performance testing are:
Do all these points sound like the same? Indeed, yes! the same old wine that you’re very much aware of. So what are the questions that have altered the landscape of performance testing? before we dig deeper about the dynamics that altered performance testing let’s understand the landscape of modern software application or service.
We’re living in an era where almost everything has been provided as a service (like SaaS, PaaS, DBaaS, DaaS, FaaS and a few more adding into the list occasionally). At this juncture let’s thank the advent raise of technologies making modern software applications more robust and distributed across various geometrics in architectures (like microservices, nano-services, server-less).
A decade ago most of the software applications was hosted or deployed in a couple of private data centers and most of the time one data center will be serving the active production traffic and the other staying almost idle just because these firms need to have a fallback if the primary data center goes down, but today most of the applications are deployed in cloud with multiple regions active at the same time serving requests to end users and scales up and down on its own based on the load that the application is receiving.
In fact, cloud technologies also added another dimension to deployment for software engineers, which is none other than the machine type/instance type, most of the public cloud vendors have tweaked their machine offerings in categories like general purpose, Compute optimized, Memory optimized, accelerated computing, Storage optimized and few more, each of these categories in turn have a plethora of options which at times result in paradox of choice.
Rewinding back to application deployments, today most of the companies have moved away from the waterfall model and adopted agile delivery of software applications.
With CI/CD in place, a few companies like Meta (Facebook) have deployments designed in efficiently in a way, that any feature deployment push can be triggered or initiated at any point in day without or with restrictions like deployments targets users from certain geography, user group (like beta users), country specific and so on.
It’s not just the technologies, that are making things complex! Sometimes, regulations related to data protection also has impact to modern software applications to certain extent! These regulations mandates firms to store the data within certain geography locations, some regulations allow firms to process the data outside but stored only in certain vicinity. When there is a liberty firms choose to go with limited number of zones / regions as much as possible to have a hold on the cost.
Last but not the least that I wanted to highlight about modern software application is the data intense and dependency on data pipelines as enterprise firm have understood that data is new oil in although data and data pipeline is not new to industry (AT&T long-distance have used their call volumes couple of decades back to identify their prospective business customers who are not part of their network), these data pipelines were sidekick projects/applications but today, these pipelines are very much integral part of applications. For example, product suggestion in Amazon or song suggestion in Spotify is very much dynamic and they’re refreshed every now and then with the help of these data pipeline.
Dynamics of software applications development and deployments have changed, and does it had an impact on performance testing? The core dynamics remains intact, but the following questions have altered the equations while running performance tests:
The above are subset of questions that we ask while doing performance testing. If you’re planning to run performance tests for your application do write to us.
We would love to hear from you! Reach us @
info@techconative.com