Thursday 9 May 2013

LoadRunner Architecture Overview .






LoadRunner works by creating virtual users who take the place of real users operating client software, such as Internet Explorer  sending requests using the HTTP protocol to IIS or Apache web servers.

Requests from many virtual user clients are generated by "Load Generators" in order to create a load on various servers under test

These load generator agents are started and stopped by the "Controller" program.
The Controller controls load test runs based on "Scenarios" invoking compiled "Scripts" and associated "Run-time Settings".

Scripts are crafted using the "Virtual user script Generator" (named "V U Gen"), It generates C-language script code to be executed by virtual users by capturing network traffic between Internet application clients and servers.

With Java clients, VuGen captures calls by hooking within the client JVM.
During runs, the status of each machine is monitored by the Controller.

At the end of each run, the Controller combines its monitoring logs with logs obtained from load generators, and makes them available to the "Analysis" program, which can then create run result reports and graphs for Microsoft Word, Crystal Reports, or an HTML webpage browser.
Each HTML report page generated by Analysis includes a link to results in a text file which Microsoft Excel can open to perform additional analysis.

HP LoadRunner


HP LoadRunner is an automated performance and testing product from Hewlett-Packard for examining system behavior and performance, while generating actual load. HP acquired LoadRunner as part of its acquisition of Mercury Interactive in November 2006. HP LoadRunner can simulate hundreds or thousands of concurrent users to put the application through the rigors of real-life user loads, while collecting information from key infrastructure components (Web servers, database servers etc. The results can then be analyzed in detail, to explore the reasons for particular behavior. HP LoadRunner is sold as part of the HP IT Management Software category by the HP Software Division.

Consider the client-side application for an automated teller machine (ATM). Although each client is connected to a server, hundreds of ATMs may be open to the public. During peak times — such as 10 a.m. Monday, the start of the work week — the load may be much higher than normal. In order to test such situations, it is not practical to have a test bed of hundreds of ATMs. So, one can use an ATM simulator and a computer system with HP LoadRunner to simulate a large number of users accessing the server simultaneously. Once activities are defined, they are repeatable. After debugging a problem in the application, managers can check whether the problem persists by reproducing the same situation, with the same type of user interaction.

HP LoadRunner consists of several different tools: Virtual User Generator (VuGen), Controller, Load Generator, and Analysis.
Furthermore, LoadRunner supports a very wide variety of application protocols; this allows LoadRunner to natively support many types of applications, including those based on Web technologies, Flex AMF, Citrix ICA, Remote Desktop Protocol (RDP), ERP/CRM (e.g. SAP, Oracle eBusiness, Siebel and PeopleSoft), Databases, Mail Clients, Web Services, and many more. Recently, AJAX Tru Client was introduced (new with V.11.0), that provides LoadRunner with next-gen web application support.
Licensing is based on a number of variables, including the number of concurrent load test users, the number of controllers, as well as the type of protocols utilized.
Additionally, HP Performance Center is available for larger installations; adding central administration, team management and resource pooling capabilities

Load Balancing Environment.


Application Architecture.


Entry Criteria for Performance testing.


1) Application functionally should be stable, functional testing should be completed.
2) All the performance objectives and parameters are defined.
3) Performance Test environment setup provided is functionally stable, and to the
        simulate Production environment as close as possible 
4) Test User ID’s and other access related authentications are provided in time to the 
        performance Testing team. 
5) Proper privileges are given the User ID’s
6) Performance critical workflows and test scenarios are provided to the Performance 
        test team
7) Load runner components are installed properly in the identified machines.
8) Access to all application and performance critical applications are provided

Stand Alone or Desktop based Application & Objectives.


The application which runs only through a client layer is called desktop based applications, ex: notepad, calculator etc.

Objectives:
1) Response time

Desktop application runs on personal computers and work stations, so when you test the desktop application you are focusing on a specific environment. You will test complete application broadly in categories like GUI, functionality, Load, and backend i.e. DB.

Client Server Based Application Architecture & Objectives.


The client/server model is a computing model that acts as a distributed application which partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. Often clients and servers communicate over a computer network on separate hardware, but both client and server may reside in the same system. A server machine is a host that is running one or more server programs which share their resources with clients. A client does not share any of its resources, but requests a server's content or service function. Clients therefore initiate communication sessions with servers which await incoming requests.


The application which communicates between client and data based server is called client server based application.

Objectives:
1) Response time
2) DB server behavior 
3) Vusers load

In client server application you have two different components to test. Application is loaded on server machine while the application exe on every client machine. You will test broadly in categories like, GUI on both sides, functionality, Load, client-server interaction, backend. This environment is mostly used in Intranet networks. You are aware of number of clients and servers and their locations in the test scenario.