About UsContact UsTesting ServicesIT ServiceseCommerce JournalPartnersLinksHome 1 877 783 7855
Testing Services

Load Testing

Functional Testing

Section 508 Testing

Security Testing

Usability Testing

Consulting Services

Home


Using Automated Testing Tools and Benefiting

There are many automated tools available to assist the testing professional in the often tedious and time consuming job of testing an e-commerce web application. Automated tools help reduce the time and effort of conducting tests and improve the quality of the testing effort. In this article, the author discusses the most popular automated testing tools available to the e-commerce testing professional. The article is written by stating what problems a tester faces in order to better appreciate what the tool is designed to accomplish. After describing the problem the tools are designed to solve, the article describes how the tools work and the benefits derived from using them. There are many tools available that perform a number of different functions and improve the testing professional's ability to complete the job at hand. This article will describe three of the most popular ones.

Functional Testing

The first major issue facing testing professionals where an automated solution can help is making  sure the application does what it is designed to do. The entire testing business is predicated upon the fact that a testing professional's objective is to test an application to ensure that the application performs the way it is designed. But in any application, there are hundreds, if not thousands, of options and associated responses. Further complicating the issue is the fact that there are multiple browsers and operating systems available that could cause different responses. It is the job of the testing professional to ensure that every test is documented and that the test can be repeated to get the same result. Furthermore, the testing professional must be able to repeat the tests  after the application developer fixes any errors identified. This type of tedious record keeping application makes a great candidate for automation.

For functional testing, most testing professionals use several types of automation to assist their efforts in the testing of e-commerce applications. First, there is the automation of the test itself. This is accomplished by the creation of a script that will simulate the keystrokes of a testing professional for a specific test. Many times the script can be further programmed to use multiple variables to test multiple combinations of the same test, thereby eliminating any manual effort required to test all of the possibilities. Variables, such as random number generators, ranges of numbers or characters or other automated facilitators enhance the testing professional's ability to test. In addition to the time savings achieved, automated scripts can be used over and over again to test the same application after developers fix any errors and want to test the next release.

In addition to the automated script testing, professional testing experts also use the tests as documentation, record keeping, and reporting that are always necessary for the effort. This type of record keeping and documentation is essential for proper quality assurance and to measure/ the efficiency of the development effort.

Load & Stress Testing

Another issue every web site application must address comprehensively is how the application will support all of the intended users that wish to visit the site and what the impact of the users visits will be upon the application at certain volume levels. After the detailed functional testing, this is usually one of the most important elements of launching a web site or e-commerce application.

Many web sites are launched without any idea how many visitors might visit the site and subsequently get into trouble with too many people and not enough processing power. So, how does a testing professional certify the site for the expected volume? More importantly, how does the testing professional create the environment to test that volume? The answer lies in the use of an automated tool to simulate the transactional activity and measure the utilization of the computer resources while under load. This is often called 'stress testing under load.'

There are a number of automated tools now in the marketplace to assist testing professionals in determining the maximum traffic level a given application can realistically support. One such tool is WebLoad from RadView Software in Burlington, MA.

Using WebLoad, testing professionals can simulate a specific level of activity based upon the anticipated user volume . To accomplish this activity, testing professionals will usually develop a set of the "most typical" user selections for a given web application. These are recorded in automated scripts just like the ones the functional testing service performs. Once recorded, the testing professionals can then configure WebLoad to perform these selections for a given level of traffic.

WebLoad automatically simulates the recorded scripts while it monitors the resource levels of the computers, load balancing software, and network communications, to determine just how well the system will perform under these peak loads. Statistics on the system's utilization are then recorded and available for later graphical reporting, to show exactly how the application performed. The test can then be executed at higher and higher levels to determine the application's threshold before systems begins to fail.

Most web applications are designed as scalable applications. When an application is scalable, it is designed to process more and more volume by merely increasing the number of servers or processors operating the application. Specially designed "load balancing" servers were created to assist the application in accomplishing this goal and help the applications scale. However, the scalability of web applications is usually never linear and at some point adding an additional server or processor does not improve the performance. Consequently, it is only with an automated tool like WebLoad that Quality Assurance Managers can be confident in assessing the true scalability of a web application and determine the point of diminishing return.

Web Site Optimization

Thus far, we have discussed several automated tools that assist the testing professional in accomplishing the tedious, but all important task of testing an e-commerce application. The third and final problem where automation plays an important role is in the area of diagnosing a performance problem. Most often the diagnosis and repair of the problem is left to the web application developers. However, without some assistance from the testing professional, it is similar to looking for a needle in a haystack. How do you go about determining where to improve the source code, if you do not have the capability to determine the problem?

The answer to this question lies in the use of specialized web application optimization software, where a detailed thread analysis can be performed. Unlike a functional problem, where a specific test will have a specific result and can be repeatable, performance problems are usually not as narrow in scope and can be influenced by a number of factors. With performance problems, it is necessary to drill down to the more detailed level to understand which component of the system is causing the degradation in order to attempt to solve the problem.

Testing professionals must be able to diagnose what portion of the web application might not be performing well and causing a bottleneck. Every web site has multiple components of hardware, software, and network that affect the performance of the application. What might appear to be one simple database query might end up having multiple requests and multiple responses from multiple servers crossing different networks. How does a web application developer track the performance of the request, and once traced how does he try to improve it? Web Optimization and Tuning analysis software is designed to accomplish just this type of task.

One such application is from Optical Networks of Mountain View, CA. The software package analyzes request/response transactions to pinpoint the causes of performance slowdowns in a web software application. It identifies software changes necessary to improve end-user response times, using an automated resource measurement and monitoring tool. Testing experts use it to examine live transactions occurring simultaneously from the user and server perspective. Experts will precisely segment the transactions into client, server and network time and use multiple viewpoints of the transactions by elapsed time, providing information where performance slowdowns really occur.

Software developers receive detailed reports highlighting the source of performance bottlenecks. The reports specify the time spent on the desktop, network, and server with details on processing and sending times. Developers have the ability to drill down into performance issues by viewing a detailed thread analysis and bounce diagram. Graphical representations of the duration of time of any individual task can be quickly scanned and investigated, making the ability to diagnose a problem and determine the changes in application very realistic.

In conclusion, automated testing tools are essential to accomplish the job of testing an e-commerce application. In fact, a case may be made that without the use of a set of automated testing tools, the quality of the web site or e-commerce application is suspect.

 

Back to Newsletter Index

Go To Next Article

 


Home  |  About Us | Testing Services | Consulting Services | Partners | Links  | The E-Commerce Journal | Site Map



COPYRIGHT© TESTPROS, ALL RIGHTS RESERVED

Greetings From the Editor

Using Automated Test Tools and Benefiting

Testing the Limits - A Case Study of US News & World Report

Testing in Internet Time - A Case Study of Pricewaterhouse Coopers

Subscribe to The E-Commerce Testing Journal