Testing object-oriented systems: models, patterns, and tools
Testing object-oriented systems: models, patterns, and tools
Automatic Test Generation: A Use Case Driven Approach
IEEE Transactions on Software Engineering
Verification of UML/OCL Class Diagrams using Constraint Programming
ICSTW '08 Proceedings of the 2008 IEEE International Conference on Software Testing Verification and Validation Workshop
A systematic review of search-based testing for non-functional system properties
Information and Software Technology
State Based Robustness Testing for Components
Electronic Notes in Theoretical Computer Science (ENTCS)
An enhanced test case selection approach for model-based testing: an industrial case study
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
A Search-Based OCL Constraint Solver for Model-Based Test Data Generation
QSIC '11 Proceedings of the 2011 11th International Conference on Quality Software
Modeling and analysis of exception handling by using UML statecharts
FIDJI'04 Proceedings of the 4th international conference on Scientific Engineering of Distributed Java Applications
Aspect-oriented modeling of mutual exclusion in UML state machines
ECMFA'12 Proceedings of the 8th European conference on Modelling Foundations and Applications
MODELS'12 Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems
Assessing composition in modeling approaches
Proceedings of the CMA 2012 Workshop
Hi-index | 0.00 |
Systematic and rigorous robustness testing is very critical for embedded systems, as for example communication and control systems. Robustness testing aims at testing the behavior of a system in the presence of faulty situations in its operating environment (e.g., sensors and actuators). In such situations, the system should gracefully degrade its performance instead of abruptly stopping execution. To systematically perform robustness testing, one option is to resort to model-based robustness testing (MBRT), based for example on UML/MARTE models. However, to successfully apply MBRT in industrial contexts, new technology needs to be developed to scale to the complexity of real industrial systems. In this paper, we report on our experience of performing MBRT on video conferencing systems developed by Cisco Systems, Norway. We discuss how we developed and integrated various techniques and tools to achieve a fully automated MBRT that is able to detect previously uncaught software faults in those systems. We provide an overview of how we achieved scalable modeling of robustness behavior using aspect-oriented modeling, test case generation using search algorithms, and environment emulation for test case execution. Our experience and lessons learned identify challenges and open research questions for the industrial application of MBRT.