In today’s world, most people shop online. Online customers are the main part of an E-commerce/Retail business. Shopping in person vs. shopping online has many benefits like Convenience, time-saving and easy access to products worldwide, etc.
The success of an E-commerce or Retail site hinges on the quality of its website. It must be a worthy alternative to the storefront. The customer is already committed to visiting a shop and might give the brand a shot when they shop at one.
All right!! Let’s move ahead. We divided E-commerce testing into 2 parts.
In the first part, we will talk about the E-commerce site, and what modules and components are essential to test. And in the second part, we will talk about the testing techniques to test an e-commerce site.
In this tutorial, we are going to talk about the following stuff:
1. E-commerce site.
2. What modules and components are essential to test.
As we know, E-commerce is the service of buying and selling goods and transmitting funds or data over an electronic network. These business transactions occur business-to-business, business-to-consumer, consumer-to-consumer or consumer-to-business.
Now, the question is: Why do we need to test an E-commerce site??
Before opening the e-commerce site to the public, we need to ensure some points about the e-commerce site:
1. Compatibility of the E-commerce site.
2. Functionality of E-commerce site.
3. Security and privacy of E-commerce site.
All right!!! Let’s talk about the modules & components that must be tested:
1. Browser Compatibility: This is a critical point for an e-commerce site, as if the site doesn’t work in a particular browser, then you can lose those browser users. Therefore, we need to focus on the following points to check the compatibility of an e-commerce site :
- The layout of the site.
- Location, types of menus, and navigation
- Text E-commerce sites should be compatible with mobile devices.
For Instructor-led training
For Self-Driven training
2. Cart module: Every e-commerce site has a cart module. In the cart module, the following functionalities should be tested:
- Verify the product is added to the cart.
- Verify that the user can add multiple products to the cart.
- Is the buying functionality the same throughout the store?
- Verify if the user is able to modify the products (add/update/delete).
- Are there total amounts, taxes, or discounts to be adjusted? For example, when the consumer modifies an item, (delete or add or change the item quantity) are the corresponding delivery/shipping fees, taxes, and coupons adjusted as needed?
3. Cookies: Cookies are a small amount of data file which create by the server and send to the user system and stored in the browser’s memory. Every browser has its own temporary memory. The user can manage the cookies, he can delete cookies. Cookie data automatically transmits between the web server and web browser.
What to test:
- Verify that cookies are stored in the user’s browser. Test site’s cookies according to the content of cookies.
- Test expiry time, domain name, path, and settings of cookie.
4. Session: A session is a way to store information (in variables) to be used across multiple pages. Unlike a cookie, the information is not stored on the user’s computer. E-commerce sites use sessions to store cart information across multiple pages.
What to test:
- Verify that the session started on every page where the user visits?
- Is data stored in the user session as you expected?
- If the user added some products to his cart as a guest. If the user registers or login himself, check that session should not be destroyed?
- Is the user session secured?? Are there any possibilities to hack user sessions?
- Check that is session destroyed after logout from the e-commerce site.
5. Login and Registration Module:
- Verify that UI of registration and login working fine.
- Is a user able to register on your site?
- Are required fields working as expected? Are field validations working fine?
- Is the user password stored encrypted??
- Is the user able to log in and customize the profile or password or shipping address?
6. Payment Module:
- Verify that the user logged or logged in as a guest for payment?
- Are payment options working fine? If the user chooses the credit number option, then:
- Validate length of credit number.
- Check the expiration date of the card, whether adding or updating the card info.
- Check the credit card billing address whether the address is updated or the card is updated.
- Is payment information sent to the payment gateway? Check is there any change in the purchase amount??
- If the user selects PayPal, then verify that information about the payer user and payment are stored from the backend.
- Verify that after payment, the user navigates back to the e-commerce site from the payment gateway.
7. Security: Is an e-commerce site secured. Is there any vulnerability existing in an e-commerce site? What is an approach to test security?
Before moving with the approach, let’s take a quick look at security vulnerabilities related to every website’s security:
- What is “URL manipulation”? Some web applications pass the additional information between the client (browser) and the server in the URL. Modifying the information in the URL may lead to unplanned behavior by the server.
- What is “SQL injection”? It is a code injection technique that allows the attacker to run a database query to get access to website admin or protected resources.
- What is “XSS (Cross-Site Scripting)”? It is a security exploit that allows an attacker to inject malicious client-side code into a website and compromise the users to get their information.
Security Testing Approach: To perform security testing of an e-commerce site, the Tester should have full knowledge of HTTP protocol. It is important to have knowledge of how a client (user system) and server communicate over HTTP. Additionally, the Tester should have knowledge of SQL Injection, and XSS (cross-site scripting).
8. Regression Testing:
- Create a base set of user scenarios that must be tested each release.
- Identify for each release the areas of the greatest risk and code that could be affected.
- Balance risk vs likelihood and plan testing accordingly.
So, these are the main modules and components, we need to focus on when we examine any e-commerce site. In this next tutorial, we will talk about the testing techniques to test an e-commerce site.
To check other stuff in this series, please refer to the following link: