Efficient and Flexible Test Automation in Production Systems Engineering

Context and background: In Production Systems Engineering (PSE), software and systems testing are success-critical along the production automation life cycle to identify defects early and efficiently. Although test automation concepts enable continuous integration and tests during engineering and maintenance, tool chains are often hardwired, less flexible, and inefficient. Thus, there is a need for more flexible tool chains to support verification and validation of control code variants. Objective: In this book chapter, we (a) describe a flexible Test Automation Framework (TAF) to enable continuous integration and tests and (b) provide an adapted maintenance process to enable efficient verification and validation of control code variants. Method: We build on best practices from Software Engineering and Software Testing to establish a flexible TAF based on Behavior-Driven Testing. We use the Abstract Syntax Tree (AST) as foundation for human-based verification and validation. We developed an initial prototype derived from industry partners and used an Industry 4.0 Testbed for evaluation. Results and conclusion: First results of the prototype implementation with selected testing tools showed the capability of the TAF concept for supporting flexible configurations of testing tool chains. The AST concept can support the human-based verification and validation of control code variants.

[1]  Stefan Biffl,et al.  Improving Model Inspection with Crowdsourcing , 2017, 2017 IEEE/ACM 4th International Workshop on CrowdSourcing in Software Engineering (CSI-SE).

[2]  Casper Lassenius,et al.  Problems, causes and solutions when adopting continuous delivery - A systematic literature review , 2017, Inf. Softw. Technol..

[3]  Stefan Biffl,et al.  Foundations for Event-Based Process Analysis in Heterogeneous Software Engineering Environments , 2010, 2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications.

[4]  Kent L. Beck,et al.  Test-driven Development - by example , 2002, The Addison-Wesley signature series.

[5]  Robert Wille,et al.  Assisted Behavior Driven Development Using Natural Language Processing , 2012, TOOLS.

[6]  Stefan Biffl,et al.  Towards Flexible and Automated Testing in Production Systems Engineering Projects , 2018, 2018 IEEE 23rd International Conference on Emerging Technologies and Factory Automation (ETFA).

[7]  Stefan Biffl,et al.  Towards Model Quality Assurance for Multi-Disciplinary Engineering , 2017, Multi-Disciplinary Engineering for Cyber-Physical Production Systems.

[8]  Yang-Ming Zhu,et al.  Software Reading Techniques: Twenty Techniques for More Effective Software Review and Inspection , 2016 .

[9]  E. James Whitehead,et al.  Collaboration in Software Engineering: A Roadmap , 2007, Future of Software Engineering (FOSE '07).

[10]  Jeff Sutherland,et al.  Manifesto for Agile Software Development , 2013 .

[11]  Ruth Breu,et al.  Is business domain language support beneficial for creating test case specifications: A controlled experiment , 2016, Inf. Softw. Technol..

[12]  Jan Bosch,et al.  Continuous Integration is Not About Build Systems , 2017, 2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[13]  Shaukat Ali,et al.  Formalizing the ISO/IEC/IEEE 29119 Software Testing Standard , 2015, 2015 ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS).

[14]  Robert Rosenberger,et al.  The problem with hands-free dashboard cellphones , 2013, CACM.

[15]  Birgit Vogel-Heuser,et al.  Evolution of software in automated production systems: Challenges and research directions , 2015, J. Syst. Softw..

[16]  Stefan Biffl,et al.  Verifying Conceptual Domain Models with Human Computation: A Case Study in Software Engineering , 2018, HCOMP.

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

[18]  Liming Zhu,et al.  Continuous Integration, Delivery and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices , 2017, IEEE Access.

[19]  Richard Mordinyi,et al.  Extending mechatronic objects for automation systems engineering in heterogeneous engineering environments , 2012, Proceedings of 2012 IEEE 17th International Conference on Emerging Technologies & Factory Automation (ETFA 2012).

[20]  James Roche,et al.  Adopting DevOps practices in quality assurance , 2013, CACM.

[21]  Jordi Cabot,et al.  Model-Driven Software Engineering in Practice , 2017, Synthesis Lectures on Software Engineering.

[22]  Ron Jeffries,et al.  Extreme Programming and Agile Software Development Methodologies , 2004, Inf. Syst. Manag..

[23]  Jan Bosch,et al.  Modeling continuous integration practice differences in industry software development , 2014, J. Syst. Softw..

[24]  Birgit Vogel-Heuser,et al.  Global Information Architecture for Industrial Automation , 2013 .

[25]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[26]  Xiaofeng Wang,et al.  A Study of the Characteristics of Behaviour Driven Development , 2011, 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications.

[27]  Jan Bosch,et al.  Enable more frequent integration of software in industry projects , 2018, J. Syst. Softw..

[28]  Stefan Biffl,et al.  An Architecture Framework for Collective Intelligence Systems , 2015, 2015 12th Working IEEE/IFIP Conference on Software Architecture.

[29]  Manfred Broy The 'Grand Challenge' in Informatics: Engineering Software-Intensive Systems , 2006, Computer.

[30]  Oliver Laitenberger,et al.  An encompassing life cycle centric survey of software inspection , 2000, J. Syst. Softw..

[31]  Claes Wohlin,et al.  State‐of‐the‐art: software inspections after 25 years , 2002, Softw. Test. Verification Reliab..

[32]  Stefan Biffl,et al.  Investigating a Distributed and Scalable Model Review Process , 2018, CLEI Electron. J..

[33]  Roland Rosen,et al.  About The Importance of Autonomy and Digital Twins for the Future of Manufacturing , 2015 .

[34]  Thomas Gilb,et al.  Software Inspection , 1994 .

[35]  Christian Colombo,et al.  Lessons learnt from using DSLs for automated software testing , 2015, 2015 IEEE Eighth International Conference on Software Testing, Verification and Validation Workshops (ICSTW).

[36]  Yang‐Ming Zhu,et al.  Software Reading Techniques , 2016, Apress.

[37]  Marco Torchiano,et al.  On the effectiveness of the test-first approach to programming , 2005, IEEE Transactions on Software Engineering.