In the age of ditching test cases, many testers are looking for ways to maintain organization while testing. There are many possibilities in accomplishing organization but one of my favorites is a feature map. In this blog post, I’ll talk you through what a feature map entails, how to create and execute testing using it, and finally, how to effectively report your testing status.
Feature mapping is an exercise in which a tester moves page by page in their application and notes down all the features that make up the various pages. The end result is a comprehensive document that summarizes the features that make up your application.
How to Create a Feature Map
Creating a feature map can be time consuming upfront, depending on your application size and how many applications you have in total. To successfully map your entire application, you must:
- Note down each page within the application under test
- Go page by page and outline what features make up that page and if the feature spans multiple pages
Note: I prefer to use something like a Trello board (using cards for each feature) to organize this data. It’s free, easily searchable and lends to good organization. I’ll give you more ideas on this later.
To show an example of feature mapping for a specific page, let’s take a Login page in a typical application. Within a Login page a user can do the following:
- Register a new account
- Login to an existing account
- Reset a forgotten password
- View Terms and Conditions
Pretty straightforward and should be realatively easy to do across your entire application. Once you’ve completed the collection of features, by page, you’re ready to test using your feature map.
How to Execute Testing Using a Feature Map
Now that you have a complete list of of pages and user actions within those pages (features), how do you turn that into an executable test? Great question!
If you were using a Trello board (or something similar) you could approach it like this:
Each page could be “labeled” with a different color making it simple to see what features span what pages. If there are features that span multiple pages, you can add multiple labeled colors to the feature. Above, you can see I’m using a green color to represent my Login page. I’ve added a couple of other features that are associated with a Product page. They are marked with orange labels.
Trello boards make it easy to execute as well. If you have different regression cycles that you’re testing for, you can re-use the same board over and over, resetting everything to the To Do column after each test. Additionally, you could add comments for yourself to track any defects you’ve opened against that feature.
Also, Trello allows you to filter by labels (hit the “f” key). This would allow you to test all the features for one page at a time. Likewise, if you wanted to do targeted regression, you could filter only the features on the pages you needed.
Note: Feel free to use other tools like Excel. Using Excel, each page could result in a separate tab, still keeping organization a priority. The execution in excel isn’t as friendly as something like the above example, but it can still be done.
How to Report Testing Status
Sticking with the above Trello example, reporting status via this method is pretty simple. To do so, you would create a status dashboard that listed all of your app’s pages. A table in any software would suffice. You could report by:
- Status by color: Green (done), Yellow (executing), Red (Defects/Blocked)
- Status by % complete: Each page has a specified amount of features, reporting % completed based on the number of features you’ve tested against the total number of features for that page
- Defects found: These can be reported at the page or feature level, whichever your organization prefers
This an example of what your reporting might look like:
|Login||95% Complete; (no defects)|
|Product||100% Completed; (Defect1234)|
Obviously, when you have a large application, your list of pages could get rather long. In those examples, you may find better ways to organize and present your test status.
While going through the task of creating a feature map can be long and daunting, after it’s complete you have a super-useful way to organize your testing without the need for test cases. When you’re going through your feature map creation, make sure you’re thinking of ways to collapse data to make your test statuses clear and concise for your stakeholders. There isn’t really a wrong way to go about this flavor of testing, just make certain you’ve accounted for all features in your application!