Skip to main content
summaryrefslogtreecommitdiffstats
blob: a4b77e4540e500ea71ffed89ad96e09278496854 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?xml version="1.0" encoding="UTF-8"?>
<!-- 
  Copyright (c) 2014 BREDEX GmbH.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Public License v1.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/legal/epl-v10.html
-->

<section xml:id="ConceptsAbstractComps" version="5.0" xmlns="http://docbook.org/ns/docbook"
                                                  xmlns:xi="http://www.w3.org/2001/XInclude"
                                                  xmlns:xl="http://www.w3.org/1999/xlink" >
  <title>Abstract, concrete and toolkit specific components</title>
  <para>
    There are three levels of components:
  </para>
  <variablelist>
    <varlistentry>
      <term>
        Abstract components
      </term>
      <listitem>
        <para>
          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.
        </para>
      </listitem>
    </varlistentry>
    <varlistentry>
      <term>
        Concrete components
      </term>
      <listitem>
        <para>
          are components which are available to all graphical
          toolkits, but which are restricted to a certain component
          type, e.g. combo box, list.
        </para>
      </listitem>
    </varlistentry>
    <varlistentry>
      <term>
        Toolkit specific components
      </term>
      <listitem>
        <para>
          are the most specific components. They are only available
          for certain toolkits.
        </para>
      </listitem>
    </varlistentry>
  </variablelist>
  <para>
    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 <emphasis>graphics component</emphasis>. The
    <emphasis>graphics component</emphasis> also contains the
    <emphasis>click</emphasis> 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 <emphasis>table</emphasis>,
    because this is the highest level which offers this action.
  </para>
  <para>
    The more abstract your specification, the more flexible your
    Test Cases are.
  </para>
</section>

Back to the top