Notizen
Gliederung
EMOS Framework
Introduction
Agenda
Introduction
Problems and solutions
The EMOS approach
Conclusion
Scope
Test roles
Generic test cycle
Test activities
Agenda
Introduction
Problems and solutions
The EMOS approach
Conclusion
Problems with C/R (Capture&Replay)
rarely works in practice
ignores the fact that results need to be analysed and scripts debugged
produces code but violates practically
all rules of good programming
promotes the idea that the testing code is “easier” to handle than other code
...
If not C/R, what then?
simple scripting
data-driven tests
complex scripting
(test frameworks)
autonomous tools that use C/R tools only for test execution
An Example
A Typical Approach
create_user ( name, ... )
modify_user ( name, ... )
delete_user ( name )
select_user ( name )
login ( name, password )
check_message ( text )
...
Agenda
Introduction
Problems and solutions
The EMOS approach
Conclusion
The EMOS Approach
Analyse the application thinking of what could, must and will be tested
Model the behaviour of the UI* NOT
the behaviour of some abstract process
Organise the UI elements into some meaningful groups (“test blocks”)
Combine the blocks into some sequence to obtain the desired testing behaviour
Analyse User Interface
Model User Interface
Organise UI Elements
Organise UI Elements
Organise UI Elements
Organise UI Elements
What About The Code?
What About The Code?
What About The Code?
Combine Test Blocks
Combine Test Blocks
Combine Test Blocks
Combine Test Blocks
Agenda
Introduction
Problems and solutions
The EMOS approach
Conclusion
What Problems Do Frame-works Need To Resolve?
Maintainability
Scalability
Versioning/ Configuration
Concurrent Usage
Coding Standards
Naming Conventions
Integration With Other Tools
Simplify Test Creation
Simplify Test Debugging
Improve Test Robustness
Improve Test Result Reporting
Easy To Learn
Easy To Use
Primary Design Objectives of EMOS Framework
must be set up quickly
must rapidly evolve
must scale well
must live long
must be useful
Conclusion
speeds up the development of automated functional tests
increases the flexibility (expression power) of the automated test system
empowers non-programming experts towards automated testing
increases the awareness for the early stability of the designed user interface