ATGComponents and ATGConfigurations
ATGComponents and ATGConfigurations are the basic organizational units of ATG data representation:
- ATGComponent
- refers uniquely to a code generation configuration belonging to a test architecture. At most one
ATGComponent can be defined for some code generation configuration.ATGComponents can
- specify additional sources and additional include paths for test case generation. This feature
can be used to provide test case generation with user defined code. The feature is available via
context menu 'Test Definition Options' on ATGComponent.Note: The feature can also be used to circumvent problems arising if ATG can't find all files belonging to a particular code generation configuration.
Additional files and include paths defined in an ATGComponents are used in all ATGConfigurations belonging to the ATGComponent
- provide a preselection of input interface and traced interface. This preselection can be propagated to the ATGConfigurations. The other way around, the interface selection of a particular ATGConfiguration can be propagated to the respective ATGComponent.
-
have arbitrary many ATGConfigurations.
Coverage information from all ATGConfigurations is summarized in the ATGComponent. Export of generated test cases regards all test cases of all ATGConfigurations belonging to the owning ATGComponent.
The same counts for the reports of all ATGConfigurations belonging to an ATGComponents: They are collected in one report of the respective ATGComponent.
- specify additional sources and additional include paths for test case generation. This feature
can be used to provide test case generation with user defined code. The feature is available via
context menu 'Test Definition Options' on ATGComponent.
- ATGConfiguration
-
is the basic working unit of ATG. ATGConfigurations are used to define the input and observation
interface as well as the coverage criteria for test case generation. Furthermore, ATGConfigurations
offer options and settings influencing test case generation and export.
ATGConfigurations define:
- input and observation interface for test case
generation.
- for the classes in the scope of the test case generation, the individual instances that shall be stimulated can be specified. It is recommended to prefer the qualified pathname notation over the index notation. Some features of ATG only work correctly with pathname notation.
- for the instances belonging to the input interface it can be specified which individual member operations and event receptions will be stimulated.
- for the operations and event receptions belonging to the input interfaces argument values to be used when stimulating the mode can be specified
- coverage criteria for test case generation:
- The option Model Element Coverage tells ATG to achieve model element coverage as goal. Considered model elements are State, Transitions, and Operations.
-
The option Model Code Coverage tells ATG to achieve MC/DC and statement code coverage goals for the code parts which have been added to the model by the user.
Note: For Model Code Coverage only those portions of the code are considered that has a associated model element visible in the Rhapsody browser. All implicitly generated code is not taken into account. -
Furthermore the coverage analysis can be done only for the selected classes or for specific instances.'Coverage of Classes' is used to define the classes ATG has to use for test goal computation. Test goals are all model element coverage goals and model code coverage goals.
Specific instances means that ATG generates test cases for all (specified by '*') or dedicated (specified by creation index number) instances of selected classes instantiated during ATG execution. In most use cases it is recommended to choose coverage of classes. There are very few use cases in which coverage of special instances might be useful.
- input and observation interface for test case
generation.
Coppying an ATGConfiguration
In the browser part of the ATG main window, invoke context menu item 'Copy'. Then invoke context menu item 'Paste' on the ATGComponent to which the copied ATGConfiguration belongs.
Alternatively, select an ATGConfiguration and invoke 'Edit->Copy'. Then select the ATGComponent to which the copied ATGConfiguration belongs and invoke 'Edit->Paste'.