scalability are key issues to be addressed. Security is an issue in its own right, but also has potential to impact on performance.
Middleware and Integration
Integration is the key to e-commerce. In order to build an e-commerce application, one or more of the following components are usually integrated:
- Database Server
- Server-side application scripts/programs
- Application server
- HTML forms for user interface
- Application scripts on the client
- Payment server
- Scripts/programs to integrate with legacy back-end systems
The process of developing an e-commerce site is significantly different from developing a web site—commerce adds extra levels of complexity. One highly complex feature is that of integration.
If an application is being built that uses a database server, web server and payment server from different vendors, there is considerable effort involved in networking these components, understanding connectivity-related issues and integrating them into a single development (executable) environment. If legacy code is involved, this adds a new dimension to the problem, since time will need to be invested in understanding the interfaces to the legacy code, and the likely impact of any changes.
It is also crucial to keep in mind the steep learning curve associated with cutting-edge technologies. Keeping pace with the latest versions of the development tools and products to be integrated, their compatibility with the previous versions, and investigating all the new features for building optimal solutions for performance can be a daunting task. Also, since e-commerce applications on the web are a relatively new phenomenon, there are unlikely to be any metrics on similar projects to help with project planning and development.
The maintenance tasks of installing and upgrading applications can also become very involved, since they demand expertise in:
- Database administration.
- Web server administration.
- Payment server administration.
- Administration of any other special tools that have been integrated into the site.
Technical support should also be borne in mind.
Correctly functioning back-end and front-end systems offer no guarantees of reliable overall functionality or performance. End-to-end testing of complete integrated architectures, using realistic transactions, is an essential component.
Ten Key Principles of Effective E-Commerce Testing
Over the decades since Information Technology (IT) became a major factor in business life, problems and challenges such as those now faced by the e-commerce community have been met and solved. Key testing principles have emerged and these can be successfully applied to the e-commerce situation.
Principle 1. Testing is a risk management process. The most important lesson we have learned about software testing is that it is one of the best mechanisms we have for managing the risk to businesses of unsuccessful IT applications. Effective testing adopts a strategy that is tailored to the type of application or service being tested, the business value of the application or service, and the risks that would accompany its failure. The detailed planning of the testing and the design of the tests can then be conformed by the strategy into a business-focused activity that adds real business value and provides some objective assessment of risk at each stage of the development process. Plans should include measures of risk and value and incorporate testing and other quality-related activities that ensure development is properly focused on achieving maximum value with minimum risk. Real projects may not achieve everything that is planned, but the metrics will at least enable us to decide whether it would be wise to release an application for live use.
Principle 2. Know the value of the applications being tested. To manage risk effectively, we must know the business value of success as well as the cost of failure. The business community must be involved in setting values