The adaptation of test-driven software processes to industrial automation engineering

Software components provide an increasing part of added value in automation systems and become more complex to construct and test. Test-driven development (TDD) of software systems has been successfully used for agile development of business software systems. Test cases guide the system implementation and can be executed automatically after software changes (continuous integration & build strategy). However, TDD processes need to be adapted to control automation systems engineering, where real-world systems are challenging to model and to test automatically. In this paper we introduce an adapted TDD process from the business software engineering domain to industrial automation engineering. We identify a set of UML models that enable the systematic derivation of test cases. Based on an initial empirical study we evaluate the adapted TDD process based on an industrial use case to identify strength and limitation of this approach. Major results of the study were that UML models enabled effective test case derivation in the study context.

[1]  T. Ritala,et al.  UML Automation Profile: Enhancing the Efficiency of Software Development in the Automation Industry , 2007, 2007 5th IEEE International Conference on Industrial Informatics.

[2]  Kai-Yuan Cai,et al.  Optimal software testing and adaptive software testing in the context of software cybernetics , 2002, Inf. Softw. Technol..

[3]  Ina Schieferdecker,et al.  Model-Driven Testing: Using the UML Testing Profile , 2007 .

[4]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[5]  Stefan Biffl,et al.  Test-Driven Automation: Adopting Test-First Development to Improve Automation Systems Engineering Processes , 2009 .

[6]  Jonathan Love,et al.  Process Automation Handbook: A Guide to Theory and Practice , 2007 .

[7]  E. Estevez,et al.  A Methodology for Multidisciplinary Modeling of Industrial Control Systems using UML , 2007, 2007 5th IEEE International Conference on Industrial Informatics.

[8]  C.J.H. Mann,et al.  A Practical Guide to SysML: The Systems Modeling Language , 2009 .

[9]  K.C. Thramboulidis,et al.  Using UML in control and automation: a model driven approach , 2004, 2nd IEEE International Conference on Industrial Informatics, 2004. INDIN '04. 2004.

[10]  T. Kanade Model-Based Testing of Reactive Systems , 2005 .

[11]  Alistair Cockburn,et al.  Crystal Clear: A Human-Powered Methodology for Small Teams , 2004 .

[12]  Andrew Glover,et al.  Continuous Integration: Improving Software Quality and Reducing Risk (The Addison-Wesley Signature Series) , 2007 .

[13]  Marco A. Wehrmeister,et al.  MDA-based approach for embedded software generation from a UML/MOF repository , 2006, SBCCI '06.

[14]  Stefan Biffl,et al.  Automation component aspects for efficient unit testing , 2009, 2009 IEEE Conference on Emerging Technologies & Factory Automation.

[15]  Scott W. Ambler,et al.  The Elements of UML™ 2.0 Style: The Elements of UML™ 2.0 Style , 2005 .

[16]  Sanford Friedenthal,et al.  A Practical Guide to SysML: The Systems Modeling Language , 2008 .

[17]  Manfred Broy,et al.  Model-Based Testing of Reactive Systems, Advanced Lectures [The volume is the outcome of a research seminar that was held in Schloss Dagstuhl in January 2004] , 2005, Model-Based Testing of Reactive Systems.

[18]  Peter Fröhlich,et al.  Automated Test Case Generation from Dynamic Models , 2000, ECOOP.

[19]  Jyrki Kontio,et al.  Software engineering risk management : a method, improvement framework, and empirical evaluation , 2001 .