Digital transformation is a big idea and means many things; one industry that has been most affected is retail. Many consumers prefer to shop online instead of visiting retail storefronts. Gone are the days when shopping entailed going to the mall to check out different stores, compare products, finalize the purchases and go home with an armful of shopping bags.
Remember the when you went to the mall, especially during holiday? Often you would encounter:
- Limited or no parking.
- Long lines to pay or just to get in.
- A store that didn’t have enough workers on the floor to help you find what you wanted.
- What you were looking for was out-of-stock.
In the “old normal,” such inconveniences were simply part of the shopping experience. The “new normal,” whether it be online or brick and mortar, is all about convenience. Depending on the type of product and target market, consumers are just as likely to finish their journey in a parking lot as they are in front of a PC or on their phone. Furthermore, the online experience adds new twists to the customer journey. Customers often start online, to check out product reviews, prices and availability and stores can help extend the digital connection. “Smart” e-commerce systems remind customers to finish checking out, send alerts for flash sales and once the purchase has been made, offer real-time updates of where the package is in transit. Under the hood, there are many digital aspects to this evolving retail ecosystem that must be reliable and efficient in order to ensure a positive sales outcome. What does all this take from a software QA perspective?
The online store: e-commerce
E-commerce giants like Amazon, Zappos, eBay, and others were trailblazers at the forefront of the online shopping revolution. For the early adopters, it was all about websites, eyeballs, and clicks. The advent of mobile apps as a buying and selling platform has changed the customer experience equation yet again. While the customer journey continues to get easier, it continues to grow in complexity. To succeed, online retailers will have to shift their business focus and become more like a software company specializing in retail.
The customer journey and online experience
As shown in Figure 1, there are several phases of the customer journey, each employing different systems and software that are integrated throughout the transaction cycle. It is crucial for retailers to invest in a holistic and integrated QA testing strategy to support this multistep process. This means building an integrated test approach that starts with the customer-facing front-end aspects, such as device functionality, UA, and UI, and combining with the invisible to the customer back end, such as inventory and payment processing. Only through thorough integration testing across systems can retailers ensure the quality of the customer experience. This means user stories must be created across systems. For example, after making an online purchase how does the entire return/exchange process work if the customer starts the process on past the return policy or sooner than the return policy allows (i.e., immediately following the purchase).
Figure 2 depicts the many facets of the customer journey that need to be deeply understood to approach retail software testing with an integrated viewpoint. Let’s examine the customer journey with an eye towards the specific QA and testing required to ensure the experience is smooth and uneventful.
Mobile and website testing
The user e-commerce experience starts and stops with a mobile device and/or website. These ecosystems have diverse hardware, software, and network configurations under constant change as new devices, browser, and operating system versions are being constantly updated. A mobile testing strategy using a matrix QA model is imperative for proper quality control.
Addresses browser compatibility, operating system compatibility, mobile compatibility, printing options, and possibly starting the journey on one device and completing it on another.
Covers basic functionality, including menus, links, and forms; role authentication; and complicated features such as database connections and third-party component integration.
Needs to be performed in a comprehensive and structured manner early in the development cycle to ensure the customer has no lines to wait in. The secret sauce is determining what variables, parameters, and scenarios to test and, more important, what data to collect and analyze.
Testing payments is probably one of the most difficult elements in e-commerce because there are so many potential mistakes that a user can make. This means that negative testing is critical along with security and confirmations to make a user feel safe and comfortable with the process.
As a baseline, mobile and web applications should be tested for potential vulnerabilities as identified by the Open Web Application Security Project (OWASP).
Big data testing
Big data is just that: big. Aggregation at the right levels and protecting data is paramount. The question is what are you collecting, why, and what you do with it. As an elementary check, you should ensure you’re following your own user agreements on what information is collected and how it’s used.
Regression and automated testing
Code changes to any web or mobile app require some level of regression testing. This can either be 100-percent manual regression testing or more often, a mix of manual and automated regression testing. Two open source tools that greatly facilitate the automation effort are Appium and Selenium.
508 Accessibility testing
This is required for any federal government, organization, or educational institutions that receive federal contracts or funding. Testing is generally per the Web Content Accessibility Guidelines (WCAG 1.0 and 2.0).
This often-overlooked facet of testing is taken for granted by many companies that don’t realize that any friction or slightest confusion could cost them a sale. Click-oriented heuristic tests and error-prevention analysis are just some of the areas that need special focus.
In summary, with retail transforming so fast through the usage of different technologies merged together, the customer experience and journey will continue to be enhanced, improved and broadened. This environment leads to many pieces and parts that need to be tested individually and as a system. The permutations are daunting. Those that are successful in deploying resources into the above-mentioned facets of software testing at the right time and place will win the race towards higher quality systems that keep customers coming back.
This article is published as part of the IDG Contributor Network. Want to Join?