A Comparative Study of Manual and Automated Testing for Industrial Control Software

Automated test generation has been suggested as a way of creating tests at a lower cost. Nonetheless, it is not very well studied how such tests compare to manually written ones in terms of cost and effectiveness. This is particularly true for industrial control software, where strict requirements on both specification-based testing and code coverage typically are met with rigorous manual testing. To address this issue, we conducted a case study in which we compared manually and automatically created tests. We used recently developed real-world industrial programs written in the IEC 61131-3, a popular programming language for developing industrial control systems using programmable logic controllers. The results show that automatically generated tests achieve similar code coverage as manually created tests, but in a fraction of the time (an average improvement of roughly 90%). We also found that the use of an automated test generation tool does not result in better fault detection in terms of mutation score compared to manual testing. Specifically, manual tests more effectively detect logical, timer and negation type of faults, compared to automatically generated tests. The results underscore the need to further study how manual testing is performed in industrial practice and the extent to which automated test generation can be used in the development of reliable systems.

[1]  Xiaoyin Wang,et al.  Experience report: how is dynamic symbolic execution different from manual testing? a study on KLEE , 2015, ISSTA.

[2]  Junbeom Yoo,et al.  Software safety analysis of function block diagrams using fault trees , 2005, Reliab. Eng. Syst. Saf..

[3]  Kristen Walcott-Justice,et al.  Empirically Evaluating the Quality of Automatically Generated and Manually Written Test Suites , 2014, 2014 14th International Conference on Quality Software.

[4]  Reidar Conradi,et al.  Empirical Methods and Studies in Software Engineering , 2003, Lecture Notes in Computer Science.

[5]  Gregg Rothermel,et al.  Software testing: a research travelogue (2000–2014) , 2014, FOSE.

[6]  Gordon Fraser,et al.  Does Automated Unit Test Generation Really Help Software Testers? A Controlled Empirical Study , 2015, ACM Trans. Softw. Eng. Methodol..

[7]  D. C. Howell Statistical Methods for Psychology , 1987 .

[8]  Markus Bohlin,et al.  Search Based Testing of Embedded Systems Implemented in IEC 61131-3: An Industrial Case Study , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops.

[9]  A. Jefferson Offutt,et al.  Introduction to Software Testing , 2008 .

[10]  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).

[11]  Elaine J. Weyuker,et al.  Automated test generation using model checking: an industrial evaluation , 2014, International Journal on Software Tools for Technology Transfer.

[12]  Doo-Hwan Bae,et al.  Empirical evaluation on FBD model-based test coverage criteria using mutation analysis , 2012, MODELS'12.

[13]  Michael Tiegelkamp,et al.  IEC 61131-3: Programming Industrial Automation Systems: Concepts and Programming Languages, Requirements for Programming Systems, Decision-Making Aids , 2001 .

[14]  Reid Holmes,et al.  Coverage is not strongly correlated with test suite effectiveness , 2014, ICSE.

[15]  A. Vargha,et al.  A Critique and Improvement of the CL Common Language Effect Size Statistics of McGraw and Wong , 2000 .

[16]  Gordon Fraser,et al.  EvoSuite: automatic test suite generation for object-oriented software , 2011, ESEC/FSE '11.

[17]  Tolga Ovatman,et al.  An overview of model checking practices on verification of PLC software , 2014, Software & Systems Modeling.

[18]  Reidar Conradi,et al.  Empirical Methods and Studies in Software Engineering: Experiences from Esernet , 2003 .

[19]  Gordon Fraser,et al.  Do Automatically Generated Unit Tests Find Real Faults? An Empirical Study of Effectiveness and Challenges (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).