How Feature Maps Can Assist Your Testing
Learn what feature maps are, what they look like and what they can do for you in the long-run.
The Earth’s geography is vast and complex. When explorers set sail to discover the unknown, they created maps through cartography. These maps were used to explain and navigate the known Earth as a whole or parts of it, like continents, countries, islands or cities.
The same principles and benefits can be applied to software.
I will show you how feature maps cartographically represent the software under test, how you can create your own, and how this can help you in your daily (testing) work.
A Feature Map by Example
Software can be large and complex. It helps to model it as multiple parts, even if those parts have dependencies and are interconnected. A part can be the size of an area, a component, a feature, a form, or anything else that fits your context. A feature map is a visual representation of such a part and provides a (high-level) overview.
I have chosen Gmail as an example to illustrate this.
Gmail consists of many features and can be broken down into several parts. One part is the New Message feature, which allows users to write an email.
Once I had defined the scope, I started to explore and experiment. What can I do, how are the different functionalities connected and can certain functionalities have different states?
I wrote down all the functions I could find and grouped them together. Then I made connections and arranged everything to make it as understandable as possible.
It was the first time I had done this with Gmail and I was surprised at how many New Message features I never use.
Here is my result:
Support Your Exploration and Learning
Feature maps can help you explore new or unknown features. By writing down what you discover, you are documenting the progress of your exploration. This gives you a structured way of thinking.
The bigger and more complex a feature is, the harder it is to keep track of everything. Writing down your mental model makes room in your head for new things to think about.
Like connections. By looking at all these boxes, you create opportunities to identify dependencies that may be relevant to your exploration and learning.
Short- or Long-Lived
Once you have created a feature map, there is an important question to ask yourself: Should I keep it?
It is perfectly fine to create it as a one-off to support your exploration.
But if you do keep it, you should commit to maintaining it as good as possible. Otherwise, this useful tool will become obsolete over time.
Keeping and maintaining your feature maps comes with benefits and challenges.
Access Information Fast(er)
There is a good chance that viewing and navigating a feature map is much faster than navigating the software, creating test data and generating specific states.
If you need to work with hundreds of paragraphs or pages of documentation, it may be a better alternative for the same reasons.
Identify the Impact of New Requirements
New requirements may affect or depend on existing features. Reviewing these requirements and looking at your feature maps helps to identify such dependencies. You can question if something has been overlooked that could cause problems, or you can identify opportunities to make a feature even better by incorporating another one.
Generate Test Ideas
When testing new features or changes to existing features, looking at your feature maps can help you generate test ideas. You may see a part of a feature map that makes you think about risks and possible tests in a new way. You may discover connections and dependencies that you were not aware of.
By working with feature maps, you create opportunities for such cases.
A Model for One or Many
When you create a feature map, it is your mental model. Other people’s feature maps for the exact same feature might look different. They may not understand the words, structure and connections you use.
When you looked at my feature map, you may have felt this way.
For this reason, using feature maps in teams or organisations can be a challenge.
One possible solution to this challenge is to create them together. This way there will be discussions about the wording, grouping and connections. These discussions will lead to a common understanding for all participants.
It is also possible for each tester to have their own feature map. Tools should be used in the way that works best for you and your organisation.
Keep It Organised
Feature maps can become large and complex, which can make them less useful. If it becomes difficult to navigate a feature map, consider other ways of organising its content. For example, split it into several feature maps.
Feature maps have limitations. They do not replace other resources and tools that provide detailed information. They work as a supplement.
Feel free to link from your feature maps to other feature maps and resources. That way the connections are still there, even if the resources are in different places.
The Art of Feature Maps
There is more than one way to make feature maps. Here are three anonymised feature maps from me. I hope they inspire you.
At first I really struggled to work with feature maps. But over time I figured out how to make this tool work for me. Now it is one of my favourite and most used tools. Thanks to experimentation and trying different things.
Feel free to do things differently than me and discover how this tool can work for you. And if it doesn’t, that’s fine too. Perhaps some of the other tools I have written about are more appealing.
Happy mapping,
Florian






