Abstract
Visual Programming Languages have been widely used in the context of Model-Based Development, and they find a particular appeal for the design of satellite subsystems, such as the Attitude and Orbit Control Subsystem (AOCS) which is an extremely complex part of a spacecraft. The software testing community has been trying to ensure high quality products with as few defects as possible. Given that exhaustive generation and execution of software test cases are unfeasible in practice, one of the initiatives is to reduce the sets of test cases required to test a Software/System Under Test, while still maintaining the efficiency (ability to find product defects, code coverage). This paper presents a new methodology to generate test cases for Visual Programming Language models, aiming at minimizing the set of test cases/steps but maintaining efficiency. The approach, called specification Patterns, modified Condition/Decision coverage, and formal Verification to support Testing (PCDVT), combines the Modified Decision/Condition Coverage (MC/DC) criterion, Model Checking, specification patterns, and a minimization approach by identifying irreplaceable tests in a single method, taking advantage of the benefits of all these efforts in a unified strategy. Results showed that two instances of PCDVT presented a lower cost (smaller number of test steps) and, basically, the same efficiency (model coverage) if compared with a specialist ad hoc approach. We used the AOCS model of a Brazilian satellite in order to make the comparison between the methods.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
A test step is an atomic activity to prepare or stimulate the System/Software Under Test. The stimulus can contain the test input data and the expected results.
- 2.
Note that, in these tables, the last row implies the total number of test steps and the mean MC/DC coverage.
References
Pisacane, V.L.: Fundamentals of Space Systems. Oxford University Press, New York (2005)
Wertz, J.R., Larson, W.J.: Space Mission Analysis and Design. Microcosm Press, Hawthorne (1999). 976 p.
Mathur, A.P.: Foundations of Software Testing. Dorling Kindersley (India), Pearson Education in South Asia, Delhi (2008). 689 p
Delamaro, M.E., Maldonado, J.C., Jino, M.: Introdução ao teste de Software. Elsevier, Brasil (2007)
Santiago Júnior, V.A.: SOLIMVA: a methodology for generating model-based test cases from natural language requirements and detecting incompleteness in software specifications. Ph.D. thesis, Instituto Nacional de Pesquisas Espaciais (INPE) (2011)
Balasubramanian, K., Gokhale, A., Karsai, G., Sztipanovits, J., Neema, S.: Developing applications using model-driven design environments. Computer 39(2), 33–40 (2006)
Utting, M., Pretschner, A., Legeard, B.: A taxonomy of model-based testing approaches. Softw. Test. Verif. Reliab. 22(5), 297–312 (2012)
Campos, J., Abreu, R.: Encoding test requirements as constraints for test suite minimization. In: 2013 Tenth International Conference on Information Technology: New Generations (ITNG), pp. 317–322. IEEE (2013)
Ferrante, O., Ferrari, A., Marazza, M.: Model based generation of high coverage test suites for embedded systems. In: 19th IEEE European Test Symposium, vol. 99(2), pp. 335–337 (2014)
Fraser, G., Wotawa, F.: Mutant minimization for model-checker based test-case generation. In: Testing: Academic and Industrial Conference Practice and Research Techniques-MUTATION, TAICPART-MUTATION 2007, pp. 161–168. IEEE (2007)
Lin, C., Tang, K., Kapfhammer, G.M.: Test suite reduction methods that decrease regression testing costs by identifying irreplaceable tests. Inf. Softw. Technol. 56, 1322–1344 (2014)
Holloway, C.M.: Towards understanding the do-178c/ed-12c assurance case. In: 7th IET International Conference on System Safety, Incorporating the Cyber Security Conference 2012, pp. 1–6 (2012)
Baier, C., Katoen, J.: Principles of Model Checking. MIT Press, Cambridge (2008)
Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Property specification patterns for finite-state verification. In: Proceedings of the Second Workshop on Formal Methods in Software Practice, pp. 7–15. ACM (1998)
Alarcon, P.N.S.: Test specification and procedures for AOCS. Technical report, São José dos Campos (2013)
Janík, Z., Žáková, K.: Online design of Matlab/Simulink and SciLab/Xcos block schemes. In: 2011 14th International Conference on Interactive Collaborative Learning (ICL), pp. 241–247 (2011)
Wiese, R., Eiglsperger, M., Kaufmann, M.: yFiles visualization and automatic layout of graphs. In: Jünger, M., Mutzel, P. (eds.) Graph Drawing Software, pp. 173–191. Springer, Heidelberg (2004). doi:10.1007/978-3-642-18638-7_8
Hanselman, D.C., Littlefield, B.: Mastering Matlab 7. Pearson/Prentice Hall, Upper Saddle River (2005)
Chilenski, J.J., Miller, S.P.: Applicability of modified condition/decision coverage to software testing. Softw. Eng. J. 9(5), 193–200 (1994)
Bartocci, E., DeFrancisco, R., Smolka, S.A.: Towards a GPGPU-parallel SPIN model checker. In: Proceedings of the 2014 International SPIN Symposium on Model Checking of Software, pp. 87–96 (2014)
Yamada, C., Miller, D.M.: Using spin to check simulink stateflow models. Int. J. Netw. Distrib. Comput. 4(1), 65–74 (2016)
Araujo, H.A.B.: AOCS design specification. Technical report, São José dos Campos (2012)
Alarcon, P.N.S., Carvalho, F.G.M., Simoes, A.R.: Geração automática de casos de teste aplicada ao projeto de aocs de satélites artificiais. In: XX Congresso Brasileiro de Automática (CBA 2014), pp. 1652–1659 (2014)
Gan, X., Dubrovin, J., Heljanko, K.: A symbolic model checking approach to verifying satellite onboard software. Sci. Comput. Program. 82, 44–55 (2014)
Nardone, V., Santone, A., Tipaldi, M., Glielmo, L.: Probabilistic model checking applied to autonomous spacecraft reconfiguration. In: 2016 IEEE Metrology for Aerospace (MetroAeroSpace), pp. 556–560 (2016)
Fraser, G., Wotawa, F., Ammann, P.E.: Testing with model checkers: a survey. Softw. Test. Verif. Reliab. 19(3), 215–261 (2009)
Ferrante, O., Marazza, M., Ferrari, A.: Formal specs verifier ATG: a tool for model-based generation of high coverage test suites. In: 19th IEEE European Test Symposium, vol. 99(2), pp. 335–337 (2014)
Zeng, H., Miao, H., Liu, J.: Specification-based test generation and optimization using model checking. In: Symposium on Theoretical Aspects of Software Engineering (TASE 2007) (2007)
Enoiu, E.P., Causevic, A., Ostrand, T.J., Weyuker, E.J., Sundmark, D., Pettersson, P.: Automated test generation using model checking: an industrial evaluation. Int. J. Softw. Tools Technol. Transf. 18, 335–353 (2014)
Yeolekar, A., Unadkat, D., Agarwal, V., Kumar, S., Venkatesh, R.: Scaling model checking for test generation using dynamic inference. In: 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation, pp. 184–191 (2013)
Gent, K., Hsiao, M.S.: Functional test generation at the RTL using swarm intelligence and bounded model checking. In: 2013 22nd Asian Test Symposium, pp. 233–238 (2013)
Wang, S., Ali, S., Gotlieb, A.: Minimizing test suites in software product lines using weight-based genetic algorithms. In: Proceedings of the 15th Annual Conference on Genetic and Evolutionary Computation, pp. 1493–1500 (2013)
Dandan, G., Tiantian, W., Xiaohong, S., Peijun, M.: A test-suite reduction approach to improving fault-localization effectiveness. Comput. Lang. Syst. Struct. 39(3), 95–108 (2013)
Singh, R., Santosh, M.: Test case minimization techniques: a review. Int. J. Eng. Res. Technol. (IJERT) 2(12) (2013)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
dos Santos Alarcon, P.N., de Santiago Júnior, V.A. (2017). Test Case/Step Minimization for Visual Programming Language Models and Its Application to Space Systems. In: Gervasi, O., et al. Computational Science and Its Applications – ICCSA 2017. ICCSA 2017. Lecture Notes in Computer Science(), vol 10409. Springer, Cham. https://doi.org/10.1007/978-3-319-62407-5_11
Download citation
DOI: https://doi.org/10.1007/978-3-319-62407-5_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-62406-8
Online ISBN: 978-3-319-62407-5
eBook Packages: Computer ScienceComputer Science (R0)