How to use Mind Maps in Software Testing
What if we could catch a bug during the requirements analysis stage? It would not only save time, but it could also save costs for the organization. There’s a powerful, free, and open-source tool called Xmind that can help us create Mind Maps, which can be highly effective for this purpose. By using mind mapping, we can identify test scenarios and get an accurate algorithm of the product flow, which is essential for requirements analysis.
To start, let’s gain a deep understanding of the expected flow of the application, and use mind mapping to help identify and clear any potential glitches in the requirement documents themselves. This blog will provide guidance on how to implement this strategy in any phase of the software testing life cycle (STLC), to help you improve the workflow of any application.
Why use Mind maps in STLC?
There are many reasons to use mind maps in the software testing life cycle (STLC). To begin, let’s compare a written flow of an application with a visual representation, as shown in the picture below. This will help to illustrate the benefits of using mind maps.
To understand how mind maps can be useful, let’s consider an example of exploratory testing on the Gmail app. If the application and domain are not familiar to you, it can be challenging to understand the workflow of the app. In this case, using a mind map can be extremely helpful.
During exploratory testing, you can acquire a lot of information that needs to be represented in an organized and clear manner. There are two ways to do this, as shown below. Using mind maps is an effective and efficient way to capture all the information in a clear and concise manner. This can help to improve the testing process, streamline communication, and ensure that all key areas are covered.
Option 1 – List View
Left Nav
Compose Mail
Pop-Up Window
To (Recipient Text filed)
Enter single email
To-Select Contact(Pop-Up window)
Enter multiple emails
Add Cc Recipient
Enter Single email
valid
Does have @
Does have domain
Invalid
Does not have @
Does not have domain
To-Select Contact(Pop-Up window)
Enter multiple emails
Add Bcc Recipient
Enter single email
To-Select Contact(Pop-Up window)
Enter multiple emails
Inbox
Starred
Sent
Drafts
Dropdown: More/ Less
Snoozed
Importatnt
Chats
Scheduled
Important
All mail
Spam
Trash
Label
Notes/ Important
when user Hover over tab ellipsis icon appeared (Three dots)
Label Color
Add Custom color
Remove color
In Label List
Tick: Show/ Hide
In Message List
Tick: Show/ Hide
Edit
Remove label
Delete / Cancel
Add sublabel
Create new label '+'
New Label
Check Box: Nest label under previous label
Text box: Enter a new label name
Button: Create
Button: Cancel
Icon: Close 'x'
Create new Label
Manage labels
Opens the label setting page
Categories
Social + Email count
Updates + Email count
Forum + Email count
Promotions + Email count
Right Nav
(Side Panel)
Calender
Keep
Tasks
Contacts
Get Add-ons
Hide Side panel (Arrow icon)/ Show side panel
Top Nav
(Search Filter)
Second Top menu bar
Select Checkmark box
Select mail checkmark in front of any mail(Dropdown appear at main select tab)
All
none
read
unread
Starred
Unstarred
Archive
Report Spam
Delete
Mark as read
Snooze
Add to task
Move to
Label
More
Mark as read
Mark as important
Add star
Filter Messages Like these
Mute
Forward as attachment
Page Numbers
Newest
Oldest
Newer (Arrow icon)
Older (Arrow icon)
Input Tool On/Off
Select input tool dropdown
English
Input tool setting
Deselect Checkmark box
Refresh
More
Mark all as read (When any mail checkbox is not selected)
filter tabs
From
To
Subject
Has the words
Doesn't have
Size
Dropdown: Greater than/ Less than
Date within
5 Days/2 months/ 1 year
Pop-up: Calendar
Month/Year/day
Search
Checkbox: Has attachment
Checkbox: Don't include chats
Top Right Corner Nav
Support
Help
Training
Updates
Send feedback to google
Setting
General
labels
Inbox
Accounts and Import
Filters and Blocked Addresses
Add-Ons
Chat and Meet
Advanced
Google apps
all apps provided by google opens in new tab
Google account
Manage Google accounts
Add account
Sign Out from all accounts
Main Frame
List of Emails
Open any mail
Paper-pin icon: Attachment
Sender: Show details
from: jej.rashant@yrdsb.com
to: Jenny ar@gmail.com
Print All
date: Oct 5, 2020, 1:31 AM
subject: Re: Welcome to the YRDSB Elementary Virtual School Anushri!
In new Window
Reply
Forward
Star
Ellipsis icon: More
reply
reply to all
forward
Print
Delete
Block
Report spam
Report phishing
Show original
Translate message
Download message
Mark as read/ Mark as unread
Scroll Bar (up-down)
checkbox: Select
Starred/ Not starred
Bullet Checkmark: Important
Hover over each mail
Archive/ Delete/ Mark as read/ Snooze
Memory Used by Gmail
Storage indicator bar
Term
GOOGLE TERMS OF SERVICE
privacy
GOOGLE PRIVACY POLICY
Program Policies
New tab: Gmail Program Policies
Last account activities time duration
Details
Pop-up: Activity Info
Search Bar
Show search option
Check/Uncheck: Has attachment
Check/Uncheck: Last 7 days
Check/Uncheck: From me
Icon: Search
Option 2 – Mind Map view:
So with the help of all this information, What if you need to present a demo of an application to your team in 10 minutes?
From the above options, which one would you prefer to use for presenting the information?
The pictured presentation (screenshot) is surely more understandable right!!
This is where a Mind Map can really help:
A mind map can be an incredibly useful tool in software development. It can help us to better understand client requirements and application flow, especially in cases where the client is unsure of the requirements and the application is difficult to express in a team.
In software development, it is crucial to have a clear understanding of the client’s requirements. Mind maps can help us to capture the sequence and interrelated functionality in a clear and organized manner. Additionally, visual representation through mind maps can make it easier for people to understand complex information.
To create mind maps, we are currently using the Xmind application. A mind map is a diagram that visually arranges information in a hierarchy of application or product progression, displaying the relationships between the product components. It typically revolves around a single concept that is drawn as an image in the center of a blank page. The main ideas are linked directly to the central concept, with additional ideas branching out from the sub-menus of those main ideas. Mind maps can include images, words, and parts of words to effectively illustrate and organize information.
Advantages of Mind Mapping in STLC:
Mind mapping can bring numerous benefits to the software testing life cycle (STLC). Here are some of the key advantages:
- At the verification level, a mind map can help to present a demo of the requirements to the client or team, providing a detailed understanding of the product or service. Xmind is a great tool to use for this purpose as it allows us to express the flow of the application in a clear and organized way.
- By using a mind map, we can create a more effective test plan that prioritizes the most important functions. This can help to ensure that all critical areas are covered during testing.
- Mind maps can help us to check test coverage more easily by using color-coded tags such as red, green, and grey. This allows us to quickly identify which areas have been tested and which still require attention.
- Traceability metrics can be more easily understood using a mind map, making it simpler to track requirements and test cases throughout the STLC.
- Tracking test progress is made easier with a mind map as it provides a clear overview of what has been completed and what still needs to be done.
- Finally, mind maps allow us to add pointers for completed or developed functionalities, making it easier to track progress and stay on top of all aspects of the testing process.
Using Mind Maps in Requirement Analysis:
In order to better understand the flow of an application and its requirements, we can create a rough mind map using prototype models and client requirements for each functionality.
For instance, let’s consider the example of creating a new email in Gmail. If the product owner writes a user story requirement in Jira as follows:
“As a user, I should be able to add additional email recipients while drafting an email in a compose pop-up.”
Acceptance Criteria:
- Must have “To” by default.
- Can add “CC” as an additional recipient.
- Can add “Bcc” as an additional recipient.
To better understand this requirement and the flow of the application, we can create a mind map to explore. The above example makes it clear that the “To” field is mandatory, while “CC” and “BCC” are optional fields that can be added. However, it does not elaborate on whether we can type a single email id, multiple email ids, or even get the contacts from our contact list. Hence, creating a Mind Map provides a space to brainstorm these possibilities.
We can use this mind map to ask questions to the product owner and validate whether the possibilities uncovered during exploration are valid. If yes, we can add them to the user story. If not, we can simply remove them from the mind map. It’s important to remember that we will use the same mind map as a basis for our testing plan.
Using Mind Map in Test Planning:
Test planning is the process of defining the scope, objectives, and approaches for testing a software application. It involves creating a detailed plan that outlines the test strategy, test objectives, test environment, test cases, and other important aspects of the testing process. The purpose of test planning is to ensure that testing is conducted in a systematic and efficient manner to identify and eliminate defects in the software application. Test planning is a crucial part of the software testing process and helps to ensure that the software application meets the required quality standards and fulfills the end user’s expectations. Imagine rather than sharing a boring word document, you present your test plan in the Mind Map way. Wouldn’t it make more sense?
Using mind maps in Test Case Design and Execution:
Using mind maps in test case design and execution can make the process more efficient and effective. By referring to a mind map, we can easily write down the test steps for any test scenario, which can improve the overall test coverage. In addition, visualizing negative test scenarios using mind maps can help identify potential defects and improve the quality of the product.
During the execution phase, we can compare the actual product flow with the created mind map. If there are any discrepancies, we can trace the defects and take appropriate action to fix them.
For example, let’s consider the email recipient field. We need to verify that the ‘To’ field is present by default and can be used to add up to 30 email recipients at once. To develop and execute the test cases, we can use testing techniques like boundary value analysis and equivalence class partitioning. By using the mind map as a reference, we can easily set the lower and upper boundaries (e.g., 1 and 30) and ensure that the test cases cover all possible scenarios.
Using Mind maps in Test Reporting:
Mind maps can also be used to represent test reporting by adding symbols to indicate passed, failed, and blocked functionality.
For instance, let’s use the email recipient field scenario again. We can track the total number of test cases created during the test case development phase and mark which ones have passed, failed, or were blocked during execution. This can be achieved by inserting stickers, markers, or icons on the mind map to help understand the test report and the proportion of executed tests.
In addition, we can provide reasons for blocked and failed test cases by using the “insert note” or “label” feature in Xmind or similar applications. This helps us identify the root cause of the issue and take corrective measures. We can also show the progress of testing by adding the percentage of the work completed, giving us a clear picture of the current state of testing.
XMind Application:
When starting a project, it is essential to gain a comprehensive understanding of the application. One way to achieve this is by creating a mind map using the XMind application, which is a user-friendly and open-source tool.
XMind offers a variety of features to help users create detailed and visually appealing mind maps. These include different styles, themes, and templates to choose from, as well as options for adding images, icons, and notes. The application also allows for easy collaboration among team members by enabling the sharing of mind maps and the tracking of changes.
One of the most significant advantages of using XMind is its flexibility in adapting to different project needs. Whether it’s for requirement analysis, test planning, test case design and execution, or test reporting, XMind can accommodate various mind-mapping techniques and support the entire software development life cycle.
Overall, XMind is a versatile and powerful tool that can enhance project management and streamline workflow processes.
Features of Xmind:
- Mind Maps are structured with a primary topic located in the center, and sub-topics presented in branches.
- The function name refers to the primary or branch name, providing a clear understanding of the relationship between topics.
- Mind Map diagrams represent relationships as parent (main), siblings (branch), and child branches, making it easy to understand complex concepts.
- Mind Maps can be used across all fields and activities, from project management and software development to education and personal planning.
- With Xmind, we can add links, marked information, notes, pictures, attachments, audio equations, and illustrations to enhance the Mind Map’s visual representation.
- Xmind allows us to show the priority and progress of work using markers, which is especially helpful in project management.
- We can represent parent-child relationships or internal connections of features, making it easier to visualize complex information.
- With Xmind, we can select the skeleton format, map previews, styles, or colors at any point in a Mind Map creation, giving us the flexibility to customize and personalize our Mind Maps to our needs.
Below are the steps to build a mindmap in the Xmind application.
1. At first, Download the xmind application into your system.
2. Now, Click on a new slide (+ icon) to create a new mind map, as can be seen below.
3. Click on the outliner link at the bottom of the Xmind app. as shown below in fig.
Here we also can add main features directly in the mind map as a topic and subfeatures as subtopics, or by clicking on the outliner button at the bottom of the page. The view changes as I have shown in the step 5 image.
4. Add main or subtopic by using Indent/ Outdent.
5. Again click on the Mind map button at the bottom of the right corner.
6. Click on the Mind map button at the bottom of the right corner.
At last, you will be able to see the beautifully designed Mind map below.
Note:
- Xmind application can be used in two directions either as a web or as a desktop application.
2. There are so many apps available to create mind maps, I have mentioned some below.
i) Mind Maister
ii) Free Mind
iii) Mind Manager
iv) Xmind (Which I feel is more user-friendly)
Conclusion:
Not only in specific testing domains but also in other domains, mind maps are an excellent tool for representing information more effectively. Additionally, mind maps can effectively convey almost all possible details in a single picture.
Pratibha is an SDET skilled in manual and automation testing. The technologies she has expertise in include Selenium, Playwright, SpecFlow, Cucumber, Postman, Maven, TestNG, Java, C#, HTML, and CSS. Having a strong knowledge of API Testing. She has also worked on Azure DevOps and JIRA for project management and defect reporting.