skip to main content
10.1145/3524481.3527235acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article
Open access

Evaluating system-level test generation for industrial software: a comparison between manual, combinatorial and model-based testing

Published: 19 July 2022 Publication History

Abstract

Adequate testing of safety-critical systems is vital to ensure correct functional and non-functional operations. Previous research has shown that testing such systems requires a lot of effort, thus automated testing techniques have found a certain degree of success. However, automated testing has not replaced the need for manual testing, rather a common industrial practice exhibits a balance between automated and manual testing. In this respect, comparing manual testing with automated testing techniques continues to be an interesting topic to investigate. The need for this investigation is most apparent at system-level testing of industrial systems, where there is a lack of results on how different testing techniques perform concerning both structural and system-level metrics such as Modified Condition/Decision Coverage (MC/DC) and requirement coverage. In addition to the coverage, the cost of these techniques will also determine their efficiency and thus practical viability. In this paper, we have developed cost models for efficiency measurement and performed an experimental evaluation of manual testing, model-based testing (MBT), and combinatorial testing (CT) in terms of MC/DC and requirement coverage. The evaluation is done in an industrial context of a safety-critical system that controls several functions on-board the passenger trains. We have reported the dominant conditions of MC/DC affected by each technique while generating MC/DC adequate test suites. Moreover, we investigated differences and overlaps of test cases generated by each of the three techniques. The results showed that all test suites achieved 100% requirement coverage except the test suite generated by the pairwise testing strategy. However, MBT-generated test suites were more MC/DC adequate and provided a higher number of both similar and unique test cases. Moreover, unique test cases generated by MBT had an observable effect on MC/DC, which will complement manual testing to increase MC/DC coverage. The least dominant MC/DC condition fulfilled by the generated test cases by all three techniques is the 'independent effect of a condition on the outcomes of a decision'. Lastly, the evaluation also showed CT as the most efficient testing technique amongst the three in terms of time required for test generation and execution, but with an added cost parameter of manual identification of expected outcomes.

References

[1]
Wasif Afzal, Ahmad Nauman Ghazi, Juha Itkonen, Richard Torkar, Anneliese Andrews, and Khurram Bhatti. 2015. An experiment on the effectiveness and efficiency of exploratory testing. Empirical Software Engineering 20 (2015), 844--878.
[2]
Saswat Anand, Edmund K Burke, Tsong Yueh Chen, John Clark, Myra B Cohen, Wolfgang Grieskamp, Mark Harman, Mary Jean Harrold, Phil McMinn, Antonia Bertolino, et al. 2013. An orchestrated survey of methodologies for automated software test case generation. Journal of Systems and Software 86, 8 (2013), 1978--2001.
[3]
Andrea Bombarda and Angelo Gargantini. 2020. An Automata-Based Generation Method for Combinatorial Sequence Testing of Finite State Machines. In 2020 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW). IEEE, 157--166.
[4]
Josip Bozic, Bernhard Garn, Ioannis Kapsalis, Dimitris Simos, Severin Winkler, and Franz Wotawa. 2015. Attack pattern-based combinatorial testing with constraints for web security testing. In 2015 IEEE International Conference on Software Quality, Reliability and Security. IEEE, 207--212.
[5]
Jörg Brauer, Jan Peleska, and Uwe Schulze. 2012. Efficient and trustworthy tool qualification for model-based testing tools. In IFIP International Conference on Testing Software and Systems. Springer, 8--23.
[6]
Cristian Cadar, Daniel Dunbar, Dawson R Engler, et al. 2008. Klee: unassisted and automatic generation of high-coverage tests for complex systems programs. In OSDI, Vol. 8. 209--224.
[7]
Yin Chen, Sven Linder, and Jonas Wigstein. 2019. An Approach of Creating Component Design Specification for Safety-Related Software in Railway. In 2019 Annual Reliability and Maintainability Symposium (RAMS). IEEE, 1--4.
[8]
John Joseph Chilenski and Steven P Miller. 1994. Applicability of modified condition/decision coverage to software testing. Software Engineering Journal 9, 5 (1994), 193--200.
[9]
Myra B Cohen, Peter B Gibbons, Warwick B Mugridge, and Charles J Colbourn. 2003. Constructing test suites for interaction testing. In 25th International Conference on Software Engineering, 2003. Proceedings. IEEE, 38--48.
[10]
Siddhartha R Dalal, Ashish Jain, Nachimuthu Karunanithi, JM Leaton, Christopher M Lott, Gardner C Patton, and Bruce M Horowitz. 1999. Model-based testing in practice. In Proceedings of the 21st international conference on Software engineering. 285--294.
[11]
Arilo C. Dias-Neto and Guilherme H. Travassos. 2010. A Picture from the Model-Based Testing Area: Concepts, Techniques, and Challenges. In Advances in Computers, Marvin V. Zelkowitz (Ed.). Advances in Computers, Vol. 80. Elsevier, 45--120.
[12]
Arnaud Dupuy and Nancy Leveson. 2000. An empirical evaluation of the MC/DC coverage criterion on the HETE-2 satellite software. In 19th DASC. 19th Digital Avionics Systems Conference. Proceedings (Cat. No. 00CH37126), Vol. 1. IEEE, 1B6--1.
[13]
Mounia El qortobi, Amine Rahj, Jamal Bentahar, and Rachida Dssouli. 2020. Test Generation Tool for Modified Condition/Decision Coverage: Model Based Testing. In Proceedings of the 13th International Conference on Intelligent Systems: Theories and Applications. 1--6.
[14]
Eduard Enoiu, Daniel Sundmark, Adnan Čaušević, and Paul Pettersson. 2017. A Comparative Study of Manual and Automated Testing for Industrial Control Software. In 2017 IEEE International Conference on Software Testing, Verification and Validation (ICST). 412--417.
[15]
Miraldi Fifo, Eduard Enoiu, and Wasif Afzal. 2019. On measuring combinatorial coverage of manually created test cases for industrial software. In 2019 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW). IEEE, 264--267.
[16]
Svetoslav R Ganov, Chip Killmar, Sarfraz Khurshid, and Dewayne E Perry. 2008. Test generation for graphical user interfaces based on symbolic execution. In Proceedings of the 3rd international workshop on Automation of software test. 33--40.
[17]
Gregory Gay, Ajitha Rajan, Matt Staats, Michael Whalen, and Mats PE Heimdahl. 2016. The effect of program and model structure on the effectiveness of mc/dc test adequacy coverage. ACM Transactions on Software Engineering and Methodology (TOSEM) 25, 3 (2016), 1--34.
[18]
Jon Hagar, Rick Kuhn, Raghu Kacker, and Tom Wissink. 2014. Introducing combinatorial testing in a large organization: Pilot project experience report. In 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation Workshops. IEEE, 153--153.
[19]
Jon Hagar, Rick Kuhn, Raghu Kacker, and Tom Wissink. 2014. Introducing Combinatorial Testing in a Large Organization: Pilot Project Experience Report. In 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation Workshops.
[20]
Kelly J Hayhurst. 2001. A practical tutorial on modified condition/decision coverage. DIANE Publishing.
[21]
Hadi Hemmati, Syed S Arefin, and Howard W Loewen. 2018. Evaluating specification-level MC/DC criterion in model-based testing of safety critical systems. In 2018 IEEE/ACM 40th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP). IEEE, 256--265.
[22]
Linghuan Hu, W. Eric Wong, D. Richard Kuhn, and Raghu N. Kacker. 2020. How does combinatorial testing perform in the real world: an empirical study. Empirical Software Engineering 25 (2020), 2661--2693.
[23]
Anne Kramer and Bruno Legeard. 2016. Model-based testing essentials-guide to the ISTQB certified model-based tester: foundation level. John Wiley & Sons.
[24]
Peter M. Kruse, Nelly Condori-Fernandez, Tanja E.J. Vos, Alessandra Bagnato, and Etienne Brosse. 2013. Combinatorial Testing Tool Learnability in an Industrial Environment. In 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.
[25]
D Richard Kuhn, Raghu N Kacker, Yu Lei, et al. 2015. Combinatorial coverage as an aspect of test quality. CrossTalk 28, 2 (2015), 19--23.
[26]
Rick Kuhn and Raghu Kacker. 2011. Practical combinatorial (t-way) methods for detecting complex faults in regression testing. In 2011 27th IEEE International Conference on Software Maintenance (ICSM). IEEE, 599--599.
[27]
Kiran Lakhotia, Phil McMinn, and Mark Harman. 2009. Automated Test Data Generation for Coverage: Haven't We Solved This Problem Yet?. In 2009 Testing: Academic and Industrial Conference - Practice and Research Techniques. 95--104.
[28]
Hareton KN Leung and Lee J White. 1991. A cost model to compare regression test strategies. In ICSM, Vol. 91. 201--208.
[29]
Dong Li, Linghuan Hu, Ruizhi Gao, W Eric Wong, D Richard Kuhn, and Raghu N Kacker. 2017. Improving MC/DC and fault detection strength using combinatorial testing. In 2017 IEEE International Conference on Software Quality, Reliability and Security Companion (QRS-C). IEEE, 297--303.
[30]
W. Li, F. Le Gall, and N. Spaseski. 2017. A survey on model-based testing tools for test case generation. In International Conference on Tools and Methods for Program Analysis. Springer.
[31]
Arthur Marques, Franklin Ramalho, and Wilkerson L Andrade. 2014. Comparing model-based testing with traditional testing strategies: An empirical study. In 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation Workshops. IEEE, 264--273.
[32]
Ahmed Mateen, Qingsheng Zhu, and Salman Afsar. 2018. Comparitive Analysis of Manual vs Automotive Testing for Software Quality. In Proceedings of the 7th International Conference on Software Engineering and New Technologies. 1--7.
[33]
Stefan Mohacsi, Michael Felderer, and Armin Beer. 2015. Estimating the Cost and Benefit of Model-Based Testing: A Decision Support Procedure for the Application of Model-Based Testing in Industry. In 2015 41st Euromicro Conference on Software Engineering and Advanced Applications. 382--389.
[34]
Cu D Nguyen, Alessandro Marchetto, and Paolo Tonella. 2012. Combining model-based and combinatorial testing for effective test case generation. In Proceedings of the 2012International Symposium on Software Testing and Analysis. 100--110.
[35]
Sebastian Oster, Ivan Zorcic, Florian Markert, and Malte Lochau. 2011. MoSo-PoLiTe: tool support for pairwise and model-based software product line testing. In Proceedings of the 5th Workshop on Variability Modeling of Software-Intensive Systems. 79--82.
[36]
Mike Papadakis and Nicos Malevris. 2010. Automatic mutation test case generation via dynamic symbolic execution. In 2010 IEEE 21st International Symposium on Software Reliability Engineering. IEEE, 121--130.
[37]
Rudolf Ramler, Theodorich Kopetzky, and Wolfgang Platz. 2012. Combinatorial Test Design in the TOSCA Testsuite: Lessons Learned and Practical Implications. In 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation. 569--572.
[38]
Sanjai Rayadurgam and Mats Heimdahl. 2003. Generating MC/DC adequate test sequences through model checking. (2003).
[39]
Mary Sánchez-Gordón, Laxmi Rijal, and Ricardo Colomo-Palacios. 2020. Beyond Technical Skills in Software Testing: Automated versus Manual Testing. In Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops. 161--164.
[40]
Christoph Schulze, Dharmalingam Ganesan, Mikael Lindvall, Rance Cleaveland, and Daniel Goldman. 2014. Assessing model-based testing: an empirical study conducted in industry. In Companion Proceedings of the 36th International Conference on Software Engineering. 135--144.
[41]
Ossi Taipale, Jussi Kasurinen, Katja Karhu, and Kari Smolander. 2011. Trade-off between automated and manual software testing. International Journal of System Assurance Engineering and Management 2, 2 (2011), 114--125.
[42]
M. Utting and B. Legeard. 2010. Practical model-based testing: a tools approach. Elsevier.
[43]
Erik Van Veenendaal, Dorothy Graham, and Rex Black. 2008. "Foundations of Software Testing: ISTQB Certification. Cengage Learning EMEA (2008), 30.
[44]
Sergiy Vilkomir, Aparna Alluri, D Richard Kuhn, and Raghu N Kacker. 2017. Combinatorial and MC/DC coverage levels of random testing. In 2017 IEEE International Conference on Software Quality, Reliability and Security Companion (QRS-C). IEEE, 61--68.
[45]
Michael Wagner, Kristoffer Kleine, Dimitris E. Simos, Rick Kuhn, and Raghu Kacker. 2020. CAGEN: A fast combinatorial test generation tool with support for constraints and higher-index arrays. In 2020 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW). 191--200.
[46]
Allan L White. 2001. Comments on modified condition/decision coverage for software testing [of flight control software]. In 2001 IEEE Aerospace Conference Proceedings (Cat. No. 01TH8542), Vol. 6. IEEE, 2821--2827.
[47]
Muhammad Nouman Zafar, Wasif Afzal, and Eduard Enoiu. 2021. Towards a Workflow for Model-Based Testing of Embedded Systems. In Proceedings of the 12th International Workshop on Automating TEST Case Design, Selection, and Evaluation. Association for Computing Machinery, New York, NY, USA.
[48]
Muhammad Nouman Zafar, Wasif Afzal, Eduard Paul Enoiu, Athanasios Stratis, Aitor Arrieta, and Goiuria Sagardui. 2021. Model-Based Testing in Practice: An Industrial Case Study using GraphWalker. In Innovations in Software Engineering Conference 2021. http://www.es.mdh.se/publications/6101-
[49]
Muhammad Nouman Zafar, Wasif Afzal, Eduard Paul Enoiu, Athanasios Stratis, and Ola Sellin. 2021. A Model-Based Test Script Generation Framework for Embedded Software. In The 17th Workshop on Advances in Model Based Testing. http://www.es.mdh.se/publications/6172-

Cited By

View all

Index Terms

  1. Evaluating system-level test generation for industrial software: a comparison between manual, combinatorial and model-based testing

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      AST '22: Proceedings of the 3rd ACM/IEEE International Conference on Automation of Software Test
      May 2022
      180 pages
      ISBN:9781450392860
      DOI:10.1145/3524481
      This work is licensed under a Creative Commons Attribution International 4.0 License.

      Sponsors

      In-Cooperation

      • IEEE TCSC: IEEE Technical Committee on Scalable Computing

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 19 July 2022

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. safety critical systems
      2. system-level tests
      3. test coverage
      4. test generation

      Qualifiers

      • Research-article

      Funding Sources

      • European Union?s Horizon 2020
      • Swedish Innovation Agency (Vinnova)
      • ECSEL Joint Undertaking (JU)

      Conference

      AST '22
      Sponsor:

      Upcoming Conference

      ICSE 2025

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)155
      • Downloads (Last 6 weeks)18
      Reflects downloads up to 08 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all

      View Options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Login options

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media