In part one of this blog series, we looked at the people that could form part of an in-house test team, the skills they might need and the different role types that you could recruit for.
In this blog, we take a closer look at the processes that can help ensure any new in-house QA team is efficient, robust, effective and measured.
What impact does a lack of process have on a QA team?
Effective testing is more than just hiring the right team. Without a fundamental QA strategy and test documentation in place, you may find that your QA team cannot achieve its expected outcomes.
Poor QA or no QA at all can have a detrimental impact on a user’s experience. Bad experiences can lead to negative customer reviews, damaging brand reputation, and potentially reducing sales. While testing should be considered essential for each development phase of a software product, QA should go beyond simple bug finding and take a comprehensive look at the product and how it is developed to help minimise any issues that may affect the overall user experience.
Testing is often bolted on at the end of development without considering the realistic timeframes for testing and the anticipated increase in development work because of the issues identified during the testing process. When testing begins early, it is much easier to find and fix errors. Catching critical issues too late can lead to costly delays in software releases.
Different development models can lead to issues; for example, in the agile model, software development evolves through collaboration to make improvements on an ongoing basis. But with a collective responsibility shared between developers, testers, and any additional stakeholders, sometimes any issues raised from testing can suffer from a lack of prioritisation.
A lack of process can often mean a lack of clarity around test coverage and ownership. Without a clear delivery pipeline and process incorporating QA, there can be a lack of certainty about the quality of the final product.
Why do you need test documents?
Test documentation can be used to collate information on test strategy, test execution, who will be responsible for what, metrics for success, and recording test results.
As well as being required for the test team, having different types of process documentation can also be helpful if you need to provide evidence on how you would conduct a testing project. These requirements could potentially come from an internal stakeholder or an external client or software development partner.
Being able to demonstrate a comprehensive suite of test documentation allows stakeholders to have visibility on the process and instils confidence in the whole testing process.
What are the different types of test documentation?
Let’s look at the different types of documentation that can help aid the test team.
- Test Strategy – this document will outline your overall approach to testing. Usually, a test manager or senior project manager would create the test strategy to define appropriate testing approaches to achieve the desired objectives and align these with the overall business goals. This document can also create a level of transparency to the process, ensuring that all the potential stakeholders in the software development lifecycle have sight of the strategy and can see if the actual performance of the test team corresponds to the planned activity.
- Test Plans – this document outlines the planning for the testing process. It contains guidelines for the test approach, tasks to be carried out, risks & dependencies, test environment requirements, resourcing, pass and fail criteria, timeframes, and constraints.
- Test Scripts – these documents describe the actions the test analysts will perform to ensure the piece of software functions as planned. Using a scripted testing method should explain what the inputs will be, the actions to be taken, the expected and actual response that has been recorded. This approach can ensure that each step is measurable, traceable, and repeatable. The ability to write test cases is a key skill for your team to have. Alongside this, you may find your project benefits from allowing experienced testers to employ out-of-the-box thinking in an attempt to break the application. Known as exploratory testing, this differs from scripted testing in that detailed test cases aren’t created in advance. Bear in mind that a new team of testers might not yet have the collective experience and knowledge to perform exploratory testing well, so it will likely be beneficial to have well-documented scripted test cases when starting a test team from scratch and then think about expanding your team with more experienced test analysts as your QA team evolves.
How will issues be reported?
Consideration should be given about how your team will report on its test findings and how feedback will be provided to others involved in the development process.
While using spreadsheets for this purpose might be a temporary solution, especially while the QA function establishes itself, they shouldn’t be considered a long-term option. Moving over to a dedicated issue tracking tool can help record, report, assign and track the bugs identified.
There are many defect tracking tools available, and most should also allow you to create shareable reports. These reports can help prioritize issues, enable the developers to action and address any bugs raised and allow stakeholders, both technical and non-technical, to get an overview of the test effort. A defect tracker is a very simple way to help enforce a clear part of the QA process.
The Impact of Having the Right QA Processes
We’ve covered here what types of process documentation you may need to ensure a well-run and effective QA team. But what is the likely impact this will have on the overall output of an in-house team?
- Keeping track – detailed process documents allow anyone within the team to follow the correct process. It can speed up the ability of a team to get started on any new test project and ensure that product managers can gain visibility of how the process will be managed.
- Standardisation – clearly documenting previous test scripts, testing frameworks, and test environments mean that this can easily be reused for new test projects, saving time.
- Efficiencies – outlining the results of a testing project means that the team can review its effectiveness and make improvements where necessary.
Quality Assurance goes beyond simply hiring a tester and expecting them to deliver results.
As we have explored here, having a defined test strategy and process documentation will bring much-needed structure to how your team works. However, creating these will often require an experienced QA manager who can begin to develop the strategy and experienced test analysts to quickly set up appropriate test cases.
By hiring a single test analyst, companies that are new to QA might start with a junior hire, with no management or strategic experience, who might struggle to shape the team. This may lead to the business having high expectations of a test function with no clear strategy or defined processes, and it will be harder to assess the impact on the bottom line.
Before setting up an in-house QA team, you should ensure that the business has a clear objective of why testing should be managed by an internal team, understand the documented processes that need to be in place to ensure it runs successfully and who you might recruit not only to deliver the test effort but to set and manage the ongoing strategy.
For some businesses, choosing to work with an independent test partner is a way to ensure that the testing will be conducted within a clearly defined strategy and with the necessary processes already in place.
Outsourcing can also reduce your overall cost of software development when compared to hiring an in-house resource. Advantages of working this way can include being able to draw on extensive collective experience and scalable team structures.