Cow Suite
An Automated Test Strategy Based on UML
works in combination with Rational Rose Tools
(in the current version 1.0)
Developed in Pisatel

CowSuite combines two original components:
Cowtest (Cost Weighted Test Strategy): a strategy for test prioritization and selection
UIT (Use Interaction Test): a method to derive the Test Cases
Cow_Suite =Cowtest pluS UIT Environment
Description Scheme Activities
In brief:
  • A UML design consists of several diagrams made by different model elements, and forming different views of the system. The model elements, from the main Use Case Diagram onwards, are organized into a defined structure consisting in different Trees: the Main Tree, the Design Tree and the Not Linked Tree.
  • The Main Tree is a high level representation of the system by means of UCs representing the functionalities and SDs representing the description of how each UC is realized by the interactions between objects and actors.
  • The Design Tree provides a low level description of the system: the packages represent the components or sub-components that will be effectively implemented and the graph structure is a mapping of the project architecture.
  • The Not Linked Tree contains all not (yet) referenced object in the UML documentation.
  • Considering each of the derived trees (except the not linked tree), the Cow_User can assign a weight value to the nodes, representing its "importance" for test purposes, e.g., the component complexity or the usage frequencies.
  • Cow_User selects the integration stage at which the testing is going to be performed. Fixing an integration stage means to decide which node to consider for testing, so that the relative weights can be computed.
  • Cow_User selects the strategy to adopt for test case derivation: Cowtest_ing with fixed number of tests or Cowtest_ing with fixed functional coverage.
  • After having fixed the integration stage and the test strategy, the final weights relative to the selected nodes are computed. Considering every node, the final weight is the product of all the nodes weights on the complete path from the root to this node.
  • On the derived weighted tree, Cow_User can select the SDs on which to base Test Cases creation.
  • Examining the information inside a SD, such as messages and parameters, a set of Test Cases is derived. A Test Case is defined as a set of actions performed to test a possible objects' interaction, with associated test inputs and execution conditions.
  • Cow_User can specify, for each Test Case, relevant choices values or constraints.
  • Using values of choices and constraints, a set of Test Procedures is generated for each selected Test Case. A Test Procedure is defined as a set of detailed instructions for setting-up, executing, and evaluating the results of a given Test Case.
CowSuite 1.0 Presentation CowSuite Scheme
Activities involved within the COWSuite process are:
  • 1) Automated Nodes and Arcs Identification
  • 2) Automated Trees Derivation
  • 3) Cow_User Choice of a Tree
  • 4) Cow_User Weights Assignment (Uniform is default)
  • 5) Cow_User Integration Stage Selection
  • 6) Cow_User Test Strategy Selection
  • 7) Automated Weighted Tree Derivation
  • 8) Cow_User Sequence Diagrams Selection
  • 9) Automated Test Case Derivation
  • 10) Cow_User Test Procedures Specification
  • 11) Automated Test Procedures Generation
  • 12) Automated Test Suite Artifact