QoS-aware Metamorphic Testing: An Elevation Case Study

Elevators are among the oldest and most widespread transportation systems, yet their complexity increases rapidly to satisfy customization demands and to meet quality of service requirements. Verification and validation tasks in this context are costly, since they rely on the manual intervention of domain experts at some points of the process. This is mainly due to the difficulty to assess whether the elevators behave as expected in the different test scenarios, the so-called test oracle problem. Metamorphic testing is a thriving testing technique that alleviates the oracle problem by reasoning on the relations among multiple executions of the system under test, the so-called metamorphic relations. In this practical experience paper, we report on the application of metamorphic testing to verify an industrial elevator dispatcher. Together with domain experts from the elevation sector, we defined multiple metamorphic relations that consider domain-specific quality of service measures. Evaluation results with seeded faults show that the approach is effective at detecting faults automatically.

[1]  Georgios Fainekos,et al.  Simulation-based Adversarial Test Generation for Autonomous Vehicles with Machine Learning Components , 2018, 2018 IEEE Intelligent Vehicles Symposium (IV).

[2]  Gail E. Kaiser,et al.  Automatic system testing of programs without test oracles , 2009, ISSTA.

[3]  Sergio Segura,et al.  A Survey on Metamorphic Testing , 2016, IEEE Transactions on Software Engineering.

[4]  Sergio Segura,et al.  Performance metamorphic testing: A Proof of concept , 2018, Inf. Softw. Technol..

[5]  Lutfi Al-Sharif,et al.  Elevator Traffic Handbook: Theory and Practice , 2003 .

[6]  Aitor Arrieta,et al.  Search-Based test case prioritization for simulation-Based testing of cyber-Physical system product lines , 2019, J. Syst. Softw..

[7]  Sriram Sankaranarayanan,et al.  S-TaLiRo: A Tool for Temporal Logic Falsification for Hybrid Systems , 2011, TACAS.

[8]  Sergio Segura,et al.  Metamorphic Testing of RESTful Web APIs , 2018, IEEE Transactions on Software Engineering.

[9]  Ying Zou,et al.  An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[10]  Alexander Felfernig,et al.  Automated Analysis in Feature Modelling and Product Configuration , 2013, ICSR.

[11]  Michael D. Ernst,et al.  Are mutants a valid substitute for real faults in software testing? , 2014, SIGSOFT FSE.

[12]  Christoph Schulze,et al.  Metamorphic Model-Based Testing of Autonomous Systems , 2017, 2017 IEEE/ACM 2nd International Workshop on Metamorphic Testing (MET).

[13]  Mark Harman,et al.  The Oracle Problem in Software Testing: A Survey , 2015, IEEE Transactions on Software Engineering.

[14]  Mikael Lindvall,et al.  Metamorphic Model-Based Testing Applied on NASA DAT -- An Experience Report , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[15]  Ahmed E. Hassan,et al.  A Survey on Load Testing of Large-Scale Software Systems , 2015, IEEE Transactions on Software Engineering.

[16]  Lionel C. Briand,et al.  Test Generation and Test Prioritization for Simulink Models with Dynamic Behavior , 2019, IEEE Transactions on Software Engineering.

[17]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[18]  Tsong Yueh Chen,et al.  Metamorphic Testing: A New Approach for Generating Next Test Cases , 2020, ArXiv.

[19]  Marja-Liisa Siikonen,et al.  ON TRAFFIC PLANNING METHODOLOGY , 2000 .

[20]  Olivier Barais,et al.  Leveraging metamorphic testing to automatically detect inconsistencies in code generator families , 2019, Softw. Test. Verification Reliab..

[21]  Sergio Segura,et al.  Metamorphic Testing: Testing the Untestable , 2020, IEEE Software.

[22]  Dave Towey,et al.  Metamorphic Relations for Enhancing System Understanding and Use , 2020, IEEE Transactions on Software Engineering.

[23]  Zhenyu Wang,et al.  Metamorphic Testing for Adobe Analytics Data Collection JavaScript Library , 2018, 2018 IEEE/ACM 3rd International Workshop on Metamorphic Testing (MET).

[24]  Wynne Hsu,et al.  DESIGN OF MUTANT OPERATORS FOR THE C PROGRAMMING LANGUAGE , 2006 .

[25]  Tsong Yueh Chen,et al.  Metamorphic Relations for Detection of Performance Anomalies , 2019, 2019 IEEE/ACM 4th International Workshop on Metamorphic Testing (MET).

[26]  Arda Goknil,et al.  Metamorphic Security Testing for Web Systems , 2019, 2020 IEEE 13th International Conference on Software Testing, Validation and Verification (ICST).

[27]  Ahmed E. Hassan,et al.  Automatic detection of performance deviations in the load testing of Large Scale Systems , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[28]  Lionel C. Briand,et al.  Improving fault localization for Simulink models using search-based testing and prediction models , 2017, 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER).

[29]  Jeffrey M. Voas,et al.  Metamorphic Testing for Cybersecurity , 2016, Computer.

[30]  Shing-Chi Cheung,et al.  Towards the Testing of Power-Aware Software Applications for Wireless Sensor Networks , 2007, Ada-Europe.

[31]  Ahmed E. Hassan,et al.  Automated Detection of Performance Regressions Using Regression Models on Clustered Performance Counters , 2015, ICPE.

[32]  Liqun Sun,et al.  Metamorphic testing of driverless cars , 2019, Commun. ACM.

[33]  Wasif Afzal,et al.  Towards a Taxonomy for Eliciting Design-Operation Continuum Requirements of Cyber-Physical Systems , 2020, 2020 IEEE 28th International Requirements Engineering Conference (RE).

[34]  Sergio Segura,et al.  Performance Metamorphic Testing: Motivation and Challenges , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering: New Ideas and Emerging Technologies Results Track (ICSE-NIER).

[35]  Suman Jana,et al.  DeepTest: Automated Testing of Deep-Neural-Network-Driven Autonomous Cars , 2017, 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE).