reason, Rapid Application Development (RAD) techniques predominate in the e-commerce environment, and in some cases development is even done directly in a production environment rather than in a separate development environment. RAD techniques are not new, and it is generally agreed that they work best where functionality is visible to the user – so web site development would seem to be an ideal application area. Unfortunately, though, other aspects of e-commerce are at least as important as the front-end. The end-to-end integration of business processes and the consequent severe constraints placed on intermediate processes make them less than ideal application areas for RAD.
These changes increase risk and create new challenges for testers, because time pressures militate against spending a longer time testing sites before they are released. At the same time, the technical environment of front-end systems is changing very rapidly, so change is imposed on e-commerce sites even when the site itself is not changing. This requires more regression testing than would be expected in a conventional application to ensure that the site continues to function acceptably after changes to browsers, search engines and portals. New issues have also come to the fore for testers, notably security of transactions and the performance of web sites under heavy load conditions.
Front End Systems
Static Testing. The front end of an e-commerce site is usually a web site that needs testing in its own right. The site must be syntactically correct, which is a fairly straightforward issue, but it must also offer an acceptable level of service on one or more platforms, and have portability between chosen platforms. It should be tested against a variety of browsers, to ensure that images seen across browsers are of the same quality. Usability is a key issue and testing must adopt a user perspective. For example, the functionality of buttons on a screen may be acceptable in isolation, but can a user navigate around the site easily and does information printed from the site look good on the page when printed? It is also important to gain confidence in the security of the site. Many of these tests can be automated by creating and running a file of typical user interactions—useful for regression testing and to save time in checking basic functionality.
Dynamic Testing . Applications attached to an e-commerce site, either by CGI programming or server extensions, will need to be tested by creating scenarios that generate calls to these attached applications, for example by requiring database searches. The services offered to customers must be systematically explored, including the turnaround time for each service and the overall server response. This, too, must be exercised across alternative platforms, browsers and network connections. E-commerce applications are essentially transaction-oriented, based on key business processes, and will require effective interfacing between intranet-based and extranet-based applications.
Back End Systems
The back end of e-commerce systems will typically include ERP and database applications. Back end testing, therefore, is about business application testing and does not pose any new or poorly understood problems from a business perspective, but there are potential new technical problems, such as server load balancing. Fortunately, client-server system testing has taught the testing community many valuable lessons that can be applied in this situation. What is essential, however, is to apply the key front end testing scenarios to the back end systems. In other words, the back end systems should be driven by the same real transactions and data that will be used in front end testing. The back end may well prove to be a bottleneck for user services, so performance under load and