Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Mind Maps Foster Thorough Test Design

Mind Maps Foster Thorough Test Design

November's featured article In Better Software magazine is on use of Mind Mapping: X Marks the Test Case: Using Mind Maps for Software Design.  In it, author Robert Sabourin says:  "If you’ve run through the standard design approaches and still need that killer test case, try mind maps."

Sabourin first learned about mind maps from his young son, who was taught in grade school how to use mind maps to describe the plot, characters, theme, and events of stories read in class.  Mind Maps are a way to explore and document ideas and their relationships in a simple diagram. Important concepts are recorded as words or pictures and connected with lines indicating their relationships. Invented by a college student for his own use, to save time in creating and reviewing notes, they've become quite popular and today mind maps are used to improve memory, reading skills, note taking, creativity, performance, and brainstorming.  

Sabourin started to dabble with mind maps to solve some of the software engineering projects he worked on.  Following is an outline of some ways suggested by Sabourin to use use Mind Maps. These are just the high points - visit the site to view the full article.

Mind Maps to Help Define Equivalence Classes.  Today this is widely taught as a key element of domain testing (see the StickyNotes in the article for additional resources on the subject).

Identify the Variables.  I create a mind map for each variable under test. The variable is the center of the mind map.

Identify Classes Based on AIM.  
The AIM model in Figure 1 is the basic template the author used to begin defining an equivalence class mind map for a variable. It consists of an Application Logic or "A" node, an Input or "I" node, and a Memory or "M" node. These are explained in the article. Note that he considers explicit (documented) and implicit requirements when identifying classes based on the application logic. Following are a couple of example mind maps, but the article contains more detailed examples, too.

Identify Invalid Classes.  For each node of the mind map two two branches are often created, one for valid classes and the other for invalid classes.

Mind Maps to Identify Usage Scenarios.
 To parody a familiar quote: "Test not only what your application can do for your user but also what your user can do with your application."

Mind Maps to Identify Quality Factors.  A quality factor is a characteristic of the software project which, if missing, will lead to failure or negative consequences.

The author wraps up with an example of how to get started with mind mapping for your own tests.

Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Shame about the BMPS

    by David Skelly,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Somebody ought to teach this guy how to use images in web pages properly. Those BMPs are not only huge, they're butt-ugly and some of them are completely unreadable.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p