Coverage Criteria for State-Based Testing: A Systematic Review

Coverage Criteria for State-Based Testing: A Systematic Review

Sonali Pradhan (Siksha ‘O' Anusandhan University, Bhubaneswar, India), Mitrabinda Ray (Department of Computer Science and Engineering, Siksha ‘O' Anusandhan University, Bhubaneswar, India) and Srikanta Patnaik (Siksha ‘O' Anusandhan University, Bhubaneswar, India)
Copyright: © 2019 |Pages: 20
DOI: 10.4018/IJITPM.2019010101

Abstract

State-based testing (SBT) is known as deriving test cases from state machines and examining the dynamic behaviour of the system. It helps to identify various types of state-based faults within a system under test (SUT). For SBT, test cases are generated from state chart diagrams based on various coverage criteria such as All Transition, Round Trip Path, All Transition Pair, All Transition Pair with length 2, All Transition Pair with length 3, All Transition Pair of length 4 and Full Predicate. This article discuses a number of coverage criteria at the design level to find out various types of state-based faults in SBT. First, the intermediate graph is generated from a state chart diagram using an XML parser. The graph is traversed based on the given coverage criteria to generate a sequence of test cases. Then, mutation testing and sneak-path testing are applied on the generated test cases to check the effectiveness of the generated test suite. These two are common methods for checking the effectiveness of test cases. Mutation testing helps in the number of seeded errors covered whereas sneak-path testing basically helps to examine the unspecified behavior of the system. In round trip path (RTP), it is not possible to cover all paths. All transition is not an adequate level of fault detection with more execution time compared to all transition pair (ATP) with length 4 (LN4). In the discussion, ATP with LN4 is the best among all coverage criteria. SBT can able to detect various state-based faults-incorrect transition, missing transition, missing or incorrect event, missing or incorrect action, extra missing or corrupt state, which are difficult to detect in code-based testing. Most of these state-based faults can be avoided, if the testing is conducted at the early phase of design.
Article Preview
Top

Introduction

Testing at the early phase of software development life cycle can able to find the ambiguities and inconsistencies in the design and hence, design should be enhanced before the program is written (Antonio et al., 2002; Sundararajan et al., 2017). Research is going on state-based testing (SBT) to find effective test cases and to minimize cost of the test suite (Agrawal et al., 1989; Holt et al., 2014). For this, Unified Modeling Language (UML) diagrams are used to generate test cases. Initially testers were going for traditional testing, which is also known as code coverage testing. But, state-based coverage cannot be achieved in code-based testing (Binder, 2000). To achieve this, tester generates test scenarios from the state chart diagrams and then test cases are generated from these scenarios. Test cases are generated at design level and coverage analysis is performed from the source code. The diagrams are generated at the design stage of development life cycle. Generating test cases based on UML diagrams come under Model Based Testing (MBT). It is a better testing approach than code-based testing as it detects the error at the early phase which requires less cost to fix it (Chen & Wang, 2014; Dias Neto et al., 2007). MBT are conducted for the following reasons:

  • To get an abstract model of the system;

  • Validate the model;

  • Generate and execute test cases;

  • Assigning pass/fail verdict;

  • Analyzing the execution result;

  • When it is not required to model the full system;

  • To prevent fault;

  • To reduce cost with updating test cases.

Early testing activities make early fault detection (Binder, 2000; Broy et al., 2005) and more and more articles are referred to as MBT using state-based testing. In a very recent article, we find in MBT, where it elaborates several findings from MBT users in industry, security testing and various MBT challenges (Utting et al., 2016). Utting and Legeard (Briand & Labiche, 2001) have proposed a SBT technique to design black box testing. State-based testing is primarily considered as a black box testing to generate test cases (Briand & Labiche, 2001).

Complete Article List

Search this Journal:
Reset
Open Access Articles
Volume 12: 4 Issues (2021): Forthcoming, Available for Pre-Order
Volume 11: 4 Issues (2020): 3 Released, 1 Forthcoming
Volume 10: 4 Issues (2019)
Volume 9: 4 Issues (2018)
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing