The Dangers of Use Cases Employed as Test Cases


Use cases are a great way to organize and document a software system's functionality from the user's perspective. Unfortunately, they have limited uses for testers. They are great vehicles to accomplish some tasks and not-so-great for some others. Understand what you're trying to accomplish by testing before deciding if use cases can help, and also be cognizant of the challenges they present. They are useful to testers, but not for every situation.

What Are Use Cases?
Use cases are a relatively new method used to document a software program’s actions. It’s a style of functional requirement document, an organized list of scenarios that a user or system might perform while navigating through an application. According to the rational unified process, "A use case defines a set of use-case instances, where each instance is a sequence of actions a system performs that yields an observable result of value to a particular actor."

What’s So Good About Use Cases?
Use cases have gained popularity over the last few years as a method for organizing and documenting a software system’s functions from the user perspective. They support an iterative development lifecycle and are part of the rational unified process. For more information about use cases, please see

What Are Some Of Their Problems?
There are problems inherent in any documentation method (including traditional functional requirements documents), and use cases are no different. Some general problems to be aware of include:

·         They might be incomplete

·         Each case not describing enough detail of use

·         There are not enough of them, with entire areas of functionality missing

·         They may be inaccurate

·         They might not have been reviewed

·         They might not updated when requirements changed

·         They might be ambiguous


About the author

Bernie Berger's picture Bernie Berger

Bernie Berger has recently tested the merger of two investment trading systems as part of the takeover of a large asset-management firm by an international bank. In his spare time, he moderates the yahoo group, tester-career-support , and updates his Web site He can be reached at home at

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, is the place to go for what is happening in software development and delivery.  Join the conversation now!