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:
After recording the transaction, click on Edit button
under HTTP
parameters.
In the HTTP parameters window, click on the login url
from the
left side.
The screen will show the username and the password
which was
typed during recording the application.
Click on the down arrow button present towards the
right of
username or password value.
Select the datsource, you can choose either dataset or
CSV file.
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:
Click on the Regression tab and click on the 'Add
Schedule'
link.
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:
Create a new load test.
Create a new transaction by clicking on the 'New
Transaction'
link.
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.