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 2022Publication 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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Kelly J Hayhurst. 2001. A practical tutorial on modified condition/decision coverage. DIANE Publishing.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarCross RefCross Ref
  23. Anne Kramer and Bruno Legeard. 2016. Model-based testing essentials-guide to the ISTQB certified model-based tester: foundation level. John Wiley & Sons.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Hareton KN Leung and Lee J White. 1991. A cost model to compare regression test strategies. In ICSM, Vol. 91. 201--208.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Sanjai Rayadurgam and Mats Heimdahl. 2003. Generating MC/DC adequate test sequences through model checking. (2003).Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  42. M. Utting and B. Legeard. 2010. Practical model-based testing: a tools approach. Elsevier.Google ScholarGoogle Scholar
  43. Erik Van Veenendaal, Dorothy Graham, and Rex Black. 2008. "Foundations of Software Testing: ISTQB Certification. Cengage Learning EMEA (2008), 30.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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-Google ScholarGoogle ScholarDigital LibraryDigital Library
  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-Google ScholarGoogle Scholar

Index Terms

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

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader