Websites are prone to traffic overload, but what about internal applications which are not accessible to the public but functions as the backbone of a company’s operations. In many of the scenarios, we want to load test our internal applications from behind our firewall, which are running on a private network and available for internal team members. For example, many service based companies with greater strength of employee count usually use applications, which are only available and accessed within a distinct network and service group. These applications are very critical and their performance impacts the overall employee user experience and work.
Load Testing Internal Applications: Business Challenges
Businesses across the globe are launching internal applications, like banking web apps or employee portals used as a medium to reach employees. These applications running on a private network, behind the firewall, are solving a critical requirement and it needs to be determined whether these intranet applications can support the intended workload of employees.
Before, carrying out a load test for these applications was only really possible with extensive beforehand planning by specialized teams using specific licensing requirements and setting up additional hardware, which was expensive and actually sometimes caused bottlenecks. Counting on a testing process like this is really inadequate and can fail to deliver the holistic test results, which puts the internal web and mobile applications at huge risks. Today, with the advent of the Cloud and other technological advancements, carrying out performance testing is quick and secure, providing accurate results, no matter if your tests are conducted from outside or from inside the firewall.
In this article we will understand step by step guide on how we can run load tests for internal applications over the cloud using LoadView.
Load Testing Internal Applications Using LoadView
Benefits of Using LoadView
- LoadView is one of the only browser-based performance testing tools that is able to automate load testing of REST APIs, web applications, websites, user journeys/scenarios, and internal applications.
- It uses a global network of load injectors, allowing us to quickly and easily determine performance of our websites from around the world.
- As LoadView is Software-as-a-Service (SAAS) provider, we don’t need to spend hefty amounts to get hardware and servers to run load tests or integration with reporting tools.
- Loadview runs the tests and shares the holistic reports, which helps in finding issues and bottlenecks among our system.
LoadView provides multiple options to load test applications based on the test scenario. If we want to test our internal application web page or if there is user interaction with website load test. It provides support to run both tests:
For web pages, we can stress test the specific page using the Web Page load test option within the LoadView platfrom. This will help to hit the specific application URL with concurrent users shared.
Website User Flow
To test out real-time interactions with applications, LoadView provides the Everystep Web Recorder, which records your screen, captures all the actions performed, and turns it into a script, which can be replayed and reused while running load test. For example, if we have an internal banking portal, where the user has to fill a form, the EveryStep Web Recorder will record all the inputs sent to the form fields and will rerun the same steps while performing load tests.
Load Testing Internal Applications: LoadView Performance Test Setup
We will discuss a step-by-step guide on how to carry forward a performance test for an application which is running behind a firewall using LoadView. LoadView provides an option to run load injectors from specific IPs, which would need to be whitelisted for the internal applications, once we have Load Injectors IPs whitelisted we can run performance tests with desired concurrent users.
- Open LoadView testing homepage. We may need to select Create New to create a new load test.
- We will see multiple types of tests available via LoadView, like web applications, web page, streaming media, and APIs. For our web page application, select the Web Page option to begin the setup process for our load test.
- A new window will pop up where we need to add our internal website host name, browser, and also the time duration we need the load test to run. Once entered we need to click the Create Device button.
- Once we have successfully created a device, we would see the Test Scenario screen, where we can set load type, which will differ based on the goals of our test.
- Load Based Curve. This is to execute load tests with a known number of users and raise traffic after set warm up time.
- Goal Based Curve. This test setup is used when we are looking for desired transactions per second and want to scale to the desired rate slowly.
- Dynamic based Curve. This test give you the ability to change the user load, in real-time, during the test. You can choose dynamic values in number of users, maximum users, and test duration.
- On the Test Scenario screen, LoadView will start validating whether it is able to access the internal hostname, as we have entered our internal application it will fail. We would need LoadView load injectors Static IPs to be whitelisted. Scroll down to the Load Injector Geo Distribution section, we would need to enable Use Static Proxy option.
- Once the option is activated, Click on Add Zones and select zones we want traffic to be generated.
- Once done, click on Start Test button, on Test Run we would need to figure out the Static IPs from this screen under Agent List section, which needs to be whitelisted so that load generators are able to access the internal application.
- We would need to make sure we whitelist all IPs provided next to a zone name in the table. Also, the Load Injectors IP addresses list are unique for each test run, so we would need to whitelist new IPs every time before running a new test.
- After we have whitelisted the LoadView injectors static IPs, we would be able to generate load and stress test our applications. After the successful completion of a load test run, we can see insights how the system under test behaved like response time graph, number of concurrent users graph, error count sessions, etc. Below are a few examples.
Load Testing Internal Applications: Conclusion
Load testing, which essentially determines whether or not the components of our internal applications can handle a specified processing load, is a process and not an event, and should be carried out whenever big changes are made. Implementing a plan to conduct load testing of our applications from the behind the firewall, with and easy-to-use solution like LoadView, ensures that the system remains functional, robust, and secure for a long time is crucial for the success of any business. Check out all the features LoadView has to offer. For more information about load testing behind the firewall with LoadView, please read our Knowledge Base article.