Deriving Test Suites with the Guaranteed Fault Coverage for Extended Finite State Machines
https://doi.org/10.18255/1818-1015-2016-6-729-740
Abstract
Extended Finite State Machines (EFSMs) are widely used when deriving tests for checking functional requirements for software implementations. However, the fault coverage of tests covering appropriate paths, variables, etc. of the specification EFSM, remains rather obscure and such tests do not detect many functional faults in EFSM implementations. In this paper, an approach is proposed for deriving complete tests with respect to functional faults of a proper Java EFSM implementation. First, an initial test suite derived against the specification EFSM is checked with respect to faults generated by a µJava tool. Since the EFSM software implementation is template based, each undetected fault can be easily mapped into a mutant EFSM of the specification machine. Thus, a distinguishing sequence is derived for two Finite State Machines modeling two EFSMs instead of deriving such a sequence for two programs. If the corresponding FSMs are too complex or cannot be completely derived, a test suite can be incomplete. However, the performed experiments clearly show that a test suite extended by such distinguishing sequences detects much more functional faults in software implementations of a system whose behaviour is described by the given EFSM.
About the Authors
A. D. ErmakovRussian Federation
researcher, 36 Lenina ave., Tomsk 634050, Russia
N. V. Yevtushenko
Russian Federation
Professor, Doctor of Technical Sciences, 36 Lenina ave., Tomsk 634050, Russia
References
1. Kaur M., Singh R., “A Review of Software Testing Techniques”, International Journal of Electronic and Electrical Engineering, 7:5 (2014), 463–474.
2. Jorgensen P.C., Software Testing: A Craftsman’s Approach, Third Edition, Auerbach Publications, 2008.
3. Nica M., Nica S., Wotawa F., “On the use of mutations and testing for debugging”, Software – practice and experience, 43:9 (2013), 1121–1142.
4. Nica S., On the Use of Constraints in Program Mutations and its Applicability to Testing, PhD thesis, Graz Technical University, 2013.
5. Petrenko A., Boroday S., Groz R., “Confirming Configurations in EFSM Testing”, IEEE Trans. Software Eng, 30:1 (2004), 29–42.
6. El-Fakih K., Salameh T., Yevtushenko N., “On Code Coverage of Extended FSM Based Test Suites: An Initial Assessment”, LNCS, 8763 (2014), 198–204.
7. “µJava documentation. µJava home page. URL: http://cs.gmu.edu/~offutt/mujava/”, 2014, (access date: 10.04.2016).
8. Villa, T. et al., The Unknown Component Problem: Theory and Applications, Springer, 2012, 313 pp.
9. Ermakov A., Yevtushenko N., “Increasing the fault coverage of tests derived against Extended Finite State Machines”, System informatics, 7 (2016), 23–32.
10. Alcalde B. et al., “Network Protocol System Passive Testing for Fault Management: A Backward Checking Approach”, Proc. of the 24th IFIP WG 6.1 Intern. Conf. on Formal Techniques for Networked and Distributed Systems, FORTE’2004, 150–166.
11. Kushik N. et al., “Optimizing Protocol Passive Testing through ‘Gedanken’ Experiments with Finite State Machines”, Proc. of the Intern conference on Sofware Quality and Reliability, QSR’2016, August, 2016.
12. Kushik N., YeniguЁn H., “Heuristics for Deriving Adaptive Homing and Distinguishing Sequences for Nondeterministic Finite State Machines”, Lecture Notes in Computer Science, 9447 (2015), 243–248.
13. Kolomeec A. V., Algoritmy sinteza proverjajushhih testov dlja upravljajushhih sistem na osnove rasshirennyh avtomatov, dis. ... kand. tekhn. nauk, Tomsk State University, 2010, (in Russian).
14. Kushik N., Yevtushenko N., Cavalli A., “On Testing against Partial Non-observable Specifications”, Proc. of the Intern. Conf. on the Quality of Information and Communications Technology, 2014, 230–233.
15. Kushik N. et al., “On adaptive experiments for nondeterministic finite state machines”, The Intern. Journal on Software Tools for Technology Transfer, 18:3 (2016), 251–264.
16. El-Fakih K. et al., “Distinguishing extended finite state machine configurations using predicate abstractions”, Journal on Software Research and Development (published online), 2016.
17. Mikhaylov Yu. V., Kolomeets A. V., “Proverka perekhodov v rasshirennom avtomate na osnove srezov”, Vestnik TGU. Seriya: Upravlenie, vychislitel’naya tekhnika i informatika, 3:4 (2008), (in Russian).
18. “JUnit 4, documentation. URL: http://cs.gmu.edu/~offutt/mujava/”, (access date: 10.04.2016).
Review
For citations:
Ermakov A.D., Yevtushenko N.V. Deriving Test Suites with the Guaranteed Fault Coverage for Extended Finite State Machines. Modeling and Analysis of Information Systems. 2016;23(6):729-740. (In Russ.) https://doi.org/10.18255/1818-1015-2016-6-729-740