In our last blog post, we talked about why we need Software QA for eCommerce websites. This Software QA for eCommerce series discusses the QA support eCommerce site developers need to integrate Software Quality Assurance (SQA) into their development process and to introduce the three areas involved. This blog post will address the first area: QA support functions that are required once or more per day.
Daily QA Support
Daily QA support functions are accessed and used at least once, and typically many times, in a day. Their purpose is to keep everyone in communication so the development staff and SQA personnel are working in concert. Daily support functions consists of defect tracking, test process and code documentation, functional testing of new features and bug fixes, and test data generation.
This is the principal resource for managing the day-to-day development process and is the main communication channel between Quality and Development groups. It provides the source data for trend analysis of the fix/break rate and the feature completion rate. It can also serve as the alert mechanism for high-impact critical code development issues.
Test Process and Code Documentation
While test planning begins at the start of the project, code development and test case generation need to happen in concert with each other. Each feature is documented in detail to facilitate thorough test case design, and test cases are documented by the features they verify. The best way to do this is via a centralized system that facilitates simple, direct data entry by both development engineers and QA personnel.
Functional Testing of New Features and Bug Fixes
These manual tests dig deep into specific functionality to test that particular functions meet requirements, handle errors appropriately, work across various scenarios, work at boundaries, and handle unusual interactions. Examples of QA functional testing activities include looking at CSS content effect on the pages, whether they render correctly across various browser/OS combinations; testing that the expected products render on specific campaign landing pages; testing bulk uploads of various types; and verifying that attempting to log in with a bad password is handled correctly.
Test Data Generation
Testing eCommerce systems requires the ability to easily and quickly generate user accounts of varying properties in order to test various sales options, customer categorization techniques and site access analytics. Construction of a newly-designed web system requires ready access to its transaction database structure. There is often a requirement to change the contents of the database during development and/or testing of a feature and then exactly reverse that set of changes so that the exercise can be repeated.
First Steps toward Daily QA Support
When QualityLogic takes on a QA project, we review system and feature design specifications and create an overall test plan. From this, we document test procedures and system support requirements and create appropriate test cases. As new features and bug fixes are delivered, we execute manual white box and black box testing, review and write up the results, and further refine the test cases.
We work with customers to improve existing support functions and implement new ones. We work up defect/feature report attribute lists and reporting standards, put in place organizational processes and reporting structures to process the defect records, and update system QA entries continuously during test project execution.
Our test engineers research all the parameters associated with user accounts, create an automated user generation system or a database script set to generate test users exercising those parameters, and design reversal processes/scripts to restore the database contents back to their starting condition to support repetitive tests.