Remember one of the agile values 'Individuals and Interactions Over Processes and Tools'. This means that you should not over engineer a complex process or implement 'the best' (and usually most expensive) tools. However, you still need a process and preferably a test management tool when you want to measure the quality of your product. Sometimes we get the opportunity to help a customer in selecting a test management tool. Find out how we do it here.
Test management tool
Before we start thinking about which tool to select, we need to make sure that we all understand what a test management tool is and what it has to offer.
"It is software that is used to store information on how testing is to be done, plan testing activities and report the status of quality assurance activities."
Following this simple definition, we can define some ‘criteria’ to be able to select the one that fits the needs of the team or organization.
Firstly, it is important that the test management tool is easy to use and easy to understand through a clear interface. Each action you do should feel intuitive. Clear documentation and an active community help a lot to counter this. A tool should also allow for independent configuration between projects/teams. If a tool lacks this, we generally notice that it is not used to its full potential, or it is simply not being used at all. The more complex a tool gets, the less suitable it will be for an agile approach.
Another important criteria is structure. Writing test cases is a time-consuming job and if there is one thing a tester usually lacks it is time. So a clear interface will make it a lot easier to create test cases with the information that is required for your project. A user should be able to use the test cases in an efficient way. This also means storing them in a structured manner so that they can easily be accessed and maintained. Additionally, you also want a clear overview of which test case was executed in which ‘execution’ against which version of the software. Preferably you even want to see the result of those runs. So, to achieve this it should also be possible to add test cases to multiple tests runs without having to re-create the same test case for a different run. Even the possibility to work cross project without having to copy everything is a huge time saver. This structure should also provide enough flexibility to set it up, according to the needs of your team or organization. The less time you need to spend in keeping your structure up to date, the more time you can spend on measuring the quality of your product.
Besides usability and structure, collaboration is an important factor in choosing the right test management tool. Especially in an agile environment collaboration is key. The tool should be easily accessible to all stakeholders who communicate regarding a specific project. Also, it should be clear where to find that information. Collaboration is not only about communication, but as well about the way a team can collaborate with other teams using the same tool. Therefore it is really important that it is possible to use the ‘information’ (test cases, test executions, bugs, …) cross teams. For example, if you are working on the same product, but in different teams (front-end, back-end), you want to know if a certain back-end issue is blocking your front-end test case or the other way around.
Fourthly, we have reporting. Reporting should clearly outline what is happening at a given moment in time within a project. Real-time reporting allows fast responses from your stakeholders or team members. The reporting mechanism should also be flexible enough to provide enough options. So, a team can show the information that is required based on the needs of the project.
Lastly, ‘integration’ with other tools is an important one. Because this is the item that generally has the biggest impact on your decision for a test management tool. Integration with project management tools like Jira will help in getting a more complete overview on the project. Integration with your test automation tools such as Jenkins, Gitlab, ... will allow to manage both your automated test and manual test in one tool. This allows for more detailed reporting. A tool that is not able to integrate with your existing project management tool or with your automation tool, can make your agile process more complex. That is exactly what we want to avoid.
Observe and listen
When you start the selection and implementation phase, you should not just google for the ‘best test management tool’ that has all the above criteria. Keep in mind ‘it doesn’t take an elephant to kill a fly’. The same goes for when you are searching for a test tool. You often don’t need the ‘best’ tool for your project/organization needs. It is important to start from what is already in place. Besides that, you must look at what the needs from your organization or team are. Clear requirements will help you in checking which of the above criteria is the one you should focus on. This helps you in narrowing down the list of available test management tools.
Proof Of Concept
When you do eventually select one or two possible test management tools, ask for a trial license. Create a test project and demo it to your stakeholders. This will give you some hands-on experience and it is the only way to make sure that the tool does what you want it to do.