Identifying, modeling and testing smart use cases

This morning I proposed a second talk for the EuroSTAR 2009 Conference in Stockholm. Sounds ok, doesn’t it? See EuroSTAR Conference 2009.

Many organizations rely on the concept of use cases to model and describe functional requirements. However, there are many different ways of identifying and modeling use cases. Use case documents range from a mere two-pager up to book-length. This obvious lack of standardization leads to great variation and difficulty in producing test scenario’s and test scripts. Use cases are hard to test.

During this talk speaker Sander Hoogendoorn, book author on the subject of UML, use cases and testing use cases, discusses a highly standardized approach to identifying and modeling use cases. This approach, named smart use cases, introduces smaller and equally granular use cases. Next, Sander will introduce a collection of standard types of smart use cases (stereotypes), that facilitate easier requirements gathering and that are traceable from requirements to tested software.

image

As this talk will demonstrate, smart use cases also allow for an additional highly standardized approach to testing use cases. In this model based testing approach each of the smart use cases is modeled out further to identify test scenario’s and test scripts – using either flow charts, DFD’s or activity diagrams. With many standard types known, this approach can even be (partly ) automated, allowing testers to focus on the special cases and exceptions, rather than the regular cases.

As real-life examples show during this interactive presentation, projects also benefit from this smart testing approach when testers and developers join forces in (agile) projects to model these test scenario’s before the software is implemented, similar to unit testing approaches.

Key points

  • Experience a pragmatic approach to identifying, modeling and testing use cases
  • Learn how to apply standard types of smart use cases to simplify functional testing
  • Discover new, agile ways of collaboration between testers and developers