COVID -19 outbreak has been acting as a catalyst of Digital transformation across all industries alike. Majority of the population has turned towards digital solutions to perform their daily activities. As a silver lining to the pandemic, industries like online retail, entertainment streaming, education and healthcare platforms have witnessed an unprecedented boom.
In this era, organizations are trying to speed up their learning curve by experimenting and improvising as they tackle new challenges everyday. Virtual meeting applications have become indispensable for all businesses, with the usage increased by a 775%, just in March. No company was prepared for such a big surge, in such a short span. To tackle such challenges, some of the cloud service offerings have even begun to implement quotas and temporary restrictions on users to avoid system crashes.
Traditionally, Performance testing was considered as something that happens in the final stages of product development or even after the product or service has been launched. This way, the Performance engineering process had ample time to experiment different ways to improve product performance before launch. If the system was beginning to slow down because of heavy load, performance engineers tried multiple solutions like redesigning the code through decoupling of components or by using assistive cloud services like content delivery networks and caching systems. But in the current situation of unprecedented surge of users, product development companies do not have the luxury of time to resolve performance issues.
The importance of testing the performance of software is being widely realised now, and many companies have started considering performance engineering in the earlier phases of the product development process. Teams have also come to realize that performance testing when shifted left brings in numerous benefits like in any functional test effort.
Many virtual meeting applications and online entertainment streaming services have witnessed their all time high usage load. The companies have been handling the situation by adapting different innovative approaches. Below are few of the considerations to keep in mind to handle the current situation of unexpected surges.
Keeping it Simple
The 9/11 attack was also a situation that changed the operations of multiple businesses overnight. During this time, major online news organizations faced an unexpected surge, which they handled by moving towards a highly simplified web page. They reduced a lot of graphics in the webpage with an intent to reduce the number of bytes they were transmitting while the webpage is loading.
Some of the major online streaming services are trying to implement the same strategy to avoid crashes. The average size of a webpage, which was close to 1MB in 2011 has gradually increased to about an average of 3MB in 2017, and is further on the rise. This increase in average size of the webpage, also known as ‘Byte creep’ , might pose a real performance problem. The initial steps of action by companies to tackle the issue must be towards cutting the excess fat. Keeping the data to be sent as small as possible is very important. Getting rid of unnecessary artefacts, using minify and zip to compress the data and ensuring that the cache model is well refined and working are some of the ways to keep the data sent to a minimum.
Shifting Performance Engineering to the Left
When the quality assurance process is delayed, the average cost and effort for fixing a defect increases exponentially. Also, with the growing complexity of web pages and web applications, the performance engineering process must be conducted at the early stages of software development , for reducing potential performance issues when the product goes live.
Having Clarity about System Capabilities
It is essential for the Performance engineering teams to have a fair idea about the breaking point of the system and have a proactive plan in place about how to handle a possible system outage. The team should have a complete picture of the network performance, by understanding the bandwidth and latency. Knowing how much impact does each additional user have on the bandwidth, and subsequently how much impact does bandwidth and latency have on system response time are important. Apart from bandwidth, there are multiple other variables that can have a direct impact on the network too.
Correlating Business Requirements with System Performance
Measuring the unit of work performed during each transaction is important to gauge the performance requirements of the system. For example, in an online retail website, a small search can trigger thousands of microtransactions – to locate the item, measure the inventory, offering suggestions or upsell related goods, etc.,
When performance engineers are aware of the system requisites for each business transaction, the network modelling and predictive analytics for system performance can be done more precisely.
Also Read: Why Performance Testing Is A Necessity?_________________________________________________________________________
Having a Long-Term Approach towards Performance Engineering
While testing the software for quality is more important than ever, following traditional methods of testing would not be effective anymore. Automating multiple feedback loops will enable quick turnover and faster testing cycles. Leveraging cutting edge automated testing methods like static and dynamic code analysis would ensure that the testing process does not hold up the release timelines.
The COVID-19 lockdown has increased the reliance on the digital world exponentially. The virus outbreak has changed the operations of all businesses overnight, without much time to prepare. For all the businesses that are experiencing an unexpected surge during the current period of lockdown, a possible system outage could heavily impact the revenue of the organization.