Hello, Habr! Anastasia Aseeva-Nguyen (Engineering Practices Expert at Tinkoff Group) invites testers for a free Demo lesson “Metrics”, which will take place as part of the new professional course OTUS – “QA Lead”. And we are publishing an article by Anastasia Sharikova, head of the testing department at Bookmate.
Today we will talk about checklists – an excellent universal tool that can help specialists of all levels in everyday QA tasks. Let’s turn to theory and remember that there is also a special type of testing that uses them:
Checklist-based testing is an experiential test design method in which an experienced tester uses high-level lists.
Unfortunately, many people forget that checklists can be used not only as a preparatory stage for further writing test cases, but also on their own. Often they can even replace them entirely, and the options for their use and the pros and cons will be written later.
Use cases for checklists
As it was correctly written by S. Kulikov in “Software Testing. Basic course”
… the tester has to work with a huge amount of information, choose from many options for solving problems and invent new ones.
– and in many cases a really excellent tool for development, structuring checks and for many other tasks a QA specialist can use checklists. Let’s take a closer look at some of the options:
Ad-hoc / Exploratory testing – structuring of ideas and tasks in the case of such types of testing + a mark for yourself about what has already been tested.
Checklist based testing Is a fairly popular experiential test creation method in which an experienced tester uses high-level lists. The list in this case contains items that must be noted or remembered, or consists of a set of rules or criteria according to which the required software product is verified.
Mind Maps – despite the fact that most often the checklist looks like a list of blocks, sections, pages, and other elements that should be tested, it can also be visualized as mind maps. And you can not only compose them yourself, but also find ready-made ones, which will save time and look at the tasks of checks with a fresh eye.
“Group “testing – features, complex tasks, teamwork, in all these cases, you can use lists to synchronize checks in a group working on one task.
Acceptance of tasks – and in this context we can talk about the visualization of testing stages, and about the visualization of the readiness to take the task into work. In the first case, we can make a list, an example of which can be found, for example, here … In the second case, we can create, for example, a checklist in a task in Jira, which will require documentation, layouts, information about the environment and other important information to transfer the task to the Testing status.
Informing management – It is often easier to send a link to a constantly updated checklist that will show the percentage of completion than to answer hourly questions like “When? Have you checked it now? “
Helping colleagues – of course, TDD and other cool practices are good, but sometimes it may be enough and just send the developer a list of checks that were previously compiled for a specific task, so that he checks if nothing is missing. It works especially well if a developer on the project is recent or a junior level.
Traceability matrices – in fact, the checklist will serve as the basis of this matrix. More details about the example, you can read, for example, here…
Test planning – one of the options for drawing up test plans, which is quite the case.
Of course, this is not the whole list of possibilities, but I am sure that many will be able to apply some of this on their own project, especially in small teams.
Ways to compile checklists
Here your possibilities are almost endless – lists can be structured, multilevel, or in a free order – the main thing is that the format is convenient for those who will use them personally. Basically, their format will depend a lot on why you compose them and what tool you decide to use for this. And of course, do not forget that their important advantage is the ability to be reused many times.
Benefits and Difficulties in Use
Let’s consider the main advantages and difficulties that may arise when using checklists for various cases and tasks:
Flexibility – this type of verification can be used in all levels and types of testing, albeit in a different form, in addition, it is easy to adapt it to the needs of a specific task.
Ease of creation and maintenance It’s easy to create, use and maintain a checklist, and there are quite a few readily available tools out there, but I’ll cover them at the end of the article
Convenient to use in and out of a team – checklists can be used not only within the team, for example, for joint testing of one feature, but also as a source of information for development teams interested in information and for management.
Simplicity of visualization – it is easy to understand what is already ready, what is not ready, to assess the possibility of transferring a task to work, for example, or to study a product or part of it for the presence and state of critical problems without spending time searching in jira or similar systems.
Extending test coverage due to differences in the passage – here and the opportunity to avoid the “pesticide paradox” (for more details, you can to honor from the author of the term), and the ability to combine checks in different ways, in the case of testing, for example. functional.
Insufficient detail for some purposes – for example, within the team, the content will be clear, but external customers or management may not understand the essence of the list items.
Possibility of different interpretation QA engineers with different backgrounds can perform the same tasks using different approaches, which can be both a plus and a minus.
Not always convenient for reporting – False system components, functions and their interaction are difficult or even impossible to illustrate using checklists.
Not suitable for beginners and juniors – if an experienced employee can easily understand what should be checked, monitored and taken into account using the lists, since he has sufficient knowledge about the project, with a newcomer or junior there is a possibility that this level of documentation will not be enough.
As a result, I will list some of the most popular tools for creating checklists:
Trello – also has the functionality of making checklists within tasks.
Google.Sheets – this tool needs no introduction. Nevertheless, this, of course, is not the only solution with tables, Excel will work too!
To Do Is a rebirth of Wunderlist and a great checklist solution, especially for personal use.
Miro – and here it will be convenient to create Mind Maps.
Do you know more cool tools and use cases? Write in the comments!
Is it interesting to develop in this direction? Sign up for a free Demo lesson “Metrics”, and also come to other Demo-lessons for QA-specialists:
“Scripts and scenarios of load testing – Performance center (PC) and Vugen” – broadcast within the course “Load testing”