If you have to run Performance Tests for the Web Services of your application here is the load and performance service that will make your life much easier.
Why is that? I imagine you have to create Apache JMeter test scripts (.jmx files) for your web services (REST or SOAP or any other type of services).
Instead of running them from your own machine, you can get the advantage of the cloud and run tests from multiple machines, machines that can be on different regions of the world.
To do this you just need to upload the JMeter test scripts (.jmx files) into LoadFocus.com and select the type and location of the machine. Execute the test and you’re done.
You’ll never lose results, they are all stores in one service for you to inspect at any time. It’s very easy to compare two test runs, and display the results on the same chart for a better UI inspection. Lots of metrics are displayed for each run: response times, latency, throughput, bytes/second, transactions / second and other relevant metrics (Response , Latency, Throughput) for testing the performance of you web services.
During the development of your web application you will encounter the need of finding out the latency times for different regions of the world.
Why should I care about this?
Imagine that a user is able to access your application from Europe in under 100 ms, but doing the same action from Asia it will have to wait 4 seconds for the same URL to receive the response. The user experience for some of the regions could be very badly impacted by this.
This may not be so important for web applications that are meant for a small geographical areas, but for the applications that should be easily accessible from different countries and continents this is quite important.
How can I measure the latency for such use cases ?
The answer is simple, you just have to create a test case that hits the URLs that you want to measure and run them from different regions of the world. It is very simple and easy to do that from with Load Focus – Cloud Load and Performance JMeter testing service. All you need to do is to select the URL and the geographical region of the injector machine from within the service and your ready to go. It’s that easy. To create a Apache JMeter performance test you need to create a JMeter performance test script file.
How can I do that?
Is pretty much quite straight forward if you are using the LoadFocus service. Even if you do not have a cloud provider account we can provide you
free of charge a couple of machines from different regions for running your test with some limitations. So all you have to do is create a General Test (the type of test that can be easily created directly on the LoadFocus web interface) or use one of your existing Apache JMeter tests.
Could I use the same technique for load testing my application?
Yes, for sure you can use the same, the only issue would be that using the free of charge account would not give you more the 2 machines and 3 minutes for running your tests.
Please contact in case you need more.
Could I use this for verifying the analytics features that I have set up on my web application?
The answer is the same, for sure you can as you have the possibility to simulate access from different regions of the world.
Let us know in case you what us to create a small demo for you.
Performance Testing, Load Testing and Stress Testing determine the behavior of the application under different types of usage. If you need to do a performance assessment of a website, web application, API you have to focus on a series of metrics. These are Response Time, Latency, Throughput, Bytes/second, Transactions/second, Hits/second and others.
For a performance test you need to see if the system meets the performance criteria. For example: render a website with 50 concurrent users with Response Times, CPU, Memory and other test metrics under expected limits, or login into the system 10 times per second.
For a load/stress test you need to identify areas in the architecture of your application which don’t function properly, either too slow or not functioning at all. Also it is very important to spot the moments when these happen and try get steps to reproduce the testing scenario.
Every system may have its custom performance testing, load testing and stress testing scenarios. You need to find out the best testing scenarios which suit your application’s architecture.
Load Testing and Stress Testing are often used for doing the same testing scenario, the fact is that these quality assurance terms are quite different and the goals are also different.
For a website, Load Testing would provide data for rendering or doing different actions on the website with a number of concurrent users and still have a good performance. You need to determine what good performance means for your System under Test.
Stress Testing will provide the date when the system under test will start throwing errors and maybe start crashing under a heavy load of actions/concurrent users.
It’s your duty to create the proper testing scenario for Performance Testing, Load Testing and Stress Testing for your System under Test.
LoadFocus.com – Cloud Performance, Load and Stress Testing Service provides the infrastructure and the ability to run all these tests in less than a few minutes, keep history of the results, compare different runs to inspect performance improvements or performance degradation. We also offer the possibility to simulate hits from locations all over the world. Scenarios like doing different actions while system is under heavy load are very easy to execute.
Running your own custom JMeter test script in the cloud has never been easier.
To accomplish this you have to:
- save your .jmx file (Apache JMeter file) to your disk,
- log into https://loadfocus.com and create a new JMeter test
- upload the your JMeter .jmx test file and execute the test
You can also run different JMeter (.jmx) test files at the same time from different injector machines. This will help you simulate different scenarios like: signing up when the website or API is under heavy load.
Hope this information helps, try JMeter Cloud Testing Service for free – Load Focus.
Create automated website tests for free with LoadFocus.com.
Testing the UI (user interface) of web applications has been always a main concern of developers.
It is the first thing that a user/customer notices once something is wrong.
There quite a few solutions on the testing world out there. I will enumerate most of them here and
go in deep with the solution that I have found pretty attractive.
1. The first solution is the well known Selenium WeDriver which is by far the most used solution.
- well known by most of the automation developers
- offers good documentation
- lots of information to be found on the internet
- used successfully by lots of companies
- the main disadvantage is the fact that is pretty slow; running a long suite of tests can take quite some time
- was not intended to be used for performance testing of the page load times
- is not very accessible for developers which are not familiar with Selenium Webdriver
- the web application that have a lot of dynamically embedded JS code are pretty hard to test (in this situation the solution would be to rely on Rhino or something similar but even in that case it is very tricky)
2. The second solution would be to use the now pretty known PhantomJS headless browser combined with CasperJS for
testing your web application.
- runs much faster than the Selenium based solution
- need to learn the API for creating the tests
- the automation engineers need to create an environment which can deploy the applications and start the tests
- is not as out of the box as Selenium
- can also be used for performance testing, but for measuring the page load time the developer cannot rely on the Navigation API as is notsupported by PhantomJS yet; the XHR requests cannot be measured 100% reliable
- not extremely stable
- runs quite fast
- the tests can have a built in user interface for running the tests on a test to test bases for debugging or developing the tests
- the framework must be built from scratch as I did not find anything that does eactly what I wanted
- the transition from one URL to another is pretty tricky as the test has to remember what test was active and which step it was at inside the test
- can be used also for performance testing of the page load time
- the web application will have a specific run mode in which the test framework will be included otherwise it will not be included because of performance issues
- the framework should have a solution for managing the tests which will be implemented as the test manager (will retrieve the tests from different js files and make them accessible for running); also the manager will register the state of a test (active or not) and the step of the test (we need a step fragmentation of the test as in this way we can register the state when a URL transition is made)
- also a transition manager will be needed for managing the transitions between different URLs; this will be built based on the cookies or local storage support
- the framework should also have a UI interface which will be accessible when running the web application in test mode; this will help develop and debug the tests
- implementation steps:
- general structure of the framework files and the test files
- determine the solution for creating specific run modes of your web application
- implementation of the test manager
- implementation of the transition manager
- implementation of the UI for the test framework
- implementation of the performance module
- implementation of very light web application which will retrieve the performance page load time information during the test run (this will be based on XHR beacons sent from the tested application to the light web application that will register the results and will be able to display the results using charts and graphs)
- the implementation details will be posted as the solution evolves so stay tune for the next post in the series.
For every Software Developer or Quality Assurance Engineer interested into testing and debugging mobile HTML5 or native application, we are going to share:
- tools to debug mobile application
- how to inspect elements and CSS styles applied
- how to set breakpoints and how to spot errors easily
- how to find important issues first and how to used iOS Simulator to debug a web app
More details about tools, steps, and ways to debug mobile applications will be present in the book.
Subscribe now for a discount on the QA Cookbook, enter your email below or in the right hand form.
Details of what means a good test plan and how to write a Test Plan for a feature will be available in the Web and Mobile Application Automate Testing Cookbook.
For every interested Quality Assurance Engineer, we are going to share:
- essential points of structuring a test plan
- how to group test cases is test suites
- what is a test case and how to write a proper test case
More details about test plans, test suites, test cases will be present in the book.
Subscribe now for a discount on the QA Cookbook, enter your email below or in the right hand form.