Testing is crucial to e-commerce because e-commerce sites are both business critical and highly visible to their users; any failure can be immediately expensive in terms of lost revenue and even more expensive in the longer term if disaffected users seek alternative sites. Yet the time pressures in the e-commerce world militate against the thorough testing usually associated with business criticality, so a new approach is needed to enable testing to be integrated into the development process and to ensure that testing does not present a significant time burden.
The very familiarity of much of the technology means that tried and true mechanisms will either be suitable or can be modified to fit. Rapid Applications Development (RAD), in particular, suggests some promising approaches. Like most new ventures, though, e-commerce must find its own way and establish its own methods. In this paper we have suggested some testing principles that have stood the test of time and interm
What is e-commerce? For the purposes of this paper, e-commerce (also known as e-business) is defined as the software and business processes required to allow businesses to operate solely or primarily using digital data flows. E-commerce is often associated with web technology and is commonly transacted via web portals, but e-commerce is much more than the provision of a web page as the customer interface. The creation of integrated business processes (Enterprise Resource Planning), the integration of collections of disparate software applications, each designed to facilitate a different aspect of the business (Enterprise Application Integration), the extension of software and business processes to embrace transactions with suppliers’ systems (Supply Chain Management), the need for increased security for transactions over public networks, and the potential volume demand at e-commerce sites all provide new and unique challenges to the e-commerce development community—challenges which will require novel and innovatory solutions and which will need thorough testing before they are allowed to go live.
Why is testing important in the e-commerce environment? The first and primary reason is because e-commerce is, by its very nature, business critical. In the third quarter of 1998, Dell’s e-commerce site exceeded $10 million in daily sales; the E*Trade site currently exceeds 52, 000 transactions per day, giving a cost of one-day failure of around $800,000; and the travel industry in Europe will be worth $2 billion by 2002, according to Datamonitor. The immediacy of the customer, with its implied promise of rapid delivery at competitive prices, and the sheer accessibility of the web, all combine to create potentially massive demand on web sites and portals.
The second reason is that e-commerce is a massive and growing market place but one which requires large up-front investment to enter successfully. There are already 5.8 million web sites worldwide, 2.5 million of which have been created this year (1999). The International Data Corporation (IDC) estimates that the e-commerce market will grow from over $5billion in 1998 to $1trillion in 2003. The average cost of development of an e-commerce site is $1 million, says the Gartner Group, and will increase by 25% annually over the next 2 years.
The third reason is because the history of e-commerce development has been littered with expensive failures, at least some of which could have been avoided by better testing before the site was opened to the general public. (In e-commerce terms, ‘the site’ means the entire architecture from suppliers through back-end systems and front-end systems to the customers; it typically includes Intranet, Internet and extranet applications as well as legacy systems and third party middleware).
The Testing Challenges
A successful e-commerce application is:
- Usable. Problems with user interfaces lose clients.
- Secure. Privacy, access control, authentication, integrity and non-repudiation are big issues
- Scaleable. Success will bring increasing demand./li>
- Reliable. Failure is unthinkable for a business critical system.
- Maintainable. High rates of change are fundamental to e-commerce.
- Highly available. Downtime is too expensive to tolerate.
These characteristics relate in part to the web technology that usually underlies e-commerce applications, but they are also dependent on effective integration and effective back-end applications. E-commerce integrates high value, high risk, high performance business critical systems, and it is these characteristics that must dominate the approach to testing because it is these characteristics that determine the success of e-commerce at the business level.
The development process for e-commerce has unique characteristics and some associated risks. It is generally recognised that a ‘web year’ is about 2 months long. In other words, a credible update strategy would need to generate e-commerce site updates roughly monthly. For this