Today’s online marketplace is flooded with e-commerce websites, available all over the place. Switching from one to other is just a click away. Apart from the idea and deliverables, a website holds, also important is its proper functioning, better visibility to the end user, greater usability and UX. We need to ensure as QA’s/Testers that the website is not just market ready but also have the capacity to handle to market pressure and provides better user engagement.
So let’s look into key areas to look out for while testing before you ship your website to the market pool.
This is the key to your user entry point. Even before user creates an account, he performs a search on the application to find the product of its choice. A non-functioning search or a search with incorrect results may lead to confused and never returning customers. While testing for a search functionality, do check on what basis the search results are filtered at the backend. Majorly application performs the search on the title, description and the publisher name. The results filtered out are also based on the priority order defined in the algorithm. For example, if a search is performed on tyres, then first the search data will filter all items with the title name as tyres and then items that contain tyres in their description and so on. Also, make sure to play with the multiple combinations of filters and sorters with your search results. These are again the most used areas along with search that is used in parallel by the users.
|Search- Ecommerce most used tool by users
Testing global and localized search should also be focussed for. A global search may be spread across pages or across a static header. Searching on any item should navigate the user to the listing page. A local search is restricted to a single page and would provide results to the specific page results only. The key to testing your search is to understand the algorithm used to build search and test accordingly.
2. Product listing and detail:
All e-commerce websites revolve around their products. It’s the actual reason why users come to the website. All categories defined for different products should be neat and easy for users to identify the category they are looking for. All products when represented in the listings should have a clear image and title. All product details should have a proper description, reviews, payment options available. An image carousel is also one of the attracting points for the end user. It’s even more important to test images of different dimensions and sizes for the defined frame. Breadcrumb navigation from the item details page to the categories would also provide ease of use to the user. One of the important usability parameter to look out for a product listing is the scrolling through the pages. Whether its pageless scroll or pagination, its important whenever user clicks to a product to view the details and refer back, he should be auto-navigated to the listing item he was viewing and not to the start of the listing, though it relates completely more towards the requirement perspectives, but having such features just adds to the ease of the end user. As QA’s its not only important to look out the functional zone but also the usability and UI zones also.
3. Login and Create User
Post selecting the product of its choice, the user tends to sign up on the website or login. Hence it’s important to validate the functionality for both sign-up and login. We have multiple channels through which the user may sign up or login, for example, Gmail, Facebook, Twitter etc. While signing up its important to ensure the data we are auto capturing from social media via permissions is captured. For example, we may auto capture the user DOB from social media if the permissions are set on. Similarly, we should also validate the negative scenario where if the permissions are not set, then DOB should not be captured and the user should input it manually. The same goes out to testing across flows like, if user sign-up via any social media channel and post that want to have its own credentials on the platform, he should have so via ‘reset password’ options. Such flows should be catered in the backend logic. Make sure all flows of login are tested, for example before proceeding the product to check out, the user if not logged in, should be asked so there
4. Checkout and payment gateway integration
Once the product is finalized, the next important page or functionality to be tested out is the checkout page where the user inputs the information related to delivery details. For example, the user needs to input the delivery address, the timeslots, the mode of payment etc. This page needs to be validated carefully as before approaching towards payment the end user confirms its order details. All information should be displayed carefully and clearly. One needs to ensure all the CRUD(create-read-update-delete) functions are tested and working on the checkout page. Post selection of payment option, the flow should be tested accordingly. For example, in the case of COD payments, the user should be made aware at every step about the transaction been done along with the status and receipt. The same goes out to the online payment mode. Whether the payment mode is a wallet or via card, those flows should be tested, in order to provide seamless user experience. On how to test integration of payment gateway, please refer my article
Another important element on the checkout page, which should be focussed for is the coupon code. This parameter is often the most neglected feature while testing an e-commerce website. But if incorrectly implemented, its application may result in a financial damage to either of the involved parties.
UI and Usability are important aspects to be catered for while testing the checkout page. A user should clearly be able to make out the different steps of action he needs to perform with validation message appropriately provided, to help guide the user.
5. Inventory management
This feature though not visible to the user end but holds a higher priority and impact in terms of its functioning. I have come across people, who though have been testing the e-commerce application, but have never explored this area. Inventory management helps to ensure the product quantities are updated based on transactions and cancellations. This may be applicable to all kinds of rooms, reservations and rental-based business also. One needs to ensure if a product is bought by a customer its inventory should be auto reduced and if cancelled, its inventory should be auto updated. The same goes out to reservations if the date is booked for a slot, no tickets should be available for that date and if cancelled, those dates should be enabled in the system. One needs to cater for cases dealing with parallel user execution also. For example, if inventory has 2 items and one user tends to book or buy those two items along with a parallel user booking for the same single item, in that case, proper validations should be implemented across pages. For example, in this case, once the user reaches the checkout page, a check on the backend should be made if the product still has the required inventory or not. If not, the user should be provided with an appropriate error message as the product is sold out and no longer available. Similarly, such validations should be made across pages post the user books the product. Inventory management is the key for happy and informed customers. Any chaos at this end may lead to a dissatisfied customer.
6. Post payment flow
|Transaction Records Captured in Application
Once payment is been done, its important to intimate your customer at every step, from the transaction details to the delivery update and their experience post delivery(reviews if required). It’s important to ensure as a tester proper emails are received at the customer end with valid information. Multiple times issues of incorrect details presented in the email are reported by customers. Do ensure that your customized email templates are tested across different email mediums like outlook, gmail, ymail, yopmail etc. Since sometimes few CSS or HTML are not supported by these email channels resulting in major UI issues. Also important is your application representing the post-payment details also. For example, all applications should capture details of every transaction performed along with delivery details and the status of the booking. This helps your customer been informed and use it for any future references. Transactions records should be thoroughly tested and maintained across user accounts with appropriate information captured.
It’s important to understand our targetted audience while we are testing our application. We need to draw analysis for the browser support based on our customer reach.
If the application is targetting India, US, UK, it’s important to analyze the frequently used browsers and ensure those browsers are covered while performing testing. Many times, due to crunching time, we tend to overlook the different used browsers which again leads to multiple issues popping up. One can ensure at least a round of smoke performed across the different browsers to ensure they are functioning with no major UI issues. You can reach out to multiple online analysis tools available (https://www.statista.com/statistics/268299/most-popular-internet-browsers/, http://gs.statcounter.com/) that helps you drill down to the browsers you should focus on or even your product manager or client can let you know the browsers they are including in the scope of the project.
8. Responsive testing
Responsive website today is like almost a mandatory check that comes into scope while building an application. Majorly all application nowadays is and should be responsive in nature due to the ever-increasing online users reaching out websites via different mediums specifically mobiles. It is of utmost importance to test your website is responsive or not via virtual or real device support. Depending upon your test bed, you can distribute your testing for a responsive website on both real devices and simulators.
[I will be shortly writing an article in detail describing what to test while looking for a responsive website and simulators, emulators]. Make sure your coverage across the different pixels set is efficient while performing responsive testing. Major focus while performing responsive testing is on the UI and usability aspect. Make sure you check out features like rotation mode also while performing responsive testing. You can make use of all the available online simulators or even the most common ones like chrome dev tool, browser stack
9. Performance testing
10. Security testing
These days increasing vulnerability and users information is been compromised in the online space. It’s vital to ensure your application is tested from the security perspective. Even if you do not belong to the penetration testing world still as a QA, there are few basic OWASP parameters that you can perform manually like cross-site scripting, authorization, authentication, URL manipulation etc
without the help of tools.[I will be soon writing down another article detailing out as how can we test these mentioned parameters of OWASP, till then you can refer the web for their better understanding :)]. Online available tools like ZAP, Burpsuite, AppScan can also help you achieve these owasp parameters and perform detailed penetration testing on the website
. The main essence behind security testing in an e-commerce application is to ensure user’s data is not misused and neither is the merchant data.
The above-mentioned areas are important to understand and should be testable before the application is pushed to the market pool. Apart from these, we can also cater to areas like banner images, homepage as those being the landing page and the user retention point should also be tested through. With ever rising market competition in the e-commerce space, there is no scope for non-functioning functionalities, no support of user base to multiple browsers, no support on mobile browsers, performance issues or a vulnerable application. With every release on separate environments(test, UAT, production) it’s important to run through smoke covering the major backbone areas of an e-commerce application ensuring its up and running.
With this closing my article with a quote that speaks volumes for your e-commerce application by Annette Matzen: