Software QA for eCommerce Websites – Part 4
Iterative Verification – continued
In our last blog post we talked about three iterative QA functions: sanity checks, integration testing, and user acceptance testing. Today, we’ll finish the subject by covering API verification, third party service access, and test automation.
API Verification
API tests are designed to verify that each resource behaves in the manner described by the customer’s specification and the functionality of the operational code written to that specification. These tests generally fall into four categories: baseline request response for individual calls, legal parameter limits, illegal parameters, and business logic verification. API testing typically exercise interfaces to content management and credit card authorization systems.
Third-Party Service Access
Third-party services support functions that the site operator doesn’t want to develop and/or maintain; most commonly credit card authorization and site traffic analytics. These are major drivers of business activity and require careful verification of the site’s interactions with them.
Test Automation
This is more typically a consideration for site maintenance, however, a large development project can often make use of automation to support verification of complex site functions that interact with many other processes and/or receive many updates. For most projects, there are two areas to consider for test automation:
- Sanity Tests. Creating a set of automated sanity tests that can be run on every build gives the team quick feedback about the basic system integrity with every code delivery.
- API Tests. Creating a set of automated tests that exercise the APIs of integrating systems can reduce the amount of trouble-shooting time required to understand systems issues.
First Steps toward Iterative Verification
QualityLogic creates and executes tests that exercise APIs individually and in functional groups across edge and corner test cases where appropriate. We perform tests that cover the spectrum of parameter values, load, stress, endurance and scalability. Where applicable, we will explore the opportunity to automate these tests.
QualityLogic identifies test servers for third-party systems and works with development to configure the QA environment to connect with them. We identify appropriate test data and activities to exercise the third-party interfaces and design tests based on the system requirements of each. Where necessary, we execute manual white box and black box testing of the web system’s interaction with third-party interfaces.