Quality Assurance (QA) is a critical part of any web or application development project. It is very effective at identifying technical implementation issues and often issues with front-end design implementation and helps verify that a project has met the project’s requirements and technical specifications without bugs or other defects. In any case, one key factor that unites the disciplines of User Experience and Quality Assurance (QA) is the usability.
It is true that most QA initiatives focus on following predefined test cases, but in order for QA to be successful, it should not be assumed that traditional QA can validate that your product is facilitating the desired user experience. In short, QA is not User Testing. It is much better to work usability from the very start than waiting until there’s a near-final design. Furthermore, this early focus on usability also vastly boosts ROI.
That’s why we want to focus on the way Quality Assurance and User Experience address usability throughout four broad phases of agile development, where the cycle is different to a more traditional approach to development projects. Here, the initial planning and analysis is kept to a very high level, just enough to outline the scope of the development project. Then the team goes through a series of iterations, analysing, designing, developing and testing each feature in turn within the iterations.
Research & Planning
Business analysts and designers typically dominate the research phase of agile development, but this phase is also crucial for Quality Assurance. The basic idea behind specification by example is the creation of one source of truth on requirements, encompassing all perspectives. This process happens continuously, supporting users by creating living documentation that evolves much in the same way as product usage.
Development
While the development phase comprises a variety of activities, the process of designing the user interface is of grave importance to both User Experience and Quality Assurance. During this period, User Experience should build and refine a style guide that provides information about standards for the application under development. This is an opportune time for UX and QA to work together to develop a shared understanding of how the application should look and behave. The sooner QA becomes aware of the areas that won’t change, the sooner they can build regression tests that they should repeat during every testing cycle and note applicable standards.
Testing
Interact with the developed product, not just static screens or prototypes. Early prototyping can help reduce the likelihood of surprises when a product is produced, but it is important to test a design in its final form and not only via prototypes. During the testing phase of the agile development cycle, Quality Assurance may conduct different kind of tests (unit test, regression tests, smoke tests, and exploratory test). However, the rest of the team focuses on activities relating to other phases. This opens up a world of opportunities for the disciplines to work together.
Release
Once a team has researched, developed, and tested the code, it’s time to release the software. A very important part of the release phase is implementing and tracking analytics. The results can produce business insights, identify patterns of user behavior, and catch bugs in the system. When you are in beta, these analytics validate your product concept and potentially save you from making a big mistake before your product even hits the market.
Conclusion
Throughout the product development process, there are various activities on which User Experience and Quality Assurance can work in tandem, including specification by example, the creation of a style guide, usability testing, and analytics. Pairing the User Experience and Quality Assurance functions early and often can help you to close gaps in your understanding and enable you to build a truly usable product.