6.8.2. Abstract, concrete and toolkit specific components
Prev | 6.8. Reusability | Next

### 6.8.2. Abstract, concrete and toolkit specific components

There are three levels of components:

Abstract components

  are general, high-level components from which other components are derived. They are described in terms of what features a component has, e.g. graphics component, component with text. They group actions together which can all be executed on components of this type.

Concrete components

  are components which are available to all graphical toolkits, but which are restricted to a certain component type, e.g. combo box, list.

Toolkit specific components

  are the most specific components. They are only available for certain toolkits.

We recommend that you specify your tests as abstractly as possible, and as concretely as necessary. If you want to create a Test Case to click a button, it is better to use the abstract component graphics component. The graphics component also contains the click action, and has the advantage that the Test Case can then be used on other components than buttons. If you want to select a cell from a table, however, you will have to use the concrete component table, because this is the highest level which offers this action.

The more abstract your specification, the more flexible your Test Cases are.