Charu Babbar 1, Neha Bajpai 2 and Dipti Kapoor Sarmah 3



Similar documents
Web Application Performance Analysis Based on Component Load Testing

Website Performance Analysis Based on Component Load Testing: A Review

Performance Testing. Slow data transfer rate may be inherent in hardware but can also result from software-related problems, such as:

Bringing Value to the Organization with Performance Testing

Application Performance Testing Basics

Test Run Analysis Interpretation (AI) Made Easy with OpenLoad

How To Test For Performance

WHAT WE NEED TO START THE PERFORMANCE TESTING?

IBM RATIONAL PERFORMANCE TESTER

Table of Contents INTRODUCTION Prerequisites... 3 Audience... 3 Report Metrics... 3

How To Test On The Dsms Application

How To Test A Web Server

Performance Testing Process A Whitepaper

SOFTWARE PERFORMANCE TESTING SERVICE

Mike Chyi, Micro Focus Solution Consultant May 12, 2010

How to Plan a Successful Load Testing Programme for today s websites

Comparative Study of Load Testing Tools

Rapid Bottleneck Identification A Better Way to do Load Testing. An Oracle White Paper June 2009

Learning More About Load Testing

Performance Testing Percy Pari Salas

Load Testing on Web Application using Automated Testing Tool: Load Complete

How To Test For Elulla

Recommendations for Performance Benchmarking

Rapid Bottleneck Identification

Performing Load Capacity Test for Web Applications

W21. Performance Testing: Step On It. Nadine Pelicaen. P r e s e n t a t i o n

Case Study - I. Industry: Social Networking Website Technology : J2EE AJAX, Spring, MySQL, Weblogic, Windows Server 2008.

An Oracle White Paper February Rapid Bottleneck Identification - A Better Way to do Load Testing

TESTING AND OPTIMIZING WEB APPLICATION S PERFORMANCE AQA CASE STUDY

Performance Test Report

Levels of Software Testing. Functional Testing

Best Practices for Web Application Load Testing


Load Testing and Monitoring Web Applications in a Windows Environment

How To Model A System

How To Test For Performance And Scalability On A Server With A Multi-Core Computer (For A Large Server)

STeP-IN SUMMIT June 18 21, 2013 at Bangalore, INDIA. Performance Testing of an IAAS Cloud Software (A CloudStack Use Case)

Business Application Services Testing

Performance Tuning Guide for ECM 2.0

Case Study: Load Testing and Tuning to Improve SharePoint Website Performance

How To Test A Web Application For Campaign Management On A Web Browser On A Server Farm (Netherlands) On A Large Computer (Nostradio) On An Offline (Nestor) On The Web (Norton

A closer look at HP LoadRunner software

Web Load Stress Testing

Tuning Tableau Server for High Performance

Tableau Server Scalability Explained

Performance Workload Design

Siebel & Portal Performance Testing and Tuning GCP - IT Performance Practice

Web Performance Testing: Methodologies, Tools and Challenges

Web Application s Performance Testing

2. RELATIONAL WORK. Volume 2, Issue 5, May 2013 Page 67

Application. Performance Testing

Smarter Balanced Assessment Consortium. Recommendation

Performance Testing Tools: A Comparative Analysis

Ensuring Web Service Quality for Service-Oriented Architectures. An Oracle White Paper June 2008

Performance Test Results Report for the Sled player

Copyrighted , Address :- EH1-Infotech, SCF 69, Top Floor, Phase 3B-2, Sector 60, Mohali (Chandigarh),

An Introduction to LoadRunner A Powerful Performance Testing Tool by HP. An Introduction to LoadRunner. A Powerful Performance Testing Tool by HP

Testing & Assuring Mobile End User Experience Before Production. Neotys

Tableau Server 7.0 scalability

Everything you need to know about flash storage performance

SolovatSoft. Load and Performance Test Plan Sample. Title: [include project s release name] Version: Date: SolovatSoft Page 1 of 13

HOW TO EVALUATE AND SELECT TOOL A HIGH-END LOAD TESTING. Marquis Harding Reality Test P R E S E N T A T I O N. Presentation. Bio

Performance Testing. What is performance testing? Why is performance testing necessary? Performance Testing Methodology EPM Performance Testing

NetIQ Access Manager 4.1

Load DynamiX Storage Performance Validation: Fundamental to your Change Management Process

Performance Testing and Evaluation of Web Applications Using WAPT Pro

How To Test A Web Based System

A Middleware Strategy to Survive Compute Peak Loads in Cloud

Load Testing your Banner Systems

Virtual Desktop Infrastructure Optimization with SysTrack Monitoring Tools and Login VSI Testing Tools

Getting Things Done: Practical Web/e-Commerce Application Stress Testing

Performance Analysis of Web based Applications on Single and Multi Core Servers

Copyright 1

Whitepaper Performance Testing and Monitoring of Mobile Applications

LOAD TESTING FOR JQUERY BASED E-COMMERCE WEB APPLICATIONS WITH CLOUD PERFORMANCE TESTING TOOLS

Process of Performance Testing a Banking Application

Dell Desktop Virtualization Solutions Stack with Teradici APEX 2800 server offload card

What Is Specific in Load Testing?

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction

An Oracle White Paper Released Sept 2008

An Oracle White Paper March Load Testing Best Practices for Oracle E- Business Suite using Oracle Application Testing Suite

DELL s Oracle Database Advisor

Application Testing Suite Oracle Load Testing Introduction

2. Research and Development on the Autonomic Operation. Control Infrastructure Technologies in the Cloud Computing Environment

Load Testing Tools. Animesh Das

How to Build a Massively Scalable Next-Generation Firewall

There are a number of factors that increase the risk of performance problems in complex computer and software systems, such as e-commerce systems.

IBM SAP International Competence Center. Load testing SAP ABAP Web Dynpro applications with IBM Rational Performance Tester

Performance And Scalability In Oracle9i And SQL Server 2000

A Talk ForApacheCon Europe 2008

Muse Server Sizing. 18 June Document Version Muse

NETWORK DESIGN BY USING OPNET IT GURU ACADEMIC EDITION SOFTWARE

Transcription:

Computing For Nation Development, March 10 11, 2011 Bharati Vidyapeeth s Institute of Computer Applications and Management, New Delhi Web Application Performance Analysis Based on Component Load Testing Charu Babbar 1, Neha Bajpai 2 and Dipti Kapoor Sarmah 3 1 Center for Development of AdvanceComputing,Noida 2 Center for Development of AdvanceComputing,Noida 3 Maharashtra Academy of Engineering,Pune 1 babbar.charu@gmail.com, 2 nehakapoor@cdacnoida.in and 3 dkapoor@maepune.com ABSTRACT Performance of many web sites depends on the load on the site at peak time under varying conditions. Performance testing is normaly conducted in a reseanobly simulated environment with the help of performance testing tools. However, performance of a website depends on various parameters and each parameter must be tested under varying stress lavels. It is not possible to draw a common denominator for performance parameters to test the websites due to complexity of websites. Different parts of the websites must be testet with different parameters under varying condition and stress lavel. In such circumstances, it is necessary to decompose the websites in to many components, which represents the behavior of various business components. These business components are mapped to various objects that trulely represent the behavior and structure of the part of the website. These object are subjected to performance testing with different parameters and stress levels. This paper addresses the new testing process, which uses the concept of decomposing the behavior of the web Application into testable objects. These testable objects are subjected to performance testing under varied performance parameters and stress levels. 1.INTRODUCTION Performance testing is a type of testing that is performed, from one perspective, to determine how fast some abstract of a system performs under a particular workload.[1] It can also serve to validate and verify other quality attributes of the system, such as scalability, reliability and resource usage. It can measure what parts of the system or workload cause the system to perform badly. 1.1 SETTING PERFORMANCE GOALS Performance goals will differ depending on the application technology and purpose of application however they should always include some of the following: Concurrency/Throughput If an application identifies end-users by some form of login procedure then a concurrency goal is highly desirable. By definition, this is the largest number of concurrent application users that the application expected to support at any given moment. The workflow of the scripted transaction may impact true application concurrency especially if the iterative part contains the Login/Logout activity. If the application has no concept of end-users then the performance goal is likely to based on a maximum throughput or transaction. Server Response Time This refers to the time taken for one application node to the request of another. A simple example is HTTP GET request from browser client to web server in terms of response time which is measured by load testing tools. It may be relevant to set server response time goals between all nodes of the application landscape. Render Response Time A difficult thing for load testing tools to deals with as they generally have no concept of what happens within a node apart from recognizing a period of time where there is no activity on the wire. To measure render response time it is generally necessary to include functional test scripts as part of the performance test scenario which is a feature not offered by many load testing tool. [2] 1.2 PREREQUISITES FOR PERFORMANCE TESTING A stable build application which must resemble the production environment as close to possible. The performance testing environment should not be clubbed with user acceptance testing environment (UAT). This is dangerous as if an UAT or integration testing or other testing is going on the same environment, then the results obtained from the performance testing may not be reliable. So, it is always advisable to have a separate performance testing environment resembling the production environment as much as possible. 1.3 MYTHS OF PERFORMANCE TESTING Some of the very common myths of Performance Testing are given below: Performance Testing [1] is done to break the system. Performance Testing should only be done to break the system. Performance Testing only involves creation of scripts and any application changes would cause simple refactoring scripts. 2.WHAT IS WEB TESTING?

Conventional application software testing is well defined with a set of methods and established over the years. Each method is implemented with a proper strategy. However, one can use some heuristics to test the specific parts, which cannot be done by the available methods due to many practical aspects of the software. But, the conventional methods may not walk with the web based applications. These applications vary with functionality, presentation, and target users. Thus web applications are dynamic in nature and require strong testing methodology. Web testing mainly involves testing functionality of the system like in conventional system, presentation layer and performance. During testing of the web applications,many issues must be addressed as the website is subjected to many unknown and uncertainities. 3.WHAT IS PERFORMANCE TESTING? Modern computer systems are becoming more complex and dependent on many factors such as the network technologies on the internet. Computing is distributed between various processors such as in the client server paradigm or clients and web servers. Deploying applications that rely on webservers, intranets and client server technologies is a challenge both in assuring that the functionality will be maintened and in guaranteeing that the functionality will be delivered with an acceptable performance. Performance problems can bring all sorts of undesired consequences, including financials and sales loss,decreased productivity. Performance prediction may be accomplished through performance models. Performance testing is directly reflecting the behavior of the complete website. Visitors expect the fast response within a short period of time. therefore, a rigouros performance testing must be carried out on each site. Performance testing can be viewed as a Black Box testing, which focuses on application and system behavior from outsite, with no knowledge of the program code that supports the system.the main objectives of the performance testing is: Maximum number of concurrent users that can be supported while offering acceptable performance. Maximum number of concurrent users that can be supported prior to causing the system failure. Location of bottlenecks within the application architecture. Impact of software or hardware change on the overall performance of the application. Scalability issues. The performance testing is done by recording or scripting the actions that real users perform, and then playing those actions back against the System Under Test(SUT),in an automated and controlled manner. Performance testing also depends on certain issues like graphics load time and connection methods. 4.ASPECTS OF PERFORMANCE TESTING Several aspects that can affect the Performance includes the following: High activity and volume at launch. Time of the day. Activity spikes due to marketing promotions. Bottlenecks due to hundreds of users on a network. Download time. Usage pattern. Think Time. User arrival rates. Client platforms. Internet access speed. 5.TYPES OF PERFORMANCE TESTING The size of each page and the number of images used on the websites can also affect the performance of the application. It can be divided into three parts: (1) Scalability testing (2) Load testing (3) Stress testing Scalability testing: Scalability concerns the website s ability to handle the volumes and types of activities that can occur after launch. Load testing: The purpose of Load testing is to model real world experiences, typically by generating many simultaneous users accessing the website. Automation increases the ability to conduct a valid load test, because we can emulate thousand s of users by sending simultaneous request to the application or the server. In order to create adequate load and scripts the tester uses information from daily usage logs to mimic a realistic user load. Preparing for Load test: Load testing must be carefully planned to successfully complete the load test the first time, thus shortning the amount of test time. In reality, even with the best planning, load testing may need to be repeted at least once, and usage more time than initially thought due to the time necessary to setup the load test. Some good points for preparing the load test are: (1) Understand the load requirements of the system. Investigate the total and concurrent number of users the website may need to support. Newly released applications will not have history statistics available. The test team may have to rely on the requirement specification to collect specific targets, such as : i. Number of users in either unique hits per day, per week, or per month;

Web Application Performance Analysis Based on Component Load Testing ii. Total concurrent users : worst case scenario at peak time ; iii. Peak request rate : number of pages to be served per second. (2) Identify the tools, such as test tools and monitoring tools, to be used to conduct the load test (3) Generate enough users and transactions to access capacity and performance that will hold up to a live environment. (4) Establish a baseline: create scripts to simulate a single user with single browser. (5) Create test scripts to simulate multiple session played on multiple browsers. (6) Identify any other applications that are running on the application server to capture the correct system activity. (7) Execute the test(s) multiple times. (8) Identify the players who will be monitoring the system performance during the test. (9) Conduct formal inspections on the test scripts. 5.1 PARAMETERS FOR PERFORMANCE TESTING: 1) Response time during data retrieval. 2) Calculations. 3) Turnaround time. 4) Bandwidth. 5) Webpage load time during multiple user logins. 6) Capacity. 7) Volume. 8) Load 5.2 TIME PARAMETERS: 1) Elapsed time 2) Response time 3) Hits per second 4) Throughput 5) Page download time 6) Transaction per second 7) Request 8) Response application and also individual components. The individual components may include the images and the files. All these issues results in the need of an efficient web based load testing tools for testing web application with individual components performance. 7. IMPLEMENTATION 7.1 OUTPUT 1 6. APPROACH FOR TESTING COMPONENTS OF THE WEB APPLICATION The problem in current scenario required the component based performance testing tool. Performance testing of components of a web application aims to evaluate the response time, utilization, and throughputs, as a function of the system description and workload parameters. The existing load and performance tools a mainly used to check the performance of CPU load for the entire web application. There are no such tools to confirm the total time taken to load the complete

7.2 OUTPUT 2 8. BENEFITS OF PROPOSED SOLUTION 1. Measures can be obtained for the users' effectiveness, efficiency and satisfaction. 2. Reports generated are useful for checking particular component performance. 7.3 OUTPUT 3 CONCLUSION Web based applications are more complex compare to the conventional client-server applications due to many unknowns and uncertainties. Among many complexities, performance testing is one of the difficult activities which has to be tackled with more vigor and aggression. Performance testing, which enhances the customer confidence on the web applications,is based on many approaches and

Web Application Performance Analysis Based on Component Load Testing strategies. Testing the site as a whole is cumbersome and tedious due to many complexities including the behavior. The sub-behaviors like, aquery,a downloadable objects and meaningful business entities is mapped on the web application by properly organizing the application. The behavior of each component, which is available in all performace testing tools. The scenario is then for a specific test session for different stress levels.this methodical approach not only ensures the structured way of testing but also provides step by step enhancement of the quality of the site. Experimental results shows that the whole web application need not be subjected to rigorous performance testing with all performance indicators set for each subbehavior. The proposed idea will be helpful as it will provide the complete loading information about every component used in the application like request time, response time, load time,etc. ACKNOWLEDGEMENT I sincerely thank to Mrs. Neha Bajpai(Project guide) and to my friend who helped me in conducting the approach and calculating the results during performance analysis. REFERENCES [1] Basics of Performance Testing, http://en.wikipedia.org/wiki/performance_testing, Retrieved January 2007. [2] J.D. Meier, Carlos Farre Ahantbansod, Scott Barber, Dennisrea Performance Testing Guidance for Web Applications World Academy of Science, Engineering and Technology,2005. [3] Ggary Backerman, Neal Stoughton Simulation_based load systhesis methodology for evaluting load_management programs IEEE Transaction on power apparatus and systems, Vol. Pas-100, no. 4, April 2003. [4] Perfomance testing approach Trace Technologies, Enpowering software quality. [5] Stress testing approach Trace Technologies, Enpowering Software Quality. [6] Scalability testing approach Trace Technologies, Empowering Software Quality. [7] B.M. Subraya and S.V. Subrahmanya, Object driven performance testing of web applications May 30 - June 2, 2000. [8] Charu babbar,neha Bajpai and Dipti Kapoor Sarmah, A Survey On Evaluating Peformance Of Web Application Peformance,ICRTIO,4th November,2010.