Ensuring and maintaining quality in digital design and development projects starts earlier than most people think - and goes way beyond simple testing of individual functionalities or inspecting code for defects. Before starting design and development or testing specific features, several things need to be considered and taken into account from a quality perspective. While there are no hard-and-fast rules for what should be included in this early phase of pre-testing activities, proper planning and specification are certainly key components of a successful QA process.
Reviewing requirements - putting all pieces together
Badly written requirements can not only cause problems for development, but also for maintaining and assuring the overall quality of a project as a whole. That’s why at Luxus we make sure to always start with a good requirement—the cornerstone of every great feature—so that we can consistently deliver high-quality results to our clients.
What elements can make a requirement clear and well-specified?
- Accuracy. All the functionalities and visuals need be described in as much detail as possible and contain all the vital information of the product that’s being delivered. It is important to take into account the perspectives and goals of the product owner, marketeer/business owner, analyst/requirement author, design stakeholders, as well as the end user.
- Consistency. Any discrepancies between the system architecture and technology must be solved before the development work can start. Consistency also means that requirements should not clash with each other, features should also be modifiable and easy to improve upon in the future where necessary. Agreed design guidelines should also always be respected across the board.
- Understandability. With the information provided from user stories, authoring options, functionalities and design examples, the QA specialist should already know whether the feature is testable or not. If the feature is considered testable, the QA specialist should already have a clear picture in their mind of the complete feature.
Planning and writing test cases
After requirements have been reviewed thoroughly from soup to nuts, all possible gaps and inconsistencies need to be resolved in the requirement's specification before the developers can finally start their engines. At this point, the QA team have already started to prepare their work for testing upcoming features by reviewing requirements and documenting different scenarios and edge cases that may occur in the planned test activities. While it's then important to be prepared for all eventualities, it's also important for the QA team to prioritise possible scenarios and issues based on their business impact, in order to avoid getting too bogged down with hypotheticals.
To properly prepare for testing, the QA team works quite early on to systematically document specific test cases; not just for themselves, but also for the whole team. This documentation is especially useful if/when changes are made to a requirement which requires re-testing, but also to help new team members who may join the project . Test case documentation is also critical when the product owner and end-user audience starts UAT (user acceptance testing).
So what makes a good test case? Good test cases consist of a strong definition and meticulous description of the test's specific conditions and dependencies. Each test case needs to be written with care, with the method for testing a case thoroughly specified for all - as New Kids On The Block sang - step by step. Along with the steps for each case, the description includes projected results which can then be compared to actual results when testing has been fully completed.
Once pre-testing activities have been carefully planned and developed feature has been implemented into a test environment, it’s time to execute the test cases.
One cannot underestimate the importance and role of solid processes and procedures when it comes to assuring the highest level of quality, so for our post discussing quality and quality assurance, we'll dive into more details around the actual testing process, activities across different environments, the different types of tests, how to maintain quality on and ongoing basis, and how to react when you run into problems along the way.