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


StickyMinds is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.