Test-Driven Automation: Adopting Test-First Development to Improve Automation Systems Engineering Processes

Dietmar Winkler, Stefan Biffl, Thomas Östreicher · 2009

Software provides an increasing part of the added value of modern automation systems and thus becomes more complex. System requirements may change even late in the development process, lead to ad-hoc modifications of the product and require systematic (and automated) testing approaches. However, unit tests for automation software have to consider the interaction with hardware components, are often not systematically automated, and thus make defects during integration testing harder to find. Costly software integration makes the introduction of more flexible software processes that support the late change of requirements more risky. In this paper we introduce the concept of “Test-Driven Automation” (TDA), which adopts the successful idea of test-first development from business software development to the automation systems domain: develop test cases before the implementation and systematically automate unit tests to ensure sufficient testing on unit level to lower the cost and risk of systems integration. As foundation for TDA we present the characteristics of the design of a TDA software component, i.e., interfaces to (a) automation functions, (b) diagnosis functions to allow test observation, and (c) test functions for setting the component to defined states, e.g., to test behavior in error situations. We demonstrate in an industrial sorting application prototype how the TDA approach can make testing more efficient and provide diagnosis information for process analysis and improvement.

Read the paper · More papers on PaperTik