Due to the limited time and short release cycles, the focus of the engineering team has been always to meet the functional requirements, and intentionally or unintentionally ignoring the non-functional requirements. However, non-functional aspects of the requirements are equally important as functional aspects in order to get greater success in the marketplace.
The performance of the product/application is one of the non-functional aspects which is a very critical factor in its success. If your application has poor performance then you will automatically see the increase in bounce rate of your customers. No one has time to wait for your poorly performing application to load.
It is a collaborative effort and ownership of the QA team and development team to build high-performance products and make your end-users happy. We are going to share our QA team experience on a few tips to be considered during the testing cycle which can make a lot of impacts.
QA contribution in performance testing
You can keep an eye on a few points at any stage of your testing life cycle. Below points are very simple and don’t require any technical skills
1. When a web page is loaded, make sure it is only requesting content, images or any other resources from servers that are required on specific pages. There are many open-source tools available in the market which can help you identify resources that are causing performance issues on the page. However, you will need to analyze the report and understand the finding before reporting these issues to the development team.
2. Sometimes, we keep showing an empty page for users with a loader and suddenly present the whole page to user when we receive all resources from the server. But from the end-user point of view, the user is not going to read the whole page in one go. Basic HTML and static content on the page must be rendered immediately so the end-user can feel that something happened on the page. The remaining resources can be loaded as an asynchronous way.
3. In many cases, unwanted or duplicate API calls are made when you perform a transaction. You can monitor all the API calls and check if data from these APIs are needed on the page. If not, we don’t need to make such calls. This will help in page performance and reduce unnecessary load on the server.
4. Check for the caching implementation. Sometimes we miss server-side or client-side caching implementation of certain resources or API calls. Caching can help a lot in improving performance and reducing the number of requests to the server. It is always recommended to discuss this point with the technical team and get their consent as well.
5. Always check for individual resource or API response time. There might be some complex business logic that is causing high response time, but it is worth reporting from the QA point of view. There might be a need for refactoring such resources to improve their performance.
You can apply these basics while testing web applications, mobile app or any other application.
From the QA point of view, it is good to challenge development teams on certain topics, but better to do your homework and capture the facts on your findings. Otherwise, you better know the relationship of QA and a developer.