
Any little experienced QA engineer (or the tester in common) will be able to immediately call five different types of tests: user convenience, smoke, load, regression, configuration, interaction testing, etc. Some types of testing are rarely used, such as load testing, user-friendliness testing is often used, about such exotic types as configuration testing or interaction testing, many have heard only in the Kaner and Falk books “Software Testing” and have never been used in their work. But there is a kind of testing, about which we can say quite clearly: everyone did it. I'm talking about regression functional testing. This type of test is probably one of the most important, tedious and time consuming.
The whole essence of regression functional testing is transmitted by the picture:
')

Usually, for conducting regression testing, test cases are written in which they step by step describe the sequence of actions to test a particular functionality. But working with test documentation is rather difficult (creating the scenarios takes a hell of a lot of time), and in the situation of frequently changing requirements it is not at all practical to carry out regression analysis on test cases. First of all, due to the fact that their actualization can take up to 50% of the testing time. Because of this, the quality of regression testing is deteriorating: test cases cease to be updated and after some time (several releases) the test team has a lot of old scenarios that have a place in the basket.
Software developers know firsthand how often customer desires change. In one version, a simple-to-use calculator is needed to multiply 2 by 2, and the other already requires a working environment that will calculate the integrals over the surface, solve diffur and divide by 0. How to test changing requirements in an aggressive environment? I would like to talk about this in this article.
Some testers use checklists that briefly write about what to check. This technique seems to me to be quite good, but it is limited, since it does not allow to see the project entirely, to realize the interconnections of entities. The checklist usually lists items that need to be checked, and it will be difficult for a new person to figure them out. Here is an example of a checklist of an airplane pilot.

It lists a specific set of actions that need to be performed, but for another pilot, this checklist may be inconvenient, incomprehensible, and generally unsuitable.
In my opinion, the optimal tool combining the advantages of test cases and checklists is MindMap (or the alternative Russian name intelligence card). Why this technology? The brain poorly perceives information in the form of texts, lists and tables, it is much more natural and easier for the mind to assimilate information that is based on associations, involves hierarchical thinking, is visualized. Here is an example of an intelligence card.

The advantages of mind maps include:
• effective structuring of information;
• the ability to collect all necessary information related to the project;
• coverage of all relationships in the project;
• vision of a single picture of the project;
• the ability to prioritize.
In general, this tool is more convenient for testers, but analysts, project managers and even developers can use it.
The question “why MindMap analysts?” Can be answered like this: there is no need to write detailed problem statements for projects with frequently changing requirements. It is enough to keep the control card up-to-date, add new branches with a description to it, and remove functionality that is no longer used from the card. The analyst will be able to cover all the functionality of the developed product. There is no need to start a task and indicate everything that needs to be checked, since the current MindMap will contain innovations (believe, it is easy to support MindMap). In addition, both the analyst and the project manager will be sure that everything entered into the scheme will be checked (otherwise you can give the card to the tester on the forehead, if he didn’t check some items and they showed errors) .
Developers will also benefit from the mind map. Due to the interconnections on the map, the programmer will understand at what level of nesting of the tree he needs to make changes to the code and what this may affect.
The main advantages of intelligence cards are QA-engineers, namely:
• convenient statistics: with MindMap, you can say with certainty which components of the product have already been checked and which still need to be checked;
• reliability of testing: it is possible to test an application for a very long time, but never make sure that everything is really verified. Constantly updated MindMap, covering all the functionality, will minimize the risks of missing errors;
• full coverage of the testing picture: it is unclear from the statements what percentage of the requirements are implemented, what information is irrelevant, what will be implemented in the future. Testers who are familiar with the project, it is easier to get into the picture without reading the statements and tasks;
• The hierarchical intelligence card system is convenient for its visibility. Editing the code corresponding to one branch clearly shows which child branches will be affected by the changes - they will need to be checked first.
Earlier on Habré in the article
“What is MindMap to draw? A detailed overview of the 6 most popular mindmap drawing programs described the most popular tools for building mind maps. In my opinion the most convenient is Xmind. Even the free version has a good set of components for building a convenient mind map. Below is a brief overview of the functions that I used in my work.
NotesTo describe any plan item in Xmind, you can use the note system. Adding notes can be convenient for storing “passwords and appearances”, a list of actions for checking the desired item (not to be confused with a test case). Below is an example of using notes.
ImagesThe functionality of adding a photo to an item of an intellect map is useful in cases when you need to visualize changes in a particular area. For example, changing the logo from one to another (the image of the new logo should be attached to the map item). An example of how the image inline in the plan item looks like below.
HyperlinksIn cases where an entity is too complex to describe in a “note” or for some reason it cannot be described, it is convenient to use a hyperlink and associate the problem statement with the intellect map. When you click on the item plan goes to the desired page.
Maintain Task InformationMaintaining information is a kind of test report for a project manager. During the test, you can indicate in the mind map failed scripts, mark the time and progress of testing. An intelligence card can be provided to the project manager to get the test results. MindMap can be considered a feedback and even some kind of protection of the tester against the arbitrariness of the PM and the analyst, since if something does not work outside this intelligence card, then the tester is not to blame, because The card does not provide for such a scenario.
VersioningTo identify new functionality on the mind map, it is advisable to specify the versioning. Those. add a map item (in fact, being a functional) and indicate the software version where this functionality is included. When checking new features, make a filter by “version”, and only those items related to the selected version will be highlighted on the map.

And finally, to the question "how to organize the procedure for updating the intellect card and build the work of conducting testing?" I would answer like that. At first, while the project is not yet large, the analyst together with the testing specialist create the first simple intellect map. Further, before the release of a new release with a new functionality, the analyst updates the intellect card, inserts a version on it and transmits it to testing. The tester does his job, notes completed, unfulfilled, failed points, notes the time and progress of implementation - thus he receives a test report, which he can pass on to the head of a department or project.
In the new release, the analyst updates the intellect card again and sends a copy to the testing and everything is repeated according to the above scheme. And if you unload MindMap in Excel, you can get a convenient test report, which is not a shame to show the customer.