This paper will propose a testing strategy for Internet E-Commerce applications and assess its strengths and weaknesses. The testing strategy mainly focuses on the testing of the web components

Authors Avatar
Comp546 Software Quality Assurance

Group Project

Testing Strategy for Internet Applications

Table of Content

. Introduction ..................................................................... 1

2. Types of Web Applications .................................................... 1

2.1 Internet Presence

2.2 Internet e-commerce

2.3 Intranet

2.4 Extranet

2.5 Internet media distribution

2.6 Non-Internet media distribution

2.7 Non-Internet application

2.8 Focus of this paper

3. Differences between Web and Traditional Client-Server Systems ....... 3

3.1 Client-Side Applications

3.2 Server-Based Applications

3.3 Web Systems

3.3 Interoperability Issues

3.5 Piggyback Off Existing Systems

3.6 Gray Box Testing

4. Key areas of Focus for web application testing ............................. 7

4.1 People

4.2 Tools

4.3 Process

4.4 Environment

5. Detailed Testing Process ....................................................... 7

6. Web Testing Key Challenges .................................................. 9

6.1 Scalability and performance

6.2 Time to market

6.3 Usability Test

6.4 High demand for regression testing

6.5 Other factors

7. Testing methods ................................................................. 10

7.1 Seven Categories of Tests

7.2 Test types for Static/Dynamic, Automatic/Manual

7.3 Static Testing

7.4 Web Page Integration testing

7.5 Functional Testing

7.6 Service Testing

7.7 Usability Assessment

7.8 Security Testing

7.9 Large-Scale Integration Testing

8. Other testing considerations ................................................... 22 8.1 Content analysis

8.2 Availability

8.3 Backup and recovery

8.4 Internationalization

8.5 Transactions

9. Automated Web Testing Tools ................................................. 24

0 Testing strategy implementation considerations ............................. 29

1. Conclusion ........................................................................ 30

1.1 Business and Technical elements

1.2 Automated web testing tools

1.3 User involvement and continuous improvement

2. References ........................................................................ 32

. Introduction

With the emergence of e-commerce sites and the growth of business performed over the web, it is critical for companies to have their internet (web) applications tested extensively to ensure that they function correctly, are compatible over many different browsers and operating system configurations and can handle a large amount of concurrent users. However, the unique characteristics of web application testing and lacking of adequate tools make the need to develop strategies, methodologies and tools for test of web applications essential.

Internet applications are software programs or applications that receive input and deliver output through the web, usually in the form of HTML or XML. Web applications are dynamic, interactive, often serve as the front end of complicated applications which often involve database at the back-end. With the rapid development of web technologies such as CGI, JSP, PHP, ASP.NET and Microsoft.NET, internet applications are become more and more complicated.

The repercussions of having a poorly operating website are staggering, and even affect the brick and mortar stores that the websites are enabling online. A recent study showed that when errors are found on an e-commerce website, 28% of the people stopped shopping at the site, 23% stopped buying from the site, and 6% of the people were so upset, that they stopped buying at brick and mortar store that the site is based on (Gerrard, 2000a). One can only surmise that the customers feel that if the company cannot provide a quality website, then they may not be able to sell a quality product from their stores.

Software testing has been studied for years by researchers. A number of testing techniques like Black-Box testing, White Box testing, equivalence partitioning and structural testing have been developed for software testing. Although web applications testing has much in common with the testing of most other client/server applications, the nature of web application pose unique software testing challenges.

The methods to test the e-commerce application are basically similar to those for testing conventional systems. Code-based testing can be used for unit testing, and Specification-based testing for system testing.

Integration testing of e-commerce applications is complicated because a typical application usually has multiple layers of software. Each layer may be written by a different language, and may be running a different protocol. Also, unlike mainframe and client-server applications, e-commerce applications depend on numerous components that must function together, although they might not have been deployed with each other in mind. In any case, all business logic must be thoroughly tested.

Web applications developers and website quality assurance managers need tools and methods that meet their specific needs to test web applications. However, lacking of adequate tools as well as limited capabilities of current tools are making automatic web applications less popularized than it should be.

This paper will propose a testing strategy for Internet E-Commerce applications and assess its strengths and weaknesses. The testing strategy mainly focuses on the testing of the web components.

2. Types of Web Applications

Developing a strategy for testing a particular web application can vary widely depending on the purpose, audience, scope, delivery media, functionality and the kinds of technology used to deliver the application functionality.

2.1 Internet Presence

This is a simple web site to provide basic information. Typically, there may be limited dynamic processing, such as the ability to submit information via forms. However, the primary purpose is to provide information about an organization. This is usually the first step in staking a claim on the Web. The risk level of this type of site is typically low, since content correctness is the primary concern and the easiest to verify.

Primary Test Concerns: Correctness, usability, compatibility.

Secondary Test Concerns: Performance, security

2.2 Internet e-commerce

This is a web site designed to promote business via the Internet. In its simplest form, an e-commerce site may point to a number of ways to receive payments and place orders, but the context of e-commerce normally refers to sites which allow customers to browse products, place orders and obtain product information. These are the online storefronts that can bring in millions of dollars per day for some companies. The audience is sometimes hard to predict in terms of numbers and traffic patterns, which has a large impact on planning server support and load testing. Since an e-commerce site may be simple or complex, the risks can range from insignificant to extremely high.

Primary Test Concerns: Correctness, security, performance, usability, compatibility, integration

Secondary Test Concerns: Visibility

2.3 Intranet

This is a web site used internally in an organization to deliver information and functionality. Unlike the Internet sites, the intranet audience is usually well-defined and predictable. Intranets can be used to deliver functionality such as Enterprise Resource Planning, including HR, inventory, accounting, etc. The risks of this type of Web application can be very high in the case of ERP applications.

Primary Test Concerns: Correctness, usability, security, integration

Secondary Test Concerns: Performance

2.4 Extranet

This is a web site used to communicate with external entities such as customers and suppliers. The audience is well-defined and predictable, but the external nature of the access opens a security risk. Extranets can be used for business-to-business e-commerce. The risks of this type of Web application can be very high in the case of business-to-business applications.

Primary Test Concerns: Correctness, security, usability, compatibility, performance

Secondary Test Concerns: None

2.5 Internet media distribution

This is a web site for delivering video and audio over the Internet using technologies such as Real Media and MP3. In this type of site, the correctness of information is less important than the quality of the media delivery. Therefore, performance is a key test concern, as well as the ability to provide quality content on multiple platforms. The risks of this type of Web application can be very high in terms of customer satisfaction and site reputation.

Primary Test Concerns: Performance, usability, compatibility.

Secondary Test Concerns: Correctness

2.6 Non-Internet media distribution

This is a web application delivered via CD-ROM that uses web technology to deliver information such as training, catalogs, etc. These applications typically are more concerned with delivering quality media content as opposed to functional correctness. Functional correctness is normally limited to searches, navigation and information. The audience is a single user as opposed to thousands of concurrent users. Compatibility on multiple browsers is a test concern. The risks of this type of Web application can be very high in terms of company reputation.

Primary Test Concerns: Usability, compatibility, correctness.

Secondary Test Concerns: Performance, security

2.7 Non-Internet application

This is an application using browser functionality and delivered via CD-ROM, but not delivered over the Internet. These applications can be very complex, depending on the application. Functional correctness is a major test concern, as well as compatibility on multiple browsers. The risks of this type of Web application can range from low for simple applications to very high in the case of complex applications.

Primary Test Concerns: Correctness, usability, compatibility.

Secondary Test Concerns: Performance

2.8 Focus of this paper

The starting point for developing a Web testing strategy is to first identify the type of application you will be testing. This will allow you to eliminate the tests that will have little payback and focus on those tests that relate to the high risk factors. In this paper, we will concentrate our discussion on the testing strategy for Internet E-Commerce applications.

3. Differences between Web and Traditional Client-Server Systems

We will begin to explore additional differences between Web and traditional systems so that appropriate considerations can be formulated specifically for testing Web applications.

3.1 Client-Side Applications

As illustrated in the Figure 3.1, most client-server systems are data access applications. A client typically enables users, through the user interface, to send input data, receive output data, and interact with the back end. Clients of traditional client-server systems are platform-specific. That is, for each supported client platform (e.g., Windows 16- and 32-bit, Solaris, Linux, Macintosh, etc.), a client application will be developed and tested for that target platform.

Most Web-based systems are also data access applications. The browser-based clients are designed to handle similar activities to those supported by a traditional client. The main difference is that the Web-based client is running in the context of a Web browser. It renders static HyperText Markup Language (HTML) as well as active contents to display Web page information. Several popular browsers also support active content such as client-side scripting, Java applet, ActiveX control, cascading style sheet (CSS), dynamic HTML, security features, and other goodies. In making these software components, incompatibility issues are introduced among various browsers and their releases.

I3.2 Server-Based Applications

Server-based applications are programs that don't have a user interface with which the end users of the system interact. Instead, the client application interacts with server-based applications to access functionality and data via communication protocols, application programming interface, and other interfacing standards.

To black-box testers, server-based applications are black boxes. Server-based applications or systems are often isolated away from the end users. When a server-based application fails, as testers or users from the client side, we often don't know when it failed, what happened before it failed, who was or how many users were on the system at the time it failed, and so on. This makes bug reproducibility even more challenging for us.

In testing Web systems, we need a better way to track what goes on with applications on the server side. One of the techniques used to enhance our failure reproducibility capability is event logging. With event logging, server-based applications can record activities to a file that might not be normally seen by an end user. When an application uses event logging, the recorded information that is saved can be read in a reliable way.

Figure 3.1 Client-server versus Web-based clients

3.3 Web Systems

The complexities of the PC model are multiplied exponentially in Web systems (Figure 2). In addition to the testing challenges that are presented by multiple client PCs, the server side of Web systems involves hardware of varying types and a software mix of OSs, service processes, server packages, and databases

3.3.1 Hardware Mix

With Web systems and their mixture of flavors of hardware to support, the environment can become very difficult to control. Web systems have the capacity to use machines of different platforms, such as Unix, Windows NT, and Macintosh boxes. Such hardware mixtures present testing challenges because different computers in the same system may employ different OSs, CPU speeds, buses, I/O interfaces, and more. Each variation can potentially cause problems.

3.3.2 Software Mix

At the highest level, as illustrated in Figure 3.2, Web systems may consist of various operating systems, web servers, application servers, middleware, e-commerce servers, database servers, major enterprise resource planning (ERP) suites, firewalls, and browsers. For Web systems, software is often designed to run on a wide range of hardware and OS combinations, and risks of software incompatibility are always present. Another problem inherent in the simultaneous use of software from multiple vendors is that when each application undergoes a periodic upgrade (client or server side), there is a chance that the upgrades will not be compatible with preexisting software.

Figure 3.2 Web system architecture

3.4 Interoperability Issues

Interoperability is the ability of a system or components within a system to interact and work seamlessly with other systems or other components. This is normally achieved by adhering to certain application program interfaces (APIs), communication protocol standards, or to interface-converting technology such as Common Object Request Broker Architecture (CORBA) or Distributed Common Object Model (DCOM). There are many hardware and software interoperability dependencies associated with Web systems. It is possible that information will be lost or misinterpreted in communication between components. It is essential that our test-planning process include study of the system architectural design. Figure 3.3 shows a simplified Web system that includes three box servers and a client machine.

Figure 3.3 Interoperability

3.5 Piggyback Off Existing Systems

We should be using as much of the existing system (non-web-based) as possible. Ideally, most of your server-side processing will be done using existing systems. This way, you can use your existing tests to test much of your server-based functionality

Figure 3.4 Testing methods

3.6 Gray Box Testing

Web testing techniques can also be termed as Gray-Box Testing :

* Incorporates elements of both black-box and white-box testing

* Evaluates application design in the context of the interoperability of system components

* Consists of methods and tools derived from the knowledge of the application internals and the environment with which it interacts

* Considers the outcome on the user end, system-specific technical knowledge, and the operating environment

* Is well-suited to testing Web applications because it factors in high-level design, environment, and interoperability conditions.

* Gray-Box testing will reveal problems that are not as easily considered by a black-box or white-box analysis, especially problems of end-to-end information flow and distributed hardware/software system configuration and compatibility

Not every tester in a group needs to be a gray-box tester. A mix of different types of testers will likely provide the best results.

4. Key areas of Focus for web application testing

The key areas of focus are people, tools, process and environment :

4.1 People

* training in how to test web-based applications

* understanding of the risk associated with your organization's web applications

* management support of the testing process

* accuracy of project schedules, especially concerning testing

* cooperation between the testing organization and the web developers

4.2 Tools

* awareness in your organization concerning automated test tools and how they can be used in testing web applications

* tool ownership in your organization

* tool usage in your organization

* management support for the purchase of test tools in your organization

* management support for the use of test tools in your organization

4.3 Process

* process definition for developing web applications

* process definition for testing web applications
Join now!


* process definition for configuration management in the web environment

* acceptance for processes in your organization

* standardization for web development in your organization

4.4 Environment

* test environment dedication for testing only

* test environment control

* tool support in the test environment

* test data management

* test environment mirroring the production web environment

5. Detailed Testing Process

Matrix model of the test process

Goal

Processes

. Set and agree on realistic expectations for the system

* Prioritize business requirements; identify ...

This is a preview of the whole essay