What is E-business/E-commerce?
E-business (electronic business) is a term derived from such terms as e-mail and e-commerce and referring to the conducting of business on the Internet, including not only buying and selling but servicing customers and collaborating with business partners. Owing to the huge volumes of transactions occurring through electronic media, e-business testing has gained significant momentum in past few years. One of the biggest concerns of most e-businesses is that many website related risks are outside their control. For instance, almost 70% of online consumers report that websites take too long to download and more than half said that a site crashed before they could complete a purchase. Further, 20% of consumers had difficulty getting sites to accept their credit cards. Consequently, e-commerce testers have a great responsibility to ensure websites are functional at all times and avoid loss of business.
Typically, the following issues can arise in e-commerce testing:
- The website is unavailable.
- The Web server is not configured to access the website content.
- A page links to a non-existent Web page or Common Gateway Interface (CGI) script.
- A page or objects on it are so large it cannot be downloaded quickly.
- Server hardware components have been underspecified.
- The pages are unpleasant to look at.
- The site is poorly structured, difficult to navigate, or confusing etc.
E-commerce Testing Considerations
Here are some broad issues to consider when formulating an e-business test strategy. If testing is to keep pace with development, one needs to squeeze the testing into the development and release cycle.
Configurations-One of the challenges to e-business testers is configuration testing. The number of configurations you can test is limited, so you should consider who your users are and what technologies they might be using. Further, prioritization of these combinations (most likely by their popularity) will help you to maximize the number of users covered and minimize the number of users who might be adversely affected by configuration issues.
You must propose a scope for the testing, estimate the potential cost, and review that data with the stakeholders, management, and technical experts in the project. This will help to force a decision as to what will actually be supported, which may be much less than previously envisaged by management. If you are going to test many of the browsers and versions, you will be committed to doing an awful lot of regression testing.
Developer Testing-Consider asking the developers to use a variety of browsers for their testing, rather than only using the company’s chosen browser. This might help flush out compatibility issues across different browser types. You may be able to reduce or eliminate later configuration testing. There are various types of techniques such as pair programming, continuous automated testing and permanently maintained regression tests that combine to improve the development test process.
Web Conventions and Accessibility– A website must be accessible to people with disabilities. There are various accessibility guidelines presented by global authorities that are intended for web page authors as well as developers of authoring tools. Following the guidelines will, however, make Web content more accessible to all users, whatever user agent they are using. Accessibility guidelines cover all user agents from desktop browsers, voice browsers, mobile phones to automobile-based personal computers and the like, as well as the environmental constraints users might experience (e.g., noisy surroundings, hands-free environments etc.). The Web conventions that the guidelines promote will help people find information on the Web more quickly in addition to making Web sites more usable.
Testing Priorities in E-commerce testing
An interesting aspect of the e-business project is its extreme pace. In mature companies trying to establish a Web presence, the existing IT department may be responsible for the development and may follow its standard, staged development and test process. If you are working in a start-up environment where speed to market is the first priority, you may have to squeeze testing into a few days or even a few hours. Release cycles may occur daily. How can the traditional test process be fitted into this kind of schedule?
Clearly, the tester must be prepared to adopt test practices that complement these two very different scenarios. Test types that fall into the smoke testing category are typically automated and should entail the minimum number of tests to address the maximum number of risks in the shortest time. The tests that fall into the functionality testing are typically the most expensive and time-consuming to implement and execute. The various types of tests and when they can be used is given below-
- Smoke testing measures whether the application can survive one user session without crashing.
- If you are under severe time pressure (e.g., you have only hours to do the testing), smoke testing may have to suffice.
- If your site is hard to use, the user won’t hesitate to leave your site before reaching the functionality.
- Usability testing involves inspection, review, and heuristic evaluation.
- If your site is usable but slow, users may give up on the functionality and leave.
- Performance tests measure the speed of the site; flush out weak points, and measure limits.
- These tests are likely to be the hardest to implement and in scope after all the other tests have been included.
- Functionality is obviously tested in all projects but is often covered during development and user evaluation superficially.
Lastly, it is also important to look at various stages of e-commerce testing that a tester goes through in a typical e-business software development life cycle. Test types do not ideally fit into the traditional unit, integration, system and acceptance test stages. So, the following structure provides test stages that categorize the test types in a technical way-
- Desktop development testing (broadly, of software that executes under the control of the browser);
- Infrastructure testing (of what runs on the servers);
- System testing (of the complete system in isolation);
- Large-scale integration (with other systems and business processes);
- Post-deployment monitoring (of live sites, retaining automated tests and using external services).
Post-deployment monitoring is done after implementation in a production environment. The reason for including this in your test strategy is that production e-business sites can fail, but it may be that none of your prospective customers will tell you. Furthermore, degradation of site performance may not be noticeable day by day, but statistics derived by using a tool can provide early warning of performance problems while there is still time to recover the situation.
Ideally, the following can be considered for post-deployment monitoring:
- Server and Web service availability;
- Web content availability;
- Static testing of Web pages (HTML validation, link checking, accessibility, download times);
- Performance (response times);
- Security (audits, scanning, and penetration testing);
- End-to-end functionality.