System regression test prioritization in factory automation: Relating functional system tests to the tested code using field data

After changes to a system in factory automation, testers are under high time pressure to ensure that changes did not introduce new faults, so-called regressions. This is done using regression testing by re-performing system test, i.e. functional test cases relating to the complete automated production system (aPS), to identify whether previously tested functionality is still fulfilling the requirements. Up to now, system regression testing is exclusively performed manually, heavily relying on the ability and stress resistance of the tester. This results in fluctuating regression test quality and unnecessarily prolonged test processes due to choosing and performing irrelevant test cases. In this paper, an approach in which the tester is supported in choosing, prioritizing and performing relevant test cases during regression testing by means of gathering and analyzing field data acquired during the original execution of the system tests is proposed. By using a guided system testing approach and instrumenting the control program implemented in the IEC 61131-3, it is possible to record relevant data during testing efficiently, in line with real-time constraints that are prevalent in the factory automation domain. The concepts and an evaluation based on two performed experiments using a laboratory case study are presented. The evaluation regarding the performance of the prioritizing approach as well as its run-time properties show promising results for an application in the factory automation domain.

[1]  Bengt Lennartson,et al.  Methods for Reliable Simulation-Based PLC Code Verification , 2012, IEEE Transactions on Industrial Informatics.

[2]  Hendrik Simon,et al.  Automatic test case generation for PLC programs using coverage metrics , 2015, 2015 IEEE 20th Conference on Emerging Technologies & Factory Automation (ETFA).

[3]  Bogdan Dit,et al.  Feature location in source code: a taxonomy and survey , 2013, J. Softw. Evol. Process..

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

[5]  Sebastian Ulewicz,et al.  Software changes in factory automation: Towards automatic change based regression testing , 2014, IECON 2014 - 40th Annual Conference of the IEEE Industrial Electronics Society.

[6]  Hanspeter Mössenböck,et al.  A Comprehensive Solution for Deterministic Replay Debugging of SoftPLC Applications , 2011, IEEE Transactions on Industrial Informatics.

[7]  Alexander Fay,et al.  Levels of Detail and Appropriate Model Types for Virtual Commissioning in Manufacturing Engineering , 2015 .

[8]  Valeriy Vyatkin,et al.  Requirements-Aided Automatic Test Case Generation for Industrial Cyber-physical Systems , 2015, 2015 20th International Conference on Engineering of Complex Computer Systems (ICECCS).

[9]  Malte Lochau,et al.  Multi-objective Test Suite Optimization for Incremental Product Family Testing , 2014, 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation.

[10]  Herbert Prähofer,et al.  Opportunities and challenges of static code analysis of IEC 61131-3 programs , 2012, Proceedings of 2012 IEEE 17th International Conference on Emerging Technologies & Factory Automation (ETFA 2012).

[11]  Mark Harman,et al.  Regression Testing Minimisation, Selection and Prioritisation - A Survey , 2009 .

[12]  Alexander Egyed,et al.  Recovering Feature-to-Code Mappings in Mixed-Variability Software Systems , 2014, 2014 IEEE International Conference on Software Maintenance and Evolution.

[13]  Peter Göhner,et al.  Agent-Based Test Case Prioritization , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

[14]  Sebastian Ulewicz,et al.  Guided semi-automatic system testing in factory automation , 2016, 2016 IEEE 14th International Conference on Industrial Informatics (INDIN).

[15]  Reinhard German,et al.  Dependency-Based Test Case Selection and Prioritization in Embedded Systems , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[16]  Alessandro Orso,et al.  Leveraging field data for impact analysis and regression testing , 2003, ESEC/FSE-11.

[17]  Norman Wilde,et al.  Instrumenting time-sensitive software for feature location , 2009, 2009 IEEE 17th International Conference on Program Comprehension.

[18]  Michael D. Ernst Static and dynamic analysis: synergy and duality , 2003 .

[19]  Sebastian Ulewicz,et al.  Review of Model-Based Testing Approaches in Production Automation and Adjacent Domains—Current Challenges and Research Gaps , 2015 .