Skip to main content

Using Mind Maps instead of Excel

Now as I tester I find Excel to be a key tool in my daily work life. It is flexible and can be used for many different purposes. My main use of it however, was for writing test cases. My test cases in excel would be quite detailed and would look something like this:



NOTE: The assumption for the above is that only the customers surname needs to be present for a customer record to be added, I know very unrealistic but done for simplicity :)

Now as you can imagine this becomes very tedious and laborious when you have lots of test cases to write.I have started to get involved in the testing community by going to some local test meet-ups to talk all things testing with other testers as well as reading various blogs and articles. This has led me down a more exploratory approach to my testing and one in which Mind maps are a useful tool.

Mind Mapping
Now for those of you who don't know, a mind map is basically what older people would call a Brain Storm. It is a method of visually outlining information and ideas and It starts with a single word and associated words and concepts are linked to that first single word.

Below is an example:


As you can see this is visually appealing and you can quickly grow your mind map to incorporate lots and concepts and ideas that you want to write down or remember.

There are many free applications that you can use to create your mind map. Here are a few:

Xmind (http://www.xmind.net/)
FreeMind (http://freemind.sourceforge.net/wiki/index.php/Main_Page)
MindMup (http://www.mindmup.com/)

I use FreeMind as it is easy to create maps and shortcut keys can be configured to cater for your needs.

So just after I discovered mind mapping i thought about how I could incorporate them into testing. Having been to Test Retreat Bournemouth which  got my testing juices flowing I thought about using mind maps to generate testing ideas rather than writing out test cases using Excel.

Spec to Mind Map
I started by going through a functional spec and mind mapping what needed testing. This helped me breakdown the mind map into logical pieces and from there I started to expand the pieces to include what tests could be performed on each section. Below is an example for the requirement at the start of this post:


Now I appreciate that I have a few more testing ideas than I did in the Excel example but this just goes to show how quickly and easily you can generate test ideas using mind maps. It encourages a more exploratory approach as you are not following a rigid structure of steps. My experience of using Excel for test cases is one of extreme boredom and restricts the lateral thinking of a tester. (For a explanation of lateral testing listen to the psychology in testing episode of this podcast: http://testinginthepub.co.uk/testinginthepub/ ) As mind maps can be a brain dump of what to test and because they can be done quickly and easily they do not interrupt your flow of ideas.

Now the mind map does not go into as much detail such as selecting the 'Save' button to save the customer details but I don't think these things are needed otherwise testers would spend most of there time writing test cases rather than actually testing. The timed saved using Mind Maps can be used to explore and understand how the software works - something which  is much more important than writing test cases. Throwing off the shackles of too much and unneeded documentation allows testers the time to really get stuck in and learn a how a system works.

The mind map should be a dynamic document which changes as more ideas come to you. You can also add icons and notes which can be used to show stakeholders the status of the testing as well as more detailed information about the testing you have performed. I don't know about you but going into a meeting with clients with a printed out mind map showing the state of testing would be a lot more pleasurable than Excel spreadsheets.

Simplicity
The key to successful mind mapping is simplicity. My first few were a little over complicated and having looked backed at them now I tried to hard too include all details rather than get the basics down. So from my experience, if Mind Maps are too complicated they become counter productive. Keep it Simple and hopefully you will reap the rewards that come with an exploratory testing approach .



Comments

Popular posts from this blog

How to deal with pauses and timeouts in specflow

So this blogpost is in response to the weekly Specflow blog posts and challenges that have been written by Gojko Adzic. This weeks challenge was how would you rewrite or rephrase the below scenario: Given a user registers successfully When the account page reloads And the user waits 2 seconds Then the account page displays "Account approved" My initial though was something like this: Given a user registers successfully  When the account page reloads   Then the account page is displayed within a satisfactory time period     And the account page displays "Account Approved" Now the problem with this scenario is what defines a satisfactory time? You could add it as a comment or in a scenario outline but over time the time a user waits could change and if this is updated in the code behind but the scenario outline or comments are not, then what the test does and what is described do not match - this would potentially cause issues in the future. My next ide...

Benchmarking in C# - Simple Job attribute

In this post I am going to continue my servies on BenchMarkDotNet and I will explain what the various parameters do that are present in the simplejob attribute.  Now I say all....... the documentation is not great so I will explain what 3 out of the 4 do :) So If you remember in my previous post I had a MyFirstBenchmark class which contained the details about the benchmark test that I wanted to run. In this class there is an attribute called SimpleJob and this attribute contains a few parameters that can be configured when you run a test.  By default BenchMarkDotNet will choose the number of iterations that will return the best precision. However, using the simplejob attribute allows you to quickly get a set of statistics. Below is how my test was setup: Now as you can see I had the following parameters in the SimpleJob attribute: launchCount - This parameter allows you to define how many times the benchmarking test is run warmupCount ...

Monitoring and Observability

In this post I am going to talk about monitoring and observability. Now what are monitoring and observability? Monitoring is defined as….. "to watch and check a situation carefully for a period of time in order to discover something about it" From <https://dictionary.cambridge.org/dictionary/english/monitoring> Observability is defined as….. "to watch carefully the way something happens or the way someone does something, especially in order to learn more about it" From <https://dictionary.cambridge.org/dictionary/english/observe?q=Observing> So the main difference between the 2 is that one is around checking to discover something whilst the other is about watching something in order to learn more about it. Why are both important? They are both important as they can tell us different things about a system and can provide us with information that can feed into decisions and actions that can be made both now and in the future to improve software quality as ...