QW2000 Paper 3W2

Dr. B.M. Subraya & Mr. S. V. Subrahmanya

Performance Testing: A Methodical Approach to E-Commerce Applications


Presentation Abstract

Performance of many Web sites depends on the load on the site at peak time under varying conditions. Traditionally, client-server testing does not ensure the performance of Web sites, as there are unknown users with many uncertainties. Under these circumstances performance testing must be carried out in such an environment which reflects the real users. Since it is difficult to provide such an environment before the deployment of the application, it is more appropriate to follow a methodical approach that ensures the required performance under varied circumstances.

1.0 Introduction: The rapid rise of Web-based E-commerce applications has led to a plethora of design and development tools designed to minimize the time to market for many e-business applications. Designing and developing, however, are only two phases of application development. E-commerce applications demands rapid development and deployment. Testing, a critical third phase occupies the dominant role in the life cycle of the E-commerce application.

Successful e-business applications testing depends on a comprehensive test plan, functionality and performance testing by using incrementally developed scripts, and using these scripts to test under varying assumptions and parameters. This combination provides a thorough and methodical test process.

The first step in testing the e-business architecture is to test the application layer. This type of testing is often performed early in the lifecycle, before the actual GUI for the application is built, to ensure that the essential foundation is present and sound before you add more complex application components. During the deploying an e-business application, one of the most important issue need to be addressed is application's performance. Unlike traditional client/server applications, where user loads can be easily predicted, performance problems are inherent to e-business systems, where the volume of users and traffic levels can change in a matter of seconds.

2.0 What is Performance Testing?

Performance testing is directly reflect the behavior of the complete Web site. Visitors expect the fast response with in a short period of time. Therefore, a rigorous 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 outside, 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 a system failure.
* Location of bottlenecks within the application architecture.
* Impact of a 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.

About the Authors

Dr. Subraya B.M. currently working as Consultant to Education and Research department of Infosys Technologies Limited, Bangalore, India. Before he comes to Infosys on sabbatical, he was working as Professor and head of Computer Centre, at S.J. College of Engineering, Mysore, a reputed engineering college in southern part of India, since more than 20 years.

Dr. Subraya holds Ph.D from Indian Institute of Technology, Delhi from Computer Science & Engineering Department, in the area of hardware verification. He has guided many projects at graduate and under graduate level. His area of interest includes Software testing, Operating System and distributed databases. He can be reached at subraya@inf.com.

Mr. S.V. Subrahmanya holds B.E degree in Electrical Engineering from University of Bangalore, Bangalore, India and M.Tech in Computer Science from IIT, Kharagpur. He is currently working as Project Manager at Infosys Technology limited, Bangalore. He started his carrier as programmer then moved to academics where in he worked as Assistant Professor in the department of Computer Science & Engineering, BMS College of Engineering, Bangalore. Prior to joining to Infosys he was working at Ashok Leyland Information Technology as Asst project Manager.

His areas of interest include Enterprise Application Integration(EAI), E-commerce End-to-End testing and Software Engineering. He can be reached at subramanyah@inf.com.