AdventNet Inc - Excellence Matters
Store  |  Reseller  |  Toll Free US: +1 888 720 9500 | Intl: +1 925 924 9500
  • AdventNet Home
  • OEMs and Developers
  • Enterprise Management and Security
  • Software Testing
  • Database Search and Migration
  • Support and Services
Home > Products > QEngine > Technical FAQ

Technical FAQ - Web Performance Testing


Technical FAQ (Web Functional) Technical FAQ (Web Performace) General FAQ


General :

1. With which web / application servers is QEngine compatible?

QEngine supports all web /application servers for load testing. QEngine can test any HTTP/HTTPS applications like ASP, ASP .Net, J2EE, PHP, cgi, etc.,

2. Does QEngine support AJAX request?

QEngine does supports AJAX application completely. It will record and play both get and post AJAX requests with XML params also.

3. Does QEngine support embedded ActiveX components?

If the ActiveX component sends any HTTP request then QEngine will able to record and play the same. If it involves with any client side manipulation with the params then you can use our parameterization technique to achieve the same.

4.Does QEngine support to validate the functionality of the webpages during load test ?

QEngine does not support to validate the functionality of the pages during load testing. Use QEngine Web Functionality Testing capabilities for testing functionality of the webpage.

5.How to reuse a recorded transaction in more than one load test?

To reuse the recorded transaction in more than one load test follow the steps below:

    • Click on the 'Import link' under the transaction and select the transaction to be reused and give name to import.

    • In the opened 'Add Transaction' window, select the import tab and you can import and reuse the transaction from different load test.

6. How to stop the load test execution abruptly in the middle?

Stop the load test execution by either clicking on the Stop Play button from the toolbar or by clicking on the stop button at the bottom of the Play Status screen.


Parameterization :

1. How does QEngine manage cookies?

QEngine Web Performance tool will automatically handle the cookies received from the servers. For client side (script generated) cookies, you can configure of your own,depending on your application using the parameterization.

2. Does QEngine support URL rewriting?

QEngine does supports URL rewriting. You can parameterize any part of your URL to handle the dynamic value or session value automatically for each virtual user by QEngine.

3. Does QEngine support HTTPS/SSL in load test?

QEngine does supports HTTPS/SSL both directly as well as through proxy/firewall. If the application server is present behind the proxy/firewall then you need to configure the proxy/firewall details under respective suite ‘settings’.

4. How to parameterize the parameters if I need them to be unique for each virtual users like username

You can do this by following the steps below:

5. How to configure the QEngine to fetch the data from the database table to use it in the parameters value?

Go to the parameters screen by clicking on the edit link present below the HTTP parameters for the corresponding transaction to be parameterized.

    • In the HTTP parameters screen under the parameters tab, select the URL that has the login name and password.

    • Click the list button in the Fetch Data from column. This will display a dropdown list with the various options to parameterize such as Dataset, Cookie, Text,Element,URL, Constant and Variable.

    • From the dropdown list, choose the option as Dataset to fetch the values from a database.

    • This will open the view data configuration screen. Here, select the datasource type as database.

    • Configure the database URL, username, password, table name and column name.

    • Apply the settings. While running the test, the different values from database will fetchedand used in the application.

6. How to parameterize the parameters as each should have unique value ?

To parameterize the parameters as unique but also random by following the steps below:

    • Go to the Settings (Settings-->Load Test Settings) and select the option "Use unique data for each Request" under the Load Test Settings.

    • Go to the HTTP parameters screen and go to the URL of the transaction that needs to be parameterized.

    • Click on the list button in the "Fetch Data From" column. This will display a dropdown list with various options. Select the random data option.

    • This will open the data configuration screen, select the random data type and provide the details like count, length, etc. Save these details.

    • Click on Apply button.

7.How to parameterize the parameters with the value extracted from previous URL request ?

Some parameters sent in the previous URL request may have to be repeated for the forthcoming request as well. To parameterize the parameters from the previous URL request configure following the steps below:

    • Go to the parameters screen by clicking on the edit link present below the HTTP parameters for the corresponsding transaction to be parameterized.

    • Click on the URL Rewriting tab. Select the URL from which the response has to be used.

    • Select a portion of the URL which contains the session identifier. Click the list button in the Fetch Data from column.

    • From the dropdown list, choose the option as URL to fetch the values from a previous URL request. This will display the URL Information screen.

    • Provide the prefix and suffix of the value that needs to be substituted and save the details.

8. How to copy the configuration done for a parameter to be applicable for similar parameters in the transaction ?

To copy the configuratin done for a parameter to all other URL , check the checkbox "Apply to All the URLs" present in the HTTP Parameters screen and click on "Apply" button to save the configuration.

9.How to retrieve a value from the page response and use it in the successive URL ?

To retrieve and use the value from response page follow the below steps :

    • Go to the Parameterize screen by clicking on the edit link present below the HTTP parameters for the corresponsding transaction to be parameterized.

    • From the left side panel of the 'Parameterize' screen, select the URL to be parameterized.

    • Click any of the required tabs such as Parameters, Cookies or Mime which contains the value to be parameterized.

    • From the row which contains the value to be parameterized, choose the list component from the Parameterize column.

    • From the dropdown list, choose the option as "Response Content" to retrieve the data from previous response.

    • In the Response Text Parameterizing screen, enter the prefix text in the Prefix field and the suffix text in the Suffix field.

    • Save the configuration. During load testing, above configuration will retrieve the value from the response content and use it in the successive URL.

10. How to configure the QEngine such that to retrieve a value from the page response and use it in the successive URL's as parameter value ?

To configure this in QEngine follow the below steps:

    • Click the 'Edit' link under 'Http Parameters' adjacent to the recorded transaction in the load test screen. The Parameterize screen opens up.

    • From the left side panel of the Parameterize screen, select the URL to be parameterized.

    • Choose Store Variables tab from Parameterize screen. In this screen, enter the variable name as "testvariable" in the Name column.

    • To fill the Value column, choose the list component from the Parameterize column which lists the following options (TAG name, element keyDataset, Cookie, Text,Element,JavaScript, URL, Constant and Variable)

    • From this list, assume you want to fetch value from a hidden element. Then choose the option as 'Element' from the list component as shown above and configure the element attributevalues.

    • Apply the settings before running the test.

11. How to repeat a particular URL for 5 times during the load test?

To configure this in QEngine follow the below steps:

    • After recording the transaction, click on the 'Edit' link under HTTP Parameters for the corresponding transaction which contains the URL to be repeated.

    • Now in the newly opened window, select the particular URL that needs to be repeated.

    • Select the "Looping" tab from the right side pane.

    • Provide the number of times in the "Maximum Number of Repetition" field at the bottom of the screen. Also, provide the repeat delay.

    • Save the Settings.

12. How dynamic client side cookies can be handled in QEngine ?

If your application uses dynamic client side cookies, you can handle them by following the steps below:

    • Click on the 'Edit' button below the http parameters link for the corresponding transaction.

    • In the HTTP parameters screen, go to the cookies tab for the corresponding URL.

    • You can fetch the client side cookies stored in a database or a CSV file.


Load Configuration :

1. How many Virtual Users QEngine can generate?

It depends on the hardware factors of the system that generates load, the application under test and ‘think time’ you are using during load test. System with 1GB RAM and 1Ghz CPU can easily generate 500 virtual users.

2. How to split the number of virtual users between the transactions (Scenario) grouped under single load test ?

You can split the number of virtual users between the transactions(scenarios) by selecting the load percentage under the transaction name.

  Example:
       If you have two transactions, split the load as 50% for each such that if you run the test with 100 virtual users, each transaction will be executed with 50 virtual users.

3. How to load test my web application with rampup (step-by-step increasing) load?

While configuring the load test, select the ramp up mode for load type and provide the details for 'Start with Users', 'increment details' and the limit. During playback for every interval configured number of users will be added to the playback, so that, the rampup load will be achieved.

4. How can I configure the load test such that 50 virtual users repeatedly access my web application for 100 times?

In the load configuration, select the normal mode, provide the number of users as 50, number of times as 100 and run the test.

5. Can I use more than one machine to generate load?

Yes, QEngine Distributed Playback option allow you to generate load to the application from more than one machine. Normally using QEngine, from a single machine you can generate about 250 virtual user load. If the virtual user count is more then using distribute playback you can generate needed loaded from different machines.

In the distributed playback, QEngine installation machine will act as controller and it should posses the license for the number of virtual users configured. QEngine Agent is any machine which is installed with QEngine which does not require any license to be installed with it.

Follow the below to setup QEngine Agent :

    • Install QEngine in the system.

    • Invoke the "StartDistributedAgent.bat / sh" file to start the agent.

    • In the QEngine Server machine where you have the load details configured, under Settings configure "Use Ditributed Playback".

    • Configure the "Agent Details" using "Add Agent Details" button.

    • Configure thershold number of virtual users for each agent configured.

QEngine will take care of distributing the virtual user to agent based on the thershold configured in the agent settings.

Now, when load test is started the load will be given from the configured distributed agent.

6. How to distribute the virtual user load across three machines to achieve my 700 users load?

You can distribute the virtual user load across three machines to achieve your 700 users load by following the steps below:

    • Click on Distributed Playback in the Settings screen.

    • Select "Use Distributed Playback" and click on Add Agent Details.

    • In the agent configuration screen, provide the details of Agent ip address, RMI port and maximum users and apply the settings.

    • In your case, you can split the load as 300, 200, 200 respectively.

    • Run the QEngine Agent in all the three machines which are configured for distributed playback.

    • Now playback the load test against the server.

  Note:

       Normally in a Pentium IV machine with 2.8 Ghz and more than 1 GB RAM machine,you can simulate upto 500 virtual users.

7.How to schedule a particular load test to run?

You can schedule a particular load test to run by following the steps below:


Server and Database Monitoring :

1. How the server memory and CPU usage of the application server can be monitored during load test playback ?

You can monitor the server performance metrics such as memory and CPU usage during the load test by following the steps below:

2. How can I monitor my database performance during load test?

You can monitor the database performance during the load test by following the steps below:

    • Click on the database monitoring link present under the load details.

    • From the Database monitors window, click New DB monitor.

    • Provide the details of Monitor Name , Monitor Name ,Database and Connection URL.

    • Save the details.

3. Can QEngine Web Performance test tool be integrated with AdventNet Application Manager to monitor URLs?

Yes, QEngine Web Performance test tool can be integrated with AdventNet ApplicationManager to monitor OS, Databases, and Web Servers.
By default QEngine supports Windows and Linux Monitoring. And in databases it supports Oracle, MySQL and MSSQL Monitoring.
By integrating these two applications you can monitor any Databases, OS and any Web Servers and Applications like IIS, BEA WebLogic,IBM WebSphere, Jboss, Tomcat,Apache etc., You can also get the report in code level, i.e., which method takes more time to execute under load test, and which query takes more time to execute under load test etc.,


Settings :

1. How to customize the load test such that it won't download the images during load test?

You can customize by following the steps below:

    • Go to Settings through the "Settings" link present in the Suite tree.

    • Click on load test settings, and uncheck the options Include Image, Script, Stylesheet in Page Download.

    • Apply the settings and run the test.

2. How to simulate the load test for different modem speeds?

You can simulate the load test for different modem speeds by following the steps below:

    • Click on modem simulation link under the load details.

    • Select the modem speed listed on the drop-down menu and click the Save button.

3. How can I configure such that QEngine can email the report after the load test run?

You can configure this by following the steps below:

    • Go to Settings through the "Settings" link present in the Suite tree.

    • Click on E-mail notification, select e-mail notification and provide the e-mail address.

    • Configure the mail server details by clicking on Mail Server details link(mail server name and mail server port number) and save the details.

4. How to view the pages received from the server for each virtual users ?

The response page received for each virtual user can be viewed at "Saved Response" link in the report. To view the "Saved Response", the option to "Save Response" should be enabled under Suite Settings. Follow the below steps to configure response saving :

    • Go to Settings through the "Settings" link present in the Suite tree.

    • Choose the "Load Test Settings" and select the option "Save Response".

    • Apply the settings and start the loadtest.

5.How to customize the report generation such that to generate the needed reports only?

Web Performance report generation is based on the report templates. By default the report template includes all the report provided by the QEngine. The user can create new report template to customize QEngine to generate the required graphs only. To customize the report generation follow the below steps to configure the report template:

    • Go to Settings through the "Settings" link present in the Suite tree.

    • Click on "Report Customization".

    • Click on the new button near the report template combo box.

    • In the report to be generated window, select the reports which you would like to receive at the end of the test.

    • Save the selected reports as a template.

    • Select the newly created template in the settings page and apply the settings.

6.How to do load testing for the application exist behind a proxy / firewall ?

To do load testing for the application exist behind the proxy / firewall, you should configure the proxy / firewall settings and configure the connection type to the server as "use proxy".

To configure the above settings follow the steps give below :

    • Go to Settings through the "Settings" link present in the Suite tree.

    • Click on the "Proxy / Firewall Settings" tab.

    • Choose "Use Proxy" option for the connection type to server.

    • Configure the Proxy Host , Proxy Port ,username and password for HTTP and HTTPS proxy.

    • Apply the settings and start the load testing.

7. How to reuse the load test created for one server against a different server ?

To reuse the load test created for one server against a different server configure as below in the settings :

    • Go to Settings through the "Settings" link present in the Suite tree.

    • Click on the "Load Test Settings" tab.

    • Check the option "Test application on alternate host" and provide the host and the port details of the alternate server.

    • Apply the testing and execute the load test.

8. How to configure the QEngine to wait for think time between each URLs during load test?

To configure the QEngine to wait for think time do the following configuration under settings :

    • Go to Settings through the "Settings" link present in the Suite tree.

    • Click on the "Load Test Settings" tab.

    • Choose the option "Use think time" to wait for the think time between URL's during load test.

    • Apply the Settings and execute the load test.

9. How to configure user authentication details to access the application server ?

By default QEngine support Basic, Digest and NTLM authentications. The authentication details such as username and password can be configured in the settings as shown below:

    • Go to Settings through the "Settings" link present in the Suite tree.

    • Click on the "Authentication Settings" tab.

    • Provide the username and password used for authentication. In case of NTLM authentication, provide Client Host Name, Network Domain,Authentication Class details.

    • o Apply the Settings and execute the load test.

10. How to simulate the load test for the application which requires unique IP for the users ?

To simulate the load testing with unique IP for each virtual users do the following configuration :

    • Go to Settings through the "Settings" link present in the Suite tree.

    • Select the option "Unique IP for each virtual user"

    • Apply the settings.


    Create virtual ip in the system following the below steps :
    • To create the Virtual ip address, execute the script CreateVIP.bat present under the <QEngine Home>/bin directory.

    • Provide the starting ip address and the number of ip addresses you would like to create.

      For example :
        If you want to create 100 ip addresses, execute the CreateVIP.bat file with 100 as argument.

      Syntax:
        CreateVIP.bat <Starting IP Address> <No. of IP Addresses to be created>

      Example:
        CreateVIP.bat 192.168.1.1 100

    Now start the test, so that QEngine will take different IP for all the virtual users configured.

Note: route add the virtual ip created above to the server inorder to receive the response for the request. If the virtual ip are not route added then the server will reject the request made from the server.

11.Does QEngine support NTLM authentication to access the server ?

QEngine does support NTLM authentication to access the application server. In addition QEngine also support Basic and Digest authentication.


Response Validation :

1. Does QEngine support validation of the response content received during load test ?

QEngine does support validation of the response content received to verify whether it received proper response from the server. It will validate the presence of configured text, prefix and suffix string in the reponse received.

   In addition QEngine can also validate the response code, response page title and presence of a HTML element in the response content.

2.How to stop a particular virtual user If the page response does not meet certain condition ?


To stop particular virtual user during load test configure as below:

    • After recording the transaction, click the 'Edit' link under the "HTTP Parameters" for the corresponding transaction which contains the URL to be repeated.

    • Select the particular URL to add validation criteria and select "Validation" tab from the right side pane.

    • Click on "Add New Validation" to add a response validation.

    • Choose the criteria "Stop the user" if the criteria fails option.

    • Save the configuration for the URL.


    During play if the response validation for the configure URL fails, then the particular virtual user will be removed from the load test playback.

3. How to validate the pages received from the server during load test?

To validate the response page configure "Response validation" for the particular URL whose response need to be validated.

Configure the response validation as detailed below:

    • Click the "Edit" link under HTTP Parameters column in the right panel of the load test screen.

    • Select the url for which validation has to be added from the tree listing the URL.

    • Click the Validation tab from the right panel of the Parameterize screen.

    • Click the Add New Validation link. Select the appropriate validation name from the options listed and specify its expected value as given in Specifying Validation.

    • Select the Criteria for Success option from All or Any. If you select 'Any' the Criteria will be success any of the configured validation is success. If you select 'All' the criteria will be success only when all the configured validation is success.

    • Specify the option to follow if the criteria fails. Choose either 'Continue' or 'Stop the user' option.

    • Click Save button to complete the configuration or click the Save & Move to Next URL button to configure validation for the next url in the transaction. The validations configured will be listed on the right panel of the Validation Tab.

    • To edit an existing validation, click the 'Edit' icon adjacent to the validation listed on the right panel of the Validation screen. After making the necessary changes, click Save button to complete the configuration.

    • To delete a validation, click the 'Delete' icon adjacent to the Edit icon from the right panel of the Validation/Looping screen.


Playback :

1.What does "Connection Error" shown in the reports means ?

During load test playback, if the recorded application is not reachable from the QEngine installed machine, it will be reported under "Connection Error" in the reports.

    To resolve this,
    • Check whether your application runs on the recorded host and port correctly and if not do the required modifications.

    • Check if the application runs behind the proxy / firewall, then configure the same in the ‘Settings’ of the respective suite.

2. What does "Parameterization Error" shown in the reports means ?

During load test playback, if the parameterization configured for any of the parameter fails to substitute proper value, then it will be reported under "Parameterization Error" in reports.

    To resolve this,
    • Check whether the parameters are properly configured.

3. What does 401 / 407 error code means ?

If the application under test requires authentication for access, every first request made by the virtual user to the application server will responded with 401 response code. Based on this response QEngine will authenticate itself and proceed with the further load test playback. Authentication details can be configured under Suite Settings.

     Similarly if the application runs behind a firewall / proxy, then to access the application the request needs to be sent through proxy. Here Proxy Authentication needs to be done inorder to access the application. Hence for every first request by the virtual user will receive 407 response code to authenticate themselves to access behind proxy server. Proxy authentication details needs to be configured under Suite Settings.

     Hence 401 and 407 response codes are harmless and it is sent by the application or firewall for authenticating the virtual user.

4. Why do some requests return a 404 error?

Normally browser will neglect the 404 errors for the image, css, and js request and these errors may not be visible for the user in the browser.Because css and js are not visible object in the page and image may be overwritten with alt text. But in QEngine during load test it will be reported as 404 error.To solve this, check the corresponding URL with your application whether the file is missing and do the corresponding changes.

5. How to load test a login transaction(scenario) of my web application in QEngine Web Performance test tool?

You can load test a login transaction of the web application in QEngine web performance by following the steps below:

6.How to load test my web application with more than one transaction (scenario) simultaneously?

You can load test the web application with more than one transaction simultaneously by following the steps below:

    • Create a new load test.

    • Create a new transaction for the load test and record a scenario in that transaction.

    • Create another transaction, record the next scenario and split the load percentage between the two transactions.

    • Run the test after configuring the load details.


Report Related:

1. How to export a graph shown in the report as an image?

Since QEngine graphs are image graphs, you can right click on it and save as an image in your system.

2. How to print a graph shown in the report?

QEngine shows print button in each and every report page. You can use that option to print the graph page.

3. How to send the generated report through a mail?

Each and every generated report has the “Send As Mail” option, you can use that to send the report to the configured mail id.

4. What to do when reports shows "Request Pending" after load testing ?

The Request Pending in the reports means there is inadequate time configured for the transaction to complete for the configured number of users and configured number of times.

    To resolve the issue increase the test duration / sample duration configured for load test execution or else reduce the number of times configured in the Load Configuration.

    Number of times is nothing but the count for repeating the transaction (from first URL to last URL) within each sample.

    • In Normal mode, there is no sample hence QEngine will try to repeat the selected transaction for the configured ‘number of times’ within the test duration.

    • In BurnIn mode, there is no sample hence QEngine will consider the ‘Number Of Times’ as one of the exit criteria, i.e., QEngine will stop the load test once the transaction are repeated for the configured ‘Number Of Times’.

    • In the all other mode like ‘Ramp Up’ , ‘Ramp Down’ , ‘Mixed Load’ , QEngine will try to repeat the transaction for the configured ‘Number Of Times’ within each and every step to maintain the constant load on your application in that interval.

    • i.e., If you are starting the Ramp Up mode load test with 5 virtual users for the first 2 minutes with number of repetitions as 5, then QEngine will try to repeat all the 5 virtual users until the first 2 minutes.But when the 2 minutes completes if all the users are in the 3rd or 4th repetition then QEngine will move all the users to the next sample after completing the current repetition loop and it wont wait to complete all the 5 repetition. The incomplete repetetions will fall under "Request Pending". You should configure more duration to allow the loop to complete.

5. Why do I get the Response Pending in the generated report?

QEngine report shows ‘Response Pending’ under transaction report if it does not receive any response from the server for the requested URL's.

6. How do I export the raw test results?

By default QEngine will export the raw data for each and every load test in a CSV file format.


 AdventNet, Inc. All rights reserved. Trademarks | Privacy Policy | Site Map | Contact Us | Careers | Tell Us