A recent column on The Future of Commerce cited an eBay study which found that 77 percent of shoppers expect a seamless, integrated experience regardless of whether they’re in store, online or using a mobile device.
So software companies serving today’s technology-infused environment are racing each other to develop new applications, and upgrades to existing ones, while ensuring that their offerings don’t have bugs or errors.
Retailers and software merchants who release new applications and updates too fast with defects and gremlins could easily lead to disgruntled customers and damage to a company’s reputation. When speed and agility are critical, a rigorous quality assurance testing process will go a long way toward keeping you in the race and ahead of the competition.
When conducting quality testing prior to a software introduction or upgrade, software providers should:
Put quality at the core of the business
That means including all IT and business personnel in implementing and upgrading software. All technical and functional stakeholders also should participate in quality assurance, contributing specific guidance for what to test and correct. Business users who understand the retailer’s or software merchant’s business purpose render the testing truly valid.
Establish a formal QA process
Planning and executing quality assurance for new and updated software is as important as the design and development of any individual app. “Formal” means the process is designed and documented by software testing experts inside and/or outside the organization—people who know all of the essential steps and understand the risks and consequences of skipping steps or failing to follow instructions. “Formal” also means that the process is standard procedure—not something that happens only “if we have enough time.”
Test the whole, not just the parts
Expand thinking beyond “unit-level testing” done in the development phase, and reduce the level of business risk with extensive, end-to-end testing of core systems, data and websites. For example, if a new mobile order-entry app is being introduced, the app itself should be tested, as should every other app, database and web page it affects. Does an order placed on the new app feed information smoothly into the inventory control system? Are inventory reductions quickly displayed on point-of-sale screens? Are inventory levels displayed correctly on the e-commerce site? And has all of the sales data been captured by the accounting system?
Streamline test management and execution
Root out inefficiencies and inaccuracies from the QA testing process using as much automation technology as possible. Technical and functional testers should have a platform that facilitates collaboration by accurately recording every step of the process for convenient, rapid review down the line. IT and business analysts testing software shouldn’t have to cover the same ground several times, letting days and weeks slip away. Automation tools help ensure that identifying, communicating and fixing bugs once will be enough.
Use technology to compare the test and live environments
Testing in a staging environment is common, but live is what counts. For example, using a purely manual QA process increases the risk of pricing errors on e-commerce sites. A person comparing pricing information between a web page in the staging environment and one in the live environment might miss a single extra zero in a product’s price—human eyes sometime see what should be there—but computers can’t make those mistakes.
Following these guidelines, our customer completely turned around its quality control and regained its customers’ confidence. The company transformed itself into a software testing center of excellence with happy customers who are updating to new releases far more often than before.
Colin Armitage is CEO of Original Software, a software testing technology company serving 400 organizations in 30 countries.