Welcome to MSDN Blogs Sign in | Join | Help

Test Guide

Making the invisible visible since 1987

Syndication

News

Michael

The stylized braids and "Helping your team reach its full potential" are trademarks, thank you very much.

This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at http://www.microsoft.com/ info/cpyright.htm.

My blogroll


It All Starts With User Features: The Logical Functional Model

Even a small application such as Microsoft Notepad has a plethora of features that must be tested. While the occasional feature is simple enough that a single test case is sufficient to test it thoroughly, it is more likely that multiple test cases are required to verify a feature works as expected. Furthermore, the individual actions that together form a test case are likely to be used in other test cases as well. While this common code is sometimes duplicated across test cases, more often it is factored out to helper methods. Organizing these methods into a logical, unified, scalable, easily navigated, and maintainable model is of paramount concern.

We have solved this problem by using the application’s features as the organizing principle of our libraries. We wrap test case execution helper methods into a Logical Functional Model, or LFM, that is a user-centric view of our application. We ask, “What can the user do?” and ”What features does the user see?” As you might expect, answers to these questions tend to line up with the features our specifications define.

Organizing our LFM around product features eliminates navigation problems because methods for interacting with a feature are in an area named for that feature. It is also clear how new features fit into the system, so scaling problems are avoided as well. The test cases themselves become nothing more than a list of the actions the user will take to do something. Our test cases are easy to read and easy to understand.

Published Monday, May 23, 2005 9:30 AM by micahel

Comments

# re: It All Starts With User Features: The Logical Functional Model @ Tuesday, May 24, 2005 1:46 AM

Who's responsible for testing the line at the end of each of your posts that says "Posted on [date] by micahel with 0 Comments"? I was distressed to think that my comment on a previous post had been lost; it hasn't, but you have to disbelieve the 0 Comments bit to find it.

Michael Bolton

# re: It All Starts With User Features: The Logical Functional Model @ Tuesday, May 24, 2005 8:36 AM

Sounds interesting, can you provide an example?
I'm working for a new organization with an established product. We have no formal testing and I'm trying to start up the new group.
I'm overwhelmed (we have several applications) and no testing, no documentation, little to no requirements). Yet, we have a very successful product. Go figure.

Steve O

# re: It All Starts With User Features: The Logical Functional Model @ Wednesday, May 25, 2005 4:55 PM

Michael: That "0 comments" bit is evidently a bug in the blogging software. Quite annoying I agree! Unfortunately I have no control over it and don't know when it will be fixed.

micahel

# re: It All Starts With User Features: The Logical Functional Model @ Wednesday, May 25, 2005 4:58 PM

Steve: My post "So What Should A Test Case Look Like?" (http://blogs.msdn.com/micahel/archive/2005/05/20/SoWhatShouldATestCaseLookLike.aspx) is an example of code using an LFM. I can't post anything from my application's LFM as we haven't announced yet, nor unfortunately do I have an LFM for Notepad or any other app I can post.

micahel

# I Want Testers, Not Automators @ Wednesday, August 03, 2005 1:43 PM

I think my team - much of Microsoft, in fact - is going about testing all wrong.
My team has a mandate...

The Braidy Tester

# From Accountant To Scientist @ Wednesday, August 03, 2005 1:45 PM

In many of my posts I have alluded to the automation stack my team is building, but I have not provided...

The Braidy Tester

# Re: When To Automate @ Thursday, March 02, 2006 11:29 PM

Patrick comments on my When To Automate post:
I am confused by your third bullet in that unstable/newly...

The Braidy Tester

# How Do You TDD UI? @ Thursday, March 02, 2006 11:36 PM

Something I've been experimenting with recently is Test-Driven Design (TDD) for user interfaces (UI)....

The Braidy Tester

# SDWest: Cost Effective Test Automation Strategies @ Monday, March 13, 2006 3:46 PM

First up today was Linda Hayes talking about Cost Effective Test Automation Strategies. She grabbed...

The Braidy Tester

New Comments to this post are disabled
Page view tracker