A Mind Map is a graphical representation of an idea/concept/process flow. User can use symbolic representation to display the flow. In terms of testing, mind map can help a lot in covering the scenarios either equivalence or boundary valued etc. Nowadays, most of the testing activities happen in a traditional manner, it starts with understanding requirements -> creating high level scenarios -> segregation of test cases with different factors like functional and non-functional and then go on ..
Why Mind Map
– For large scale projects, creating test cases is a huge task. Creation of test cases might look like a one time activity, but the cost of maintenance takes a huge effort ahead. Also for a test resource to go through all the individual test cases would need time into consideration. – To avoid these kind of duplication and extraneous effort, we can use mind maps. These are effective tools to cover the subjective matter and a coverage on the features to be tested.
– Mind Map creation is not a one time activity for agile projects, it takes a longer time to stabilize the mind map view. User has to adjust the nodes in the map to reflect the exact change. On a coverage perspective, the mind maps look more granular to the tester. On a traditional note, user has to run through all the test cases to execute the functionality, yet on a contradictory note most of the bugs appear when user does exploratory testing.
– Mind Map reduce the dependency on a particular resource. Once the mindmap is created, the user can easily interlink the impacted areas and test accordingly. This is really helpful in large scale projects where there are multiple feature teams working together
Creating a Mind Map
– For a developed application, User has to know the granular details to create a mind map.
– For an agile application, the mind map will be evolving on a daily basis. There are many online/offline tools available. Primarily one can use whatever tool he is comfortable with.
How to Create
– Initially the user should not use the tools to draw the mindmap, rather create a one offline using a whiteboard/paper so that any kind of changes will not have time or cost impact. It can be iterative on a board. Once a checkpoint is arrived where he thinks the flow is complete he can use the tool and create a draft version. Like the tree structure, the start is always a root node and end is a leaf node.
Sample Mind Map created using wisemapping tool.
Impact on Test Life Cycle
– Assign a tester to check certain nodes in the mind map and validate the same w.r.t application. If there are interlinked maps, the tester can able to verify the other components.
– As the impacted areas can be covered considerably, the user would be aware of what areas to be executed and what not !
– Reporting is kind of complicated for coverage purpose, yet if there is a tool which has the ability to create the mind map and use it for validating/reporting purpose, it would be a nice one for the test community.