What is an eCommerce Website
eCommerce websites are the ones that facilitate the online purchase of goods and services. We are all aware of eCommerce websites like Amazon, Flipkart, eBay. These websites help users easily access, choose, purchase a variety of products and services, and have them delivered at their door without any physical effort.
Testing an eCommerce Website
The use of these eCommerce websites is increasing day by day. The sites need not only to look functional but also user-friendly, easy to navigate and should not take much time to load. Thus testing the eCommerce website has become very important to fulfill the user expectations and ensure that the site functions appropriately in terms of functionality, performance and security. Drupal eCommerce has made significant headway in the past couple of years to ease these burdens.
List of Pages
Homepage
On an eCommerce website, the quality, presentation, and content of the homepage exhibit is the key to whether the customer browses through the rest of the site or simply exits. A website may have the best products at their best prices and the best offers, but if the home page does not convey it effectively, customers may exit the site. Therefore:
- User should be able to view the overall offerings of the site at a glance
- The page should be properly divided into sections with the most featured sections/attractions at the top followed by the rest
- For a logged-in/revisiting user, the page should be loaded based on the history of the user’s preferences
- For a logged-in/revisiting user, the sections like following should be displayed:
- Items from the last search/browsing history
- New items relevant to the last search/browsing history
- Recently viewed items
- New items relevant to Wishlist
- Recommended items/offers
- It should have quick links/access to the user account, the menu items, the cart, login page (if not already logged in)
- If the website is location dependent, there should be an option to select the location
Search Results Page
- All the products relevant to the search criteria should be displayed on the result page
- The result should contain the exact as well as a similar match to the search keyword
- The result should include the relevant product, its brief description, image, price, etc
- If the search result is multi-page, then the user should be able to traverse these pages back and forth and the result should remain constant
- The user should have an option to select the number of result item displayed on a page (if it is the requirement)
- The total number of search records/results should be displayed on the page
- The item/product should not be repeated in the search result
- User should have provision to put an item on the wishlist
Product Details Page
- User should be able to view the complete and detailed information of the product
- It should have the product images from different views and angles along with the image zoom-in/zoom-out feature
- It should display the product's specifications if it is in stock/out of stock and the reviews
- User should be able to select the size (if applicable), quantity
- While selecting the size, a size guide link should be displayed
- It should display and allow selection of the variations if available like color, etc
- It should show the actual price, discounted price (if applicable), total savings (if it's on discount)
- User should be able to add it to the cart, buy it right away or add to wishlist
- It should display the product ratings, seller information, and seller ratings, also the various available sellers
- It should show the tentative delivery time, delivery details and shipping information (for logged in user)
- Breadcrumb navigation for the categories
- It should display similar products at the below the main product and also the brought along items
Other pages to validate
- Contact Us Page
- FAQs Page
- Customer Service Page
- Online chat feature
- Adding reviews
- Social media integration buttons
Functionality Scenarios
New account creation (Buyer/Seller)
- There should be options to create a buyer account as well as a seller account
- There should be options to create an account via signup, log in with social media account, login with a Google account (as per the requirement)
- The fields and the required details should be relevant to the respective users
- The mandatory fields should be marked with an asterisk (*)
- Dropdowns, radio buttons and checkboxes are placed wherever required
- There should be provision to submit as well as reset or cancel the form
- Validate form submission with/without filling the optional fields
- Validation email/SMS should be sent to the user after submitting the form
- Clicking on the reset/cancel button should not create an account not should send any validation email/SMS to the user
Login/ Logout
- Users should be able to login to their account provided the credentials are correct
- Incorrect credentials should throw an appropriate error
- After login, the data should be loaded as per the logged-in user account viz. last browsing history, cart details, wishlist, account details, order history, address information, payment options, etc
- The sections displayed for buyer user and seller user should be relevant for the respective users
- User should be able to add/remove information related to address book, payment options, etc. and update login credentials
- If the user is accessing without logging in, generalized (guest user) data should be displayed
- Clicking on logout should redirect the user back to the login page
- The login page should have the clickable logo of the website which will redirect the user to the site without login (as a guest user)
Navigation
- The logo image should be clickable and should redirect to the homepage from all the pages where the logo is clicked
- All the images with the link should be clickable and should redirect to the respective page
- User should be able to navigate all the pages and all the product, categories, forms, etc
- No navigation link should be broken
- When the user clicks on any link on a page and navigates back, then the result should be maintained
- Verify the breadcrumb menu is working properly
Search Functionality
The search feature is one of the most used options on an eCommerce website. This is important because there are several products available on the site and the customer cannot see them all in front of them. Search lets them locate things swiftly. Hence, Search algorithms are essential for a website. Due to the wide variety of products, customers use the search bar to locate products quickly without wasting time.
- The search bar should be located on every page throughout the website
- The search bar at the homepage should list all the categories while that at the particular category page should list options related the that category
- Validate search at a broader level like brand name, product category or department, etc
- Validate search at further deep levels like subcategory search i.e., validate the multi-level search
- Validate the auto-suggest and auto-complete feature of the search function
- Auto-suggest should update the search whenever any word is entered, removed or appended
- Clicking on the auto-suggest search list should redirect the user to the appropriate page
- Validate advanced search if applicable by selecting/deselecting various advanced search options
- Advance search should return the appropriate results based on the combination used for searching
- If no result is found for the search keyword, a relevant message should be displayed
- Validate hitting search without entering anything
- The search function should work with the Enter key as well as a mouse click
Sorting
- The sort feature should be available on all the pages throughout the website
- The sorting options list should remain constant on all the pages
- Verify the sorting functions correctly on the pages like category, search result, etc
- Verify that sorting functions correctly on the pages with the filtered result, after applying filters, verify that product count remains intact irrespective of sorting option applied
Filters
- Verify that filtering functionality correctly filters product based on the filter applied
- Verify that filtering works correctly on category pages
- Verify that filtering works correctly on the search result page
- Verify that the correct count of total products is displayed after a filter is applied
- The result should be relevant to the combination of filters applied
- The results should be reloaded when a new filter is applied, or an existing filter is removed
- Filter options should be quickly accessible on a page like a menu bar on the side panel
- Filter options should have checkboxes, radio buttons, links, dragger, text box, etc, wherever relevant
- The filters applied should be displayed on the top of the page just where the product listing starts
- User should have provision to remove filters from the top display of selected filters
- Each filter should have a label or heading to specify its type
Number of items displayed on a page
- The items displayed on a page should be relevant to the search criteria, filter, sort applied if any
- Validate pagination
Selection
- When selecting an item, the user should have an option for a quick view of with the details to avoid redirection to a new page (as per requirement)
- Selecting an item should redirect the user to the page displaying all the details of the item
- If a product delivery is location-dependent then, the user should be prompted to enter the zip code of the delivery address and if feasible, the product should be added to the cart; else proper message should be displayed
Cart
- All the items added to the cart should be displayed correctly with an option to checkout
- Validate adding and removing items in the cart
- Adding the same item more than once should increment the count in the cart
- The cart should be accessible from all the pages throughout the website, i.e.; the cart symbol should be present on all the pages
- The number of items added in the cart should be displayed on the cart symbol on all the pages
- Once an item is added to the cart, clicking back or forward page on the browser should not change the cart status
- User should have the provision to move items in the cart to wishlist or save it for a later purchase
- The total number of items and their price total should be displayed
- The details of the discount applied to the items in the cart should be displayed
- The items saved for later purchase should be displayed below the cart items for the ease of adding them to the cart
- The saved for later purchase item list should have the option to remove, move to wishlist
- User should have the provision to visit the cart and then continue shopping without checkout
- In case the user closes the site and come back later the cart status should remain the same
- The cart may contain a ‘Buy It Again’ section (as per requirement) with an option to add items to the cart which were brought previously
- The shopping cart should be updated in real-time, means if a user adds or removes a product the price and item number should be updated
Checkout - logged in / guest user
- The proceed to checkout button should be present on all the pages throughout the website if there are any items added to the cart
- Clicking on checkout should prompt the user to enter the password if it’s a logged-in user or enter username and password if the user is not logged in or allow the user to checkout as a guest user (as per requirement)
- User should be redirected to the delivery details page after choosing to checkout
Delivery details
- User should have a provision to select a delivery address in case of multiple delivery addresses for the account
- User should have a provision to add a new/remove delivery address
- If more than one item is selected for check out, the user may have the option to deliver to multiple addresses (as per requirement), which should redirect the user to the page to choose a delivery address for each item
- Further, the user may be redirected on the page to select your delivery options like the delivery speed (as per requirement)
Payment
- Cash On Delivery (COD) - The order should be placed without asking the user for any type of prepayment
- Cards:
- The card details that are stored by logged in users on their account details should be listed with an option to select the card and enter the CVV number
- For a logged-in user, if there are no card details stored in the account then, a provision to add a new card with details should be present
- Logged in users should have an option if they want to save the card details for future use. The details should be stored/not stored according to the user’s choice
- For guest users, all the required fields of the card details should be displayed to enter the details
- The CVV number should be encrypted
- After entering the CVV and confirming user should be redirected to the authentication page to enter the OTP or authentication password which should be encrypted
- In case of failed payment or transaction, an appropriate informatory message should be displayed
- The details of the discount offer if any on a particular card should be displayed e.g., cashback
- NetBanking:
- After selecting the bank, the bank should be redirected to the net banking login page of the selected bank
- The further payment process should be as per the net banking norms of the bank
- Third-Party Payment Apps/Wallets:
- The types of wallet payment accepted should be listed allowing the user to select one of them
- Further user should be prompted to log in to the selected wallet
- If there is sufficient balance in the chosen wallet, the further payment process should be as per the norms, else appropriate message should be displayed
- UPI - Enter UPI ID and validate the payment method
- Gift Cards:
- User should be able to convert the amount in the gift card as the payable amount on the website
- The exact amount in the gift card should be converted
- User should be able to utilize the amount for the payments
- If the amount is higher than the order amount, only the exact order amount should be deducted from the wallet, and the rest should be stored as it is
- If the amount is less than the order amount then, the available amount should be deducted from the wallet, and the rest should be shown in the order amount as an additional amount to be paid by some other means
Order details
- It should display the details of the order, such as name and image, the quantity selected, color, size, etc. selected, delivery details, estimated delivery period, total price, taxes, delivery charges, and discount details
- Should give the user provision to edit/cancel the order
- It should have options to apply any coupon code or promotional discount code
- The price should be re-calculated after applying the discount code
- In the case of prepayment, the exact order amount should be deducted
After Purchase
- The user should receive an order confirmation in the form of an email or text message along with the order number once it's completed
- User should have provision to modify the order (as per requirement)
- Tracking of the order could be done on the website itself or user could be provided with the tracking number of the courier service to check on the site of the courier service company
- The order details should display all the detailed and relevant information of the successfully placed order including the tracking details
- User should have the provision to cancel the order as the order is not yet shipped (as per requirement)
- Once the order is delivered, the user should have the provision to return/replace or re-issue the order
Wishlist
- Should contain items that were marked to be included in the wishlist (at any point in time) with the date on which the item was marked
- User should have the provision to remove the item from the wishlist or add the item to the cart
Subscriptions
- Should list the details of the membership or subscriptions opted for by the user
- Should list the subscriptions the user can opt for
SEO
Search Engine Optimization plays a very crucial role in business in this super-competitive world. Most of the users tend to click on the top five results of their search. Hence, to gain this user traffic, your website should be in the search's top results. SEO also improves the user experience of the website. Being on the top of the search results builds trust in the user and, in turn, helps in the promotion of the site, which will ultimately lead to a successful business.
- Check their meta tags and meta descriptions which describe the page
- Check that the title of the page is short and explanatory
- Check that there are headings that are significant and absolute
- Check that the images are 'Alternate text'
- Check that structure of the URL is not complicated and convey the information about the content
- Check that the site information, the site name and the slogans are unique and accurate
- Check if Google indexes the mobile site
- Check if the site is shared with social media sites
- Check that the XML sitemap covers all links of the pages
- Check that the custom 'search 404 error page' is created
- Check that the page contents effectively communicates the topic of the page's content
- Check if the anchor text is easy to convey the contents linked
- Check if the backlinks are working correctly
- Check whether a page has multiple URLs
Seller User
- Verify that authenticated sellers get access to product creation panel specific to the authorized categories
- Verify product creation panel is working fine for single/multiple product creation
- Verify that the maximum product creation limit for the seller is working fine, limiting the seller to create more than the desired number of products
- Verify panel validation for checking mandatory fields
- Verify that duplicate product creation is restricted through panel
- Verify that seller can update information and price of existing products
- Verify that product created/updated by seller get visible on the website after a certain period
Conclusion
These are the test scenarios related to functionality testing of the website. Apart from these, a website should also be on par concerning performance, security, accessibility, the responsiveness on mobile devices, usability, GUI, and mobile application testing. Here's a QA checklist in case you wish to test basic Frontend elements for your site.
Vishakha Bharnuke, Senior QA Analyst
With an eye to spot unique fashion items, you will find "Vishu" sitting in a cafe sipping cold coffee when not at work. She is poised, a maverick, and a secret keeper.
Leave us a comment