The goal of software development is to deliver a great user experience. This includes not just the functionality and usability of an application, but also its performance. Mobile applications that load slowly are likely to be deleted. Web pages that take a long time to refresh may be abandoned, leading to lost traffic. Combine functional testing with load testing to confirm that an application’s features work as expected with reliable performance even during peak use. A typical QA process might have the following phases:
- The application passes unit and integration testing,
- Automated functional testing validates that new functions of a website or application work as described in the user stories/BDD scenarios and that no regressions have been introduced.
- The QA team conducts exploratory testing to uncover hidden defects. These tests are performed under a lower load than would be expected in production.
- Finally, a performance test verifies the system’s behavior in simulated usage conditions – varying traffic, multiple users, increased network load, etc.
The drawback of this approach is that the first three phases provide feedback on how an application performs in ideal conditions. It is not until the very end of the testing process that the team discovers how the system works under conditions that simulate real life. In contrast, combined functional and load testing process might have the following steps:
- The application passes unit and integration testing.
- Automated functional testing is performed in combination with load testing to confirm that the application will perform as expected under realistic conditions.
- The QA team conducts exploratory testing to uncover hidden defects. Initially, these tests are performed under a lower load than would be expected in production but are followed by additional exploratory testing with a simulated load. This provides important insights into how end-users will experience the application in production.
This approach to testing enables you to verify key functionality under realistic usage conditions earlier in the testing process when it is easier to identify and resolve them.
Define measurable metrics
Use realistic scenarios
Create realistic tests that simulate the most common workflows. Prioritize your user’s “happy path” or “golden path” scenarios. For more information on prioritizing functional tests, refer to E2E testing best practices in the previous article.
Configure a clean environment
Verify high-risk scenarios first
Ranorex Studio provides a full set of tools to automate functional UI testing for desktop, web, and mobile applications. Within Ranorex Studio, you can simulate transaction loads in several ways:
- Use data-driven testing to generate a volume of data and execute CRUD actions (create, update, and delete) against a database
- Set the number of iterations for a given test action to simulate actions such as queries and page loads
- Test in parallel to generate a load from a variety of devices
For more comprehensive load testing, Ranorex integrates with NeoLoad from Neotys. NeoLoad provides advanced tools for designing and analyzing load tests, including component testing for APIs, web services, and microservices. To provide the most realistic analysis of your application or website’s performance, Neoload supports using physical machines or virtual servers, as well as cloud-based providers in multiple geographical locations. NeoLoad allows you to identify performance bottlenecks with real-time monitoring of an application’s infrastructure. To learn more about the Ranorex integration with NeoLoad, refer to one of the resources below:
Download the NeoLoad plugin for Ranorex.
NeoLoad Integration for Ranorex at GitHub. In addition to the necessary files, this link includes step-by-step instructions to configure and use the NeoLoad plugin for Ranorex
Watch the on-demand webinar
Combining Automated Functional and Load Testing. Learn the benefits of combining automated functional and load tests with Ranorex Studio and NeoLoad
Read the blog article
Ranorex-NeoLoad Webinar – Questions Answered. Get answers to questions asked during the Ranorex-NeoLoad webinar to fully understand how to set up the Ranorex-NeoLoad integration.
This article completes the “10 Best Practices in Test Automation” blog series. The Ranorex team hopes that this series has been informative and helpful to you. For additional articles and screencasts on the topic of test automation, visit the Resources page of the Ranorex website. Or, download our free whitepaper “Strategies for a Successful Test Automation Project.” To learn more about how Ranorex Studio can meet your test automation needs, download a free 30-day trial using the link below. For free assistance in setting up and using Ranorex Studio in your environment, contact our sales team . You can also register to attend one of our live test automation webinars, with sessions for desktop, web, and mobile applications.