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 software tester should be ready for adopting the test practices which complement both the varying 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 estimates if the software application can withstand a user session with no potential breakdown.
- Smoke testing is the best option to adopt during scenarios where you lack enough time.
- The users will immediately consider leaving your site before reaching at the functionality if it is difficult to use.
- Usability testing generally includes examination, review, as well as heuristic evaluation.
- Users won’t consider your functionality and immediately leave if the site is slow to use.
- Performance testing measures the site’s speed; eliminates the weak aspects, and makes an estimation of the limits.
- These tests can be very hard to implement.
- Functionality is generally tested in every project but is usually carried out during the developmental and user assessment processes.
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 (basically, of the software which executes under browser control);
- Infrastructure testing (of those processes that run on servers);
- System testing (of those systems that are in isolation);
- Large-scale integrations (carried out with the other systems as well as business processes);
- Post-deployment monitoring (of the live sites, holding the automated test cases and making use of the external services).
Post-deployment monitoring is generally carried out after implementation within a highly productive environment. The reason behind including this within the test strategy can be that the production of the e-business sites may fail. However, it can be that your potential customers would not inform you. Moreover, site performance degradation might not be noticeable on a daily basis, but the statistics derived using tools can offer early warnings about the performance issues when there’s still a good time for recovering 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.