Notizen
Gliederung
EMOS Framework
Basics 2
Agenda
System architecture
Test structure
Test organisation
Test development (exercise)
Test structure
Test suite
Test set
Test case
Test block
Test primitive
Test structure
Test suite
Test structure
Test set
Test suite table
Test structure
Test case
Test structure
Test block
Test structure
Test primitive
Test data table
Test case
Basic elements
Name
mandatory
unique
short (recommended)
Description
optional but recommended
Testsequence
mandatory
entries separated by Alt-Return
IDX
all rows with direct access must be indexed
Test modes
The test mode is the mean of instructing the test scripts what actions to perform with the given data.
 SET
instruction to set (enter) the content of an object
 CHK
instructs framework to verify the content of an object
 ATR
instructs framework to verify the attributes of an object
 GEN
instructs framework to generate the test data from the content of an object
Test modes
(continued)
The scope of a test mode is a block
SET is the default mode
(i.e. assumed if undefined)
must be defined for each test case in the row that defines the block name
Test branching
It is possible to instruct the Framework to temporarily “leave” the current sequence, execute something else and resume the sequence.
 LINK
instruction to execute an arbitrary test case (Framework)
 CALL
instruction to execute an arbitrary WinRunner main test
 EVAL
instruction to execute an arbitrary WinRunner function
Branching is one of the most important concepts of EMOS Framework.
Test branching
LINK example
Test branching
CALL & EVAL example
Test branching
Syntax rules
LINK
LINK~<test driver>~[<data table>]~<test name>
CALL
CALL~<test path>[~<test parameter>]...
EVAL
EVAL~<function>[;<function>]...
    where
<function> = <function name>([<arg>][,<arg>]...)
Agenda
System architecture
Test structure
Test organisation
Test development (exercise)
Test organisation
Building test suites
Building test sets
Bundling suites
Analysing test results
Integration with TestDirector
Test organisation
Building test suites
Use test suites to group tests for some purpose
regression suite
smoke test
thorough module test
etc.
Test organisation
Building test suites
Use other columns to define additional information
Test organisation
Building test suites
Keep test suites stable!
Do not change them often during development
Keep them read-only (i.e. version control)
Use temporary suites during development
re-direct kickoff to your suite by setting an environment variable (see kickoff script)
Test organisation
Building test sets
Test set is technically a single line in test suite
A technical necessity to simplify the suite tables
Use hyphen for numeric ranges (e.g. 1-5 )
Use comma for discontinuous ranges (e.g. 1,5-9,abc,xxx)
Non-numeric names are OK (e.g. xxx)
You can build ranges within a name space (xxx1-2 = xxx1,xxx2)
Test organisation
Bundling suites
Test suites can be easily bundled into huge test systems
A simple way to do this is to call them from a batch test
Test organisation
Analysing test results
The test results are associated with the kickoff script
Test results are detailed and designed to simplify debugging/evaluation
Designed to look the same in interactive and in batch mode
Level of detail can be tuned: set_debug()
(see startup test)
Test organisation
Analysing test results
The best overview of what has been tested, what tests passed, what test failed can be found in the report associated with the test emos_testsuite_
driver
Test organisation
Analysing test results
Use filters to customise the report
Test organisation
Analysing test results
Set “Mismatches only” to quickly locate errors
Agenda
System architecture
Test structure
Test organisation
Test development (exercise)
Exercise