Slide 19
Slide 19 text
Improve testability for test automation
19
Quality
characteristic
Characteristics for test automation Implementation
Operability Can execute automated processes smoothly Simple setup procedure
Observability Easy to observe outputs (including indirect outputs
and side-effects) from automated tests
Easy to recognize errors, appropriate logging design, less side
effects (e.g. stateless), debugging feature for observation
Controllability Automated tests can easily control direct/indirect
inputs
Easy-to-use API, Stubbing, Debugger support
Decomposability Easy to isolate automatable target. Easy to identify
the issues with the automated test
Appropriate seams (e.g. Dependency injection),
appropriate association design
Simplicity Specs, architecture and procedure of the test target
are simple
Reduce redundancy of design and code
Stability Fewer bugs and instability that block automated tests Fewer bugs and spec changes, immutable interfaces
Understandability Specs, architectures and procedures of test target are
easy to understand
Specs, code, and documentation that are easy to
understand
Common reason for test automation to fail: lack of testability
※Definitions of quality characteristics: Software engineering: a practitioner's approach, Roger S Pressman, McGraw-Hill Education / Asia