
The e-commerce business is increasing at a rapid pace, especially since Covid. So it is very important to test e-commerce websites and applications such as Amazon and Flipkart. Regressive testing of e-commerce applications is vital to make your app more robust and secure.
Effective manual and automation test strategies should be designed to test eCommerce applications. We need to make sure that all the pages of the application are tested regressively.
A test plan that covers all payment gateway test cases should also be created so that all the transactions are validated and secured. Load and Security testing should also be part of the test strategy to avoid compromises on loading time and mobile responsiveness. It would also protect the application from attacks by intruders.
Is your eCommerce app performing as you intended? Find out by employing testers from Testscenario. Get in touch with us!
Ecommerce application Architecture
An eCommerce application has 4 important elements – Main Pages, Product Pages, Product Description Pages, and Shopping Cart. Understand these in detail to test e-commerce websites and applications efficiently.
Main Pages include homepage, privacy page, about us page, careers, etc. Product Page includes different options for the product such as size, color, and other attributes. Sorting and filtering features are considered as part of product type pages along with add-to-cart and wishlist features.
Product description page includes title, description, images, add to cart feature and additional info, etc. The shopping cart page should include payment options and removing a product from the cart.
Overall, an eCommerce website or an application includes different user roles such as customers, partners, staff, and service agents. Backend infrastructures include rules, analytics, security, logging, and content management.
The first layer which is revealed to the users is the presentation layer that includes the UI for mobile, desktops. Responsiveness is kept in mind when designing this presentation layer.
Core Functionality includes Content, Marketing, Inventory Management, Orders, and Catalog. Back-office functionality includes fulfillment, inventory, payment, and Catalog staging. The conceptional view is shown below.
Testing Ecommerce Website Workflow
Testing of the complete workflow is important to test an eCommerce application. Let’s look at the components of the workflow such as Login and Signup, Search Functionality, Sorting Feature, Filter Feature, Adding or removing a product to the cart, check out process, Order number generation, Invoice generation, and Payment gateway.
Below are the test cases for the online shopping system that will help you in testing your mobile application. These test scenarios are for an online shopping website that will cover all pages of your eCommerce application.
Test Cases for Flipkart Login Page
The Login page is at the forefront of any kind of e-commerce application. It is supposed to handle every possible user scenario with maintaining data security.
Test Case ID | Scenario | Steps | Expected Outcome |
---|---|---|---|
TC001 | Login with valid credentials | 1. Enter valid username and password.
2. Click “Login”. |
User logged in successfully. Redirects to the homepage. |
TC002 | Invalid password | 1. Enter valid username but an incorrect password.
2. Click “Login”. |
Error: “Invalid credentials. Please try again.” |
TC003 | Login with empty fields | 1. Leave both username and password fields empty.
2. Click “Login”. |
Error: “Username and password cannot be empty.” |
TC004 | Login with special characters | 1. Enter a username with special characters (e.g., test@#).
2. Click “Login”. |
Error: “Invalid username format.” |
TC005 | Multiple failed login attempts | 1. Enter incorrect credentials 5 times consecutively.
2. Observe system behavior. |
The account is locked out temporarily with a warning message: “Too many failed attempts.” |
TC006 | Password reset functionality | 1. Click on “Forgot Password”.
2. Enter registered email. 3. Email verification through OTP. 4. Set a new password. |
Password reset is successful, and user can log in with the new password. |
Product Search and Filters Test Cases
Search Test Cases
Test Case ID | Scenario | Steps | Expected Outcome |
---|---|---|---|
TC101 | Search for an existing product | 1. Enter valid product name (e.g., “iPhone 14”).
2. Click “Search”. |
List of relevant products is displayed. |
TC102 | Search with invalid or misspelled keywords | 1. Enter misspelled product name (e.g., “iphon”).
2. Click “Search”. |
Fuzzy search returns near matches. |
TC103 | Test sorting functionality | 1. Search for a product.
2. Apply sorting by price (Low to High). |
Products are correctly sorted as per chosen criteria. |
TC104 | Validate search auto-suggestions | 1. Type partial product names (e.g., “Sam” for Samsung).
2. Observe suggestions dropdown. |
Auto-suggestions appear matching entered characters. |
TC105 | Test search with no results | 1. Enter a random string (e.g., “abcdxyz”).
2. Click “Search”. |
Message: “No products found. Try a different search term.” |
STC001 | Fuzzy Search and Relevance | 1. Enter product name/brand/fuzzy search term. | Search results are relevant to the input criteria. |
STC002 | Pagination in Search Results | 1. Execute a search yielding many results. | Results are paginated correctly. |
Filter Test Cases
Test Case ID | Scenario | Steps | Expected Outcome |
---|---|---|---|
TC201 | Apply price range filter | 1. Search for a product.
2. Apply a price range filter (e.g., ₹10,000-₹20,000). |
The results filtered are within the price range. |
TC202 | Apply multiple filters simultaneously | 1. Search for a product.
2. Apply “Brand”, “Price”, and “Discount” filters. |
Results match all the selected filter criteria. |
TC203 | Clear all applied filters | 1. Apply one or more filters.
2. Click “Clear All Filters”. |
All filters are removed, and the original search results are shown. |
Product Page and Visual Elements
Test Case ID | Scenario | Steps | Expected Outcome |
---|---|---|---|
PPTC001 | Product Attribute Selection | 1. Open a product page.
2. Select desired attributes (e.g., size, color). |
User can choose and view selected attributes. |
PPTC002 | Out-of-Stock Handling | 1. Navigate to an out-of-stock product.
2. Attempt to add to cart. |
System prevents adding the product; notifies user about stock. |
PPTC003 | Purchase Limit Error | 1. Attempt adding more than the allowed quantity of a product. | Error message indicates purchase limit reached. |
PPTC004 | Shipping Availability Error | 1. Attempt purchase for a delivery location where shipping isn’t supported. | Error message is displayed regarding shipping unavailability. |
PPTC005 | Email Notification on Purchase | 1. Complete a purchase. | Confirmation email/SMS is triggered. |
GTC001 | Navigation Links Check | 1. Navigate through all pages.
2. Click every link. |
No broken links anywhere on the application. |
GTC002 | Visual Element Check | 1. Visit the homepage. | Company logo, product images, prices, and descriptions are visible. |
GTC003 | Category-wise Product Listing | 1. Navigate to the product listing page. | Products are displayed category-wise. |
GTC004 | Search Results Count Consistency | 1. Perform a search.
2. Apply filters and sorting. |
Correct product count is displayed throughout. |
Add to Cart and Wishlist Test Cases
Adding products to the cart or in the wishlist is one of the big functionalities in any e-commerce website.
Test Case ID | Scenario | Steps | Expected Outcome |
---|---|---|---|
TC301 | Add a product to the cart | 1. Search for a product.
2. Click “Add to Cart”. |
Product is added to the cart successfully. |
SCTC001 | Increment Item Count on Duplicate Addition | 1. Add the same product to the cart more than once. | Item count increments rather than creating duplicate entries. |
TC302 | View cart details | 1. Add products to the cart.
2. Navigate to the “Cart” section. |
Cart displays products with quantity and price. |
SCTC002 | Update Cart Items | 1. Modify the quantity of a product in the cart. | Cart updates to reflect the new quantity and recalculates price. |
TC303 | Remove a product from the cart | 1. Add a product to the cart.
2. Click “Remove” for that product. |
Product is removed; cart total updates accordingly. |
SCTC003 | Shipping Cost Variation | 1. Add products with varying shipping rates to the cart. | Shipping costs are calculated correctly for each product. |
SCTC004 | Apply Coupons | 1. Enter a valid coupon code during checkout. | Coupon is applied and discount is reflected in the total. |
SCTC005 | Cart Persistence | 1. Add items to the cart.
2. Close and re-open the app. |
Cart retains the added items. |
TC304 | Save a product to the wishlist | 1. Search for a product.
2. Click “Add to Wishlist”. |
Product is added to the wishlist successfully. |
TC305 | Move a product from wishlist to cart | 1. Add a product to the wishlist.
2. Click “Move to Cart”. |
Product moves from wishlist to cart. |
Test Cases for The Checkout Process
This includes a number of checkout steps, such as selecting an address and making the actual payment.
Test Case ID | Scenario | Steps | Expected Outcome |
---|---|---|---|
TC401 | Proceed to checkout | 1. Add products to the cart.
2. Click “Proceed to Checkout”. |
User is redirected to the address selection page. |
TC402 | Validate address selection | 1. Add a new address.
2. Select the added address for delivery. |
Address is added and selected successfully. |
TC403 | Apply discount codes | 1. Enter a valid discount code during checkout.
2. Click “Apply”. |
Discount is applied to the total amount. |
TC404 | Place an order | 1. Add products to the cart.
2. Proceed to checkout. 3. Select payment method. 4. Confirm order. |
Order is placed; confirmation message is displayed. |
POTC001 | Order Confirmation Email and Order ID | 1. Place an order. | Order confirmation email with Order ID is sent. |
POTC002 | Order Cancellation | 1. Cancel an existing order. | Order is cancelled; cancellation email is sent. |
POTC003 | Order Tracking Facility | 1. Place an order.
2. Use the tracking feature. |
Order tracking displays the current status accurately. |
POTC004 | Return/Replace Product Post-Delivery | 1. Request a return or replacement after delivery. | Return or replacement process initiates successfully. |
Payment Gateway Test Cases
The payment gateway involves complex integration with banks and third-party services.
Functional Test Cases
Test Case ID | Scenario | Steps | Expected Outcome |
---|---|---|---|
TC501 | Successful payment | 1. Select “Credit Card” as the payment option.
2. Enter valid card details. 3. Complete the payment process. |
Payment is successful, and the order is placed. |
TC502 | Failed payment | 1. Select “Net Banking”.
2. Enter incorrect login details. 3. Attempt payment. |
Payment fails, and the user is redirected to the payment page. |
Edge Case Scenarios
Test Case ID | Scenario | Steps | Expected Outcome |
---|---|---|---|
EC001 | Test adding 100+ items to the cart | 1. Fill the cart with more than 100 varying items.
2. Observe by using the behaviour of the application. . |
The application handles large-sized carts without degrading performance. |
EC002 | Validate system behavior during payment gateway downtime. | 1. Attempt to checkout when the payment gateway is disabled intentionally.
2. Observe error handling. |
Application displays a user-friendly error message and suggests alternate modes of payment. |
EC003 | Test invalid product ID during search | 1. Enter a random or invalid product ID (e.g., “xyz123”).
2. Attempt to view product details. |
Application displays a “Product not found” message without crashing. |
Test Case ID | Scenario | Steps | Expected Outcome |
---|---|---|---|
PGTC001 | Price, VAT, and Shipping Charges Check | 1. Add product(s) to cart.
2. Proceed to payment. |
Correct pricing, VAT, and shipping charges are applied. |
PGTC002 | VAT Variation | 1. Add multiple products to the cart. | VAT adjusts based on the number of products in the cart. |
PGTC003 | Payment Methods Validation (PayPal) | 1. Select PayPal using dummy data during checkout. | Payment via PayPal is processed correctly. |
PGTC004 | Payment Refund Process | 1. Cancel an order.
2. Process refund using the payment ID. |
Payment is refunded; confirmation email is sent. |
Browser Compatibility and Responsive Testing
Test Case ID | Scenario | Steps | Expected Outcome |
---|---|---|---|
BC001 | Verify the UI rendering on Chrome, Firefox, Safari, and Edge. | 1. Open Flipkart on different browsers.
2. Verify page layouts and interactions. |
UI renders consistently across all browsers. |
BC002 | Test responsiveness on mobile and tablet devices | 1. Open Flipkart on devices with different screen sizes.
2. Verify layout and functionality. |
Application is responsive and works on all devices. |
Accessibility Testing
Testing the accessibility at Flipkart ensures that people with different kinds of disabilities find the product usable.
Test Case ID | Scenario | Steps | Expected Outcome |
---|---|---|---|
AT001 | Validate screen reader compatibility | 1. Enable a screen reader (e.g., NVDA).
2. Navigate through the site. |
All required content is read properly by the screen reader. |
AT002 | Test keyboard navigation | 1. Navigate using only the keyboard.
2. Perform key actions (login, search, checkout, etc.). |
All actions are accessible without a mouse. |
AT003 | Validate color contrast for text | 1. Check contrast ratios of text against backgrounds. | Text meets WCAG standards for readability. |
API Testing for Flipkart
API testing ensures that the front and back ends of Flipkart work seamlessly. It means testing data exchange, performance, and security.
Test Case ID | Scenario | Steps | Expected Outcome |
---|---|---|---|
API001 | Validate user authentication API | 1. Send a POST request with valid username and password to the login endpoint.
2. Observe the response. |
API returns with the success code (200) along with the authentication token. |
API002 | Test authentication failure | 1. Send a POST request with invalid credentials.
2. Observe the response. |
API returns error code (401) and corresponding error message. |
API003 | Verify product details API | 1. Call the product details endpoint using a GET request with a valid product ID.
2. Observe the response. |
API returns the response with data related to the product, such as the name, price, and availability. |
API004 | Test adding a product to the cart | 1. Send a POST request to the cart endpoint with user ID and product ID.
2. Observe the response. |
API confirms that the product has been added successfully with a success code (200). |
API005 | Test checkout process API | 1. Send a POST request to the checkout endpoint with cart and payment details.
2. Observe the response. |
API returns a response with confirmation of the order placed, including an Order ID. |
API006 | Validate response time for high traffic scenarios | 1. Send 1000 simultaneous requests to the product search API.
2. Measure average response time. |
Response time remains below perceivable limits (e.g., <500ms.) |
Database Testing for Flipkart
The database testing at Flipkart is specially targeted to ensure data integrity, stored across various functionalities: login, place order, update cart, and many others.
Test Case ID | Scenario | Steps | Expected Outcome |
---|---|---|---|
DB001 | Verify user data consistency | 1. Register a new user via the application.
2. Check the database for accurate user information. |
Database contains all the information of the users (e.g., username and email) with accuracy. |
DB002 | Validate cart updates in the database | 1. Add items to the cart.
2. Verify the cart table in the database. |
The cart table has valid product IDs, quantities, and user IDs. |
DB003 | Ensure order details are saved correctly | 1. Place an order via the checkout process.
2. Check the order table for order summary and user details. |
Order table contains proper data, including product information, user information, and the status of the payment. |
DB004 | Test database integrity during failed transactions | 1. Simulate a failed payment during checkout.
2. Verify database entries. |
No duplicate or incomplete order entries exist in the database. |
DB005 | Validate data deletion for removed products | 1. Remove a product from the cart.
2. Verify the cart table for updates. |
The deleted product isn’t within the cart table. |
Get a free Excel sheet with 100+ test cases for Flipkart, covering login, search, cart, and payment workflows.
Test strategy for eCommerce website
While testing an eCommerce application test strategy and test plan should be designed carefully. Let’s look at the test plan for an online shopping cart which includes different types of testing needed for an eCommerce website
-
Browser Compatibility Testing
Ensuring that the application works seamlessly across major platforms (Linux, Windows, and Mac) and browsers (Chrome, Firefox, Safari, etc.) is crucial for providing a universally positive user experience. Browser compatibility testing helps in identifying and rectifying UI inconsistencies and functional issues across different environments.
-
Load and Performance Testing
ECommerce sites experience variable traffic, with significant spikes during sales or promotional events (like Black Friday, Cyber Monday, etc.). Load and performance testing are critical to ensure that the website can handle high volumes of traffic and transactions without degradation in performance.
Testing for maximum load, response times, and the application’s ability to handle concurrent requests is necessary to ensure scalability and reliability under peak load conditions.Response time and loading time of the application should be tested in advance. Load balancers should be applied during extensive load testing.
-
Functional Testing
Testing the functionalities of an eCommerce site is fundamental to ensure that all features work as intended. This includes testing the shopping cart, checkout process, payment gateway integration, product search and filter functions, and user account management features. Functional testing also encompasses UI testing to ensure the application is not only responsive but also intuitive and user-friendly across different devices and screen sizes.
-
Security Testing
Security is paramount in eCommerce applications due to the handling of sensitive customer data and financial transactions. Security testing should cover various aspects, including data encryption, secure payment processing, protection against common web vulnerabilities (such as SQL injection, cross-site scripting (XSS), and cross-site request forgery (CSRF)), and compliance with data protection regulations (like GDPR in Europe, CCPA in California, etc.).
Ensuring the security of customer data and transactions is crucial for maintaining trust and complying with legal requirements. There have been instances where data breaches happened in the past which cost businesses a lot of bucks. Hence, security should be the main testing for eCommerce applications.
How to test e-commerce websites manually
1. Develop a Comprehensive Test Plan: Start by defining the scope of testing, including all the pages and functionalities of the e-commerce website. This plan should detail the testing strategies for UI, functionality, compatibility, performance, security, and any other relevant tests.
2. Execute Test Cases for UI and Functional Testing: Manually walk through the website to test the user interface and the functionality of all features. This includes testing navigation, search functionality, product listing and details, shopping cart, checkout process, payment gateway integration, user registration, and login/logout functionalities.
3. Track Test Cases and Bug Reporting: Use a test management tool to track the progress of test cases and document any bugs or issues encountered during testing. Early detection and reporting of bugs within the Software Development Life Cycle (SDLC) can significantly reduce the cost and effort required for bug fixes.
4. Perform Exploratory Testing: Beyond structured test cases, engage in exploratory testing to uncover issues that may not have been anticipated in the test plan. This involves creatively testing the application to identify potential weaknesses or unexpected behavior.
5. Test Across Different Devices and Browsers: Manually test the website on various devices (desktops, tablets, smartphones) and browsers (Chrome, Firefox, Safari, etc.) to ensure compatibility and responsive design.
How to Testing E-commerce Websites Using Selenium and Other Tools
1. Functional Testing with Selenium/Appium: Selenium, with Appium for mobile applications, allows for the automation of web browser actions to test the functionality of e-commerce websites. Testers can write scripts in languages supported by Selenium (like Java, C#, Python) to automate test cases for different functionalities.
2. Performance Testing with JMeter: Apache JMeter can be used for performance testing to simulate a large number of users accessing the website simultaneously. This helps in identifying bottlenecks and ensuring that the website can handle peak traffic loads.
3. Security Testing with ZAP OWASP: The Zed Attack Proxy (ZAP) by OWASP is a tool for finding vulnerabilities in web applications. It can be used to perform automated scans and identify security threats like SQL injection, cross-site scripting, and other vulnerabilities.
4. Automating Unit Testing: Developers can automate unit tests using the programming language in which the application is developed. Frameworks like JUnit (for Java), PyTest (for Python), and NUnit (for .NET) can be used for writing and executing unit tests.
By combining manual testing strategies with automated tools like Selenium, JMeter, and ZAP OWASP, teams can ensure comprehensive coverage of all critical aspects of e-commerce website testing. This dual approach helps in maximizing the efficiency of the testing process, ensuring a high-quality user experience, and maintaining the security and performance of the e-commerce platform.
Conclusion
The above e-commerce website testing checklist and test plan for an eCommerce website would have given an idea of testing eCommerce applications such as Flipkart.
Do you still have doubts about testing your eCommerce application? Contact us to know more. Get free estimation from us and make your product more robust with minimum bugs.
Testscenario is a software testing team with experienced and efficient software testers. We are equally adept at E-commerce testing. Get in touch with us today, and get the best in the business spot out bugs for you.