Web Load Testing

A Web application with high response time and poor performance can lead to huge problems. Web Load Testing helps in identifying the performance problems before you deploy your web applications for end users. Web Load Testing helps you design and simulate usage traffic which can be used to test your web application infrastructure for performance, reliability and scalability. Load Testing of web applications involves testing the performance and scalability of your web application with varying user load. Web Load testing involves simulating real-life user load for the target web application. It helps you determine how your web application behaves when multiple users hits it simultaneously.

Following document will help you understand how you can successfully implement Web Load Testing for your Web applications using AppPerfect.

Web Load Testing with AppPerfect

AppPerfect offers Web Load Testing solution in the form of AppPerfect Load Test. AppPerfect Load Test Supports load testing for Web Applications using HTTP/HTTPS protocol.

Creating Test Scripts for Web Load Testing :

  1. Creating new project is an easy one step process. Just start AppPerfect Load Test product and select File -> New.. menu option to create a New Load Testing project. For details on New Project creation refer to Creating a New Project chapter. For details on configuring project properties refer to Setting Project Properties chapter.
  2. Load test script consists of a number of "Action Groups". A Action Group is a logical unit for combining actions inside a test. By default, three Groups are created: Starting Group, Action Group1 and Ending Group. Depending on your desired behavior, you may wish to move initialisation related tasks into the Starting Group (eg. login tasks) and move clean up related tasks into the Ending Group (e.g. logout tasks). All the other tasks related to different features/actions in your application should be kept in different Action groups. The order of execution of test is Starting Group, Action Group(s), Ending Group.
  3. You can now start creating Action Groups for each of the feature you have identified in the current module under test. To create a new Action Group just select Project Node in the Editor tree, and right click and select the option.Add Group... from the popup menu. Provide descriptive name for the group clearly stating what feature this group is going to implement. Select the type of Action Group as HTTP defining the type of application you are trying to load test.

    Web Load Testing : Adding Action Group
  4. This way you can functionally structure your test scripts where each test project will represent one functional module for your application and each Group in the Test Project will represent one test case or feature in the module to test. Properly structuring and designing test scripts early in testing cycle will help maintainenance process easy over longer run. Properly designing and grouping test cases in different groups will help increase re-usability of groups across different test scripts. In case some of the actions are common and are required to be processed in new test scripts, you can just link or import already existing groups instead of re-recording them all over again in new scripts. For details on Linking / Importing Groups refer to Link Projects chapter.

    Web Load Testing : Designing Test Scripts

Easy-to-use Test Recorder helps Automating Tests instantly :

AppPerfect's Web Load Testing tool does not require programming or scripting skills and allows even non-technical and inexperienced testers start automating tests instantly. We provide easy to use Test Recorder which records all the HTTP/HTTPS requests sent from browser to the web server as you browse through your application. All we need from you is to provide us with starting URL to start with and choose a web browser with which you need to record. Test Recorder will take care of launching your application in Web Browser and you are all set to record your test case. Just do the actions you intend to record and Test Recorder will capture all the HTTP/HTTPS requests to your web application.

  1. To start recording test just select the Project -> Record Test... menu option. This will launch the Test Recording dialog. You can select the Web browser you need to record your test with, select the Group in which you need to record and provide the Startign URL for the Group.
  2. Click on Start Recording button and you are ready to record your test. AppPerfect will launch the Web Browser for you with your web application loaded in it. Browse through the steps you intend to record on your application and test recorder will take care of rest. For details on Test Recording refer to Recording a Load Test chapter.

    Web Load Testing : Recording Test Scripts
  3. Once you are done recording, you can browse though the recorded test in Editor view. AppPerfect's Test Recorder takes care of recording all the HTTP/HTTPS requests sent to web server along with all the pages or responses recieved. As internet users are growing the web developers are making the Web UI more intutive. With lots of web technologies available need for a Web Load Testing tool which supports recording for different kind of web technologies is must. AppPerfect's Web Load Testing solution provides support for recording on all commonly used web applications including Flash, Flex, Applets, .Net etc

    Web Load Testing : Test Editor

Cross Browser Testing :

AppPerfect's Load Testing solution can help you test behaviour of your web application on server side when application is accessed from different web browsers. AppPerfect Load Test supports Load testing for Web applications using HTTP protocol and can be configured to simulate the HTTP requests from different web browsers. Web Server identifies each client by way of User-Agent string. When internet users visit a web site, a text string is usually sent in the HTTP header field "User-Agent" to identify the client application. Web applications often include code to detect client version to adjust the page design sent according to the user agent string received. Web application may be designed to work differently for mobile internet user and PC based Web browsers. AppPerfect Load Test supports execution of HTTP requests with different web browser clients.
To configure load test for Cross Browser Compatibility select Project -> Properties... menu option. It will launch the Project Properties wizard. Select the "Cross Browser Testing" step where you can configure to run virtual users with different user-agents. Refer to Cross Browser Testing chapter for more details.

Cross Browser Testing - Configuration

Extensive Validation and Custom Scripting support :

AppPerfect's Web Load Testing tool provide extensive support for validations. Once you are done recording, you can edit your Test cases to perform required Validations. You can add validation for any response page in recorded test.

  1. Select the Validations node in the Project Editor and on right hand side you will find a button to Add Validation.... Click on that and it will launch a wizard to add validation. You can select to add validation for all the tasks in Test or can select any individual task and add validation for that. For details on Test Validations refer to Validations chapter.

    Following kinds of validations are supported in AppPerfect's Web Load Testing solution:
    • Page validation : In case of Page Validation you can validate size of the page, count of elements on the page, links , images, input elements, forms etc. can be validated.
    • Text validation : To find if a particular text or value is present on the page or not you can use this validation.
    • Attribute validation : This type of validation is useful in case you need to validate properties like innerText or value etc. of specific HTML element in page.
    • Date validation : Using this kind of validation you can compare the date value present on page against today's date in different formats.
    • Database Query validation : Here you can validate if the result set returned as a result of query execution is valid or not.

    Web Load Testing : Validations
  2. Custom Validation Support : For any Web Load Testing tool, one of the important criteria is support for customization. Apart from validations explained above, In case you need to perform any custom validation on Web Page you can do so using scripting. AppPerfect stores recorded test as javascript and one can add custom code to the test script to perform any custom web or database validation. We support custom scripting apis, using which you can parse the response and fetch appropriate fields from the response page and validate it against the required value. You can also use scripting apis to fire any database query and perform the required validation by fetching the required data using the result set. Script Editor can be invoked using Project -> Script Editor.. menu option. Please refer to Customizing Test Script chapter for more details.

    Web Load Testing : Script Editor

Extensive support for Parameterization :

AppPerfect's Web Load Testing solution supports extensive support for test parameterization, wherein you can configure virtual users to run same script over and over again with different data set each time. AppPerfect offers extensive parameter-management. Parameter selection and testing with various parameter values is completely automated. Parameters are stored as name-value pairs, making it intuitive for application developers and testers. Then, depending on the number of iterations for your project, multiple parameter values can be tested, with options to select parameters sequentially or randomly. For more details on Test Parameterization refer to Parameters chapter.

  1. Select the Parameters Node in the Editor tree and on right hand side you will find button to add a New Test Parameter for your test. This will launch the Parameterization wizard which will help you creating and associating data source in your test. You can choose data source to be Fixed pool of values, Database, records in CSV file or can derive it from calculated values. AppPerfect also support Dynamic parameters or pass-through parameters where values can be resolved on the fly from the previous responses while executing the test.

    Web Load Testing : Test Parameterization
  2. As last step of Parameter Creation Wizard, you can associate Test Parameter with GET/POST request parameters, Request Headers and Task URI.

    Web Load Testing : Parameter Association

Test Execution with detailed Result Analysis :

Once the test is completely designed you can execute it to Load or stress test your application with different load strategies as per your requirement. AppPerfect generates extensive reports for each virtual user and task. To replay the test select the Project -> Run.. menu option. AppPerfect will start specified virtual users simultaneously based on the selected Load Strategy. and each virtual user will execute the recorded tasks in automated manner. At the end of test execution you can view the detailed results for each of the virtual user and export them to HTML, PDF etc. formats. In case of failure, you can pass on these exported reports to your development team for furthur analysis. For more details on Test Execution Results refer to Understanding Test Results chapter.

Web Load Testing : Results

Conclusion :

Web Load Testing helps you design and simulate usage traffic which can be used to test your web application infrastructure for performance, reliability and scalability. Once a test case is recorded it can be played back multiple times with different data sets. Its possible to validate output with different data inputs using the same test case by parameterizing the user input. Morever tests once recorded can be reused and extended to cover more features and test cases as your application evolves.
AppPerfect's Web Load Testing solution is platform independent. Web Load Tests recorded on one platform can be executed over different operating systems and hardware configuration. AppPerfect Load Test is found to be most affordable, cost effective, efficient, reliable and accurate Web Load Testing solution by its customers. In case you have not yet tried AppPerfect Load Test, Download Now and give it a try today.