Kirill Kedrinski - Fotolia
Mind mapping dates back as far as Aristotle, but the concept remains relevant. Mind maps provide a highly visual method of brainstorming, problem solving and thinking. While the concept comes from psychology, mind maps can play an important role in software testing and design.
Diagrams allow engineers to expand expected testing paths, brainstorm other testing areas and evaluate unexpected workflows.
Some QA professionals create an outline for a test procedure or regression test. Or testers might write and edit as they develop a test. To save time, some testers will skip the outline entirely. However, these shortcuts won't always work with more complex applications.
With a mind map for software testing, developers can lay out test procedures and workflows on an application in a graphical way.
How to create a mind map
First, you need to identify the main subject. For this article, let's consider our mind mapping exercise to be for the testing a mobile application that tracks a patient's medication dosage date, time, method and notes any unexpected side effects.
The primary subject of the mobile application is the patient. In the application, a patient's medical provider continuously downloads patient data, and the software alerts medical personnel of any results outside of the normal range.
Once you identify the primary subject of the mind map, the next step is to branch out and cover other important functions associated with the patient's care, including but not limited to:
- Lab results
- Dose tracking
- Medical provider messaging
- Medical provider communication with the patient
This example mind map describes the functional happy path for the mobile medical application. The medical provider prescribes a dosage after they receive lab results. The patient tracks the dosage and any side effects, and they can communicate directly with the medical provider about any questions or concerns. The application in this example functions as a communication device, medical record viewer and dose tracker. However, testers still need to evaluate other areas to get the application to work properly.
Most importantly, a mind map for software testing visually conceptualizes how one function relates to every other function -- and how many ways something can go wrong. In our example, diagraming a mind map will elicit several important questions, including:
- What if the patient's dosage is late or incorrect?
- What if the medical provider receives the lab results but that information isn't relayed to the patient?
- Are these communication channels vulnerable to hacking, and, if so, where?
- Are medical records safe, accurate and in compliance with regulatory ordinances?
Once a tester sees how the application works, the next step is to use the diagram to discover how the application will fail.
Mind mapping methods and tools
One way to identify potential problems is to spend a dedicated amount of time laying out all the spots where a problem can occur. Testers should map out the user story and all possible workflows that leave room for error. This allows testers to see if there are continuity problems and/or if communication elements properly connect on the back end.
Software developers can use mind maps to identify alternative workflows in an application and document areas where the app needs error messaging. Additionally, mind maps for software testing allow QA professionals to see where the development team should install backup communication in case of an application failure.
Testers have multiple options when it comes time to further evaluate their application mind maps. The most basic option is to draw a mind map by hand. Don't rule out this approach; it may seem archaic, but the process can help developers identify problems between branches.
If this seems too simplistic, many mind mapping tools are available. Options come in a mix of paid and free plans, including from Coggle, GitMind, Sketchboard, MindMaster, FreeMind, MindMeister, Microsoft Visio, Miro, MindGenius and others.
Testers should consider using mind maps to improve testing coverage and creativity. The exercise of creating a mind map can help to discover alternative testing options for an application and develop procedures for an otherwise complex application workflow. Combined with user stories, mind maps can help thoroughly cover the development and testing of an application.