Performance Testing – Workload Model

In this modern era, we are living in a space where almost everything is found over World Wide Web. Only perquisite you need is to have proper internet connection at home and it feels like you have the whole world in your hands 😛 .If you search for any information over the web, you end up with countless providers who are just few clicks away from you. This growing competition also demands better customer services to get the competitive edge. Main purpose of web applications is to facilitate the users in getting their desired information in a quick and efficient manner.

Thus a web applications performance is the most important parameter to attract and retain maximum users. So now we know that “performance” is the key to any web application, how do we measure an applications performance? how to plan a proper and efficient approach? The answer is “performance testing” with a well planned “Workload Model  is designed  to validate whether they are meeting users expectations or not and also to reduce the identified performance bottlenecks.

What is Workload Model?

Distribution of load across all the identified scenarios of AUT(Application Under Test) is called the Workload. A workload model is designed to identify key test scenarios and load distribution across these scenarios. Performance test results can never be reliable unless its workload model is designed accurately. Identification of key test scenarios and load distribution across these scenarios is one of the major parts of a performance test plan which lies under the workload modeling. In performance workload modeling phase, a complete understanding of AUT is developed for multiple purposes such as to identify its test objectives, to figure out all its users’ types and their activities, to identify application key business scenarios along with their navigation paths and eventually to analyze and evaluate the load distribution across all identified scenarios and their navigation paths.

Continue reading Performance Testing – Workload Model

Advertisements

JMeter Complete Element Reference – Part II

In this article, we will discuss about  the next set of elements i.e Samplers, importance  of samplers, types of samplers  and their uasge  in our test. If you have missed the first part, click here

Samplers

Samplers perform the actual work of JMeter. Each sampler (except Test Action) generates one or more sample results. The sample results have various attributes (success/fail, elapsed time, data size etc) and can be viewed in the various listeners(will get to know in future posts 😛 ).

As we all know that Apache JMeter has ability to load and performance test many different server/protocol types such as HTTP, FTP, SOAP, LDAP, JDBC etc and we aslo know that Thread Group forms the base for simulating requests to the server.  Now we have problem here, how does a thread group knows which user request to make ? more over user request can be FTP request or HTTP request or SOAP request. The answer is quite simple Samplers, using samplers we can define what kind of request has to be simulated using JMeter.  Apache JMeter supports various types of samplers, lets go through each sampler in detail :

Continue reading JMeter Complete Element Reference – Part II

JMeter Complete Element Reference – Part I

In the previous article, we have learned about recording a test script using JMeter HTTP proxy server. So, lets dive deep into numerous elements which can be used for building exceptional test scripts using multiple protocols and many more.

JMeter Element Reference

Apache JMeter has wide variety of elements which are defined for a specific purpose. Since JMeter is pure java desktop application and provides a feasible way  of additional custom packages or plugins available on the net  which are used for multiple purposes such as resource monitoring, running selenium scripts and many more. Below are the configuration elements which Apache JMeter supports.

elements

In this article, we will discuss about “Threads(Users)”.  Studying all the elements at one go is an invitation to confusion and boredom.

Continue reading JMeter Complete Element Reference – Part I

Recording Traffic using Apache JMeter HTTP Proxy Server

In the last article, we discussed about hands on with Apache JMeter.  Now most of the testers might be thinking about what’s next after installation, understanding the tool and how about recording a test script using JMeter.

In today’s article we will see how to record your first JMeter Test script  using JMeter HTTP Proxy Server, How to do Firefox browser settings for recording JMeter first test plan, How to do JMeter load testing tool settings for recording your first test plan.

Recording using Apache JMeter HTTP(s) Proxy Server


The HTTP(S) Proxy Server allows JMeter to intercept and record your actions while you browse your web application with your normal browser. JMeter will create test sample objects and store them directly into your test plan.

Continue reading Recording Traffic using Apache JMeter HTTP Proxy Server

Hands on with Apache JMeter GUI

In the last article, i have explained about introduction to Apache JMeter, how to install, how add custom plugins and more. So lets look little deep into this amazing open source tool in this article.

After launching Apache JMeter the two elements which draws our attention are

  • Test Plan
  • Workbench

jmeter-test-plan

Continue reading Hands on with Apache JMeter GUI

Introduction to Apache JMeter

Apache JMeter

Apache JMeter is open source desktop application purely built on java designed to do load test functional behavior of an application and measure performance. It may be used to load test both static and dynamic resources such as static files, Java Servlets, CGI scripts, Java objects, databases, FTP servers, and more. JMeter can be used to simulate a heavy load on a server, network or object to test its strength or to analyze overall performance under different load types.

Additionally, JMeter can help you regression test your application by letting you create test scripts with assertions to validate that your application is returning the results you expect. For maximum flexibility, JMeter lets you create these assertions using regular expressions.

JMeter is not a “Browser”

JMeter is not a browser. As far as web-services and remote services are concerned, JMeter looks like a browser (or rather, multiple browsers); however JMeter does not perform all the actions supported by browsers. In particular, JMeter does not execute the JavaScript found in HTML pages. Nor does it render the HTML pages as a browser does (it’s possible to view the response as HTML etc, but the timings are not included in any samples, and only one sample in one thread is ever viewed at a time).

Continue reading Introduction to Apache JMeter

Hypertext Transfer Protocol

What is an Internet Protocol?


An Internet protocol is a standard defined for addressing hosts and for routing datagram’s or packets between source host to destination host across one or more networks such as LAN, Internet and Intranet etc. Each protocol has its own rules such as to connect to hosts, how data is formatted, how the data is compressed during routing, how to check for errors in data etc. Many protocols are available in the World Wide Web. But most widely used protocols are few such as HTTP/HTTPS, FTP, TCP/IP, UDP, SMTP etc.

 Hypertext Transfer Protocol


  • Hypertext transfer protocol is an application layer protocol used for communicating between distributed systems.
  • HTTP protocol is built on top of TCP/IP communication protocol which is used to route “resources” on to World Wide Web. A resource is some chunk of information that can be identified by a URL (it’s the R in URL). The most common kind of resource is a file, but a resource may also be a dynamically-generated query result, the output of a CGI script, a document that is available in several languages, or something else.
  • HTTP protocol is a generic and stateless protocol.

Continue reading Hypertext Transfer Protocol

Introduction to Performance Testing

As you can witness the rapid growth in IT industry, the software application development has become pinnacle of our daily usage. Every year thousands of software’s are being developed and are creating a buzz in the industry. Not all software’s can reach user expectations, they may lack many aspects such interface, look n feel, user friendly and “Performance“. Well performance is surely is an important and crucial aspect which should not be ignored . Performance testing is necessary before marketing any software product. It ensures customer satisfaction & protects investor’s investment against product failure. Costs of performance testing are usually more than made up for with improved customer satisfaction, loyalty and retention.. Lets get familiar with performance testing  and what is the impact of performance testing on a software.

What is Performance Testing ?

Performance Testing is a discipline concerned with detecting and reporting the current behavior of the software system. Performance testing is a technical investigation done to determine or validate the responsiveness, speed, scalability, and/or stability characteristics of the product under test.

Why Performance Testing ?

Performance testing is done to tune an application without any performance glitches such as speed, stability and scalability. Most importantly, performance testing uncovers what needs to be improved before the product goes to live. Without rigorous performance testing, software is likely to suffer from issues such as: running slow while several users use it simultaneously, inconsistencies across different operating systems and poor usability. Performance testing will determine whether or not a software meets industry set standards such as responsive, speed, scalability and stability requirements under expected workloads. Software with improper performance testing will fail to meet the standards which results in a bad reputation and has a direct impact on the sales of the application. So it is recommended that a software should under go rigorous and planned performance testing to avoid performance bottlenecks.

Continue reading Introduction to Performance Testing