UCov: a user-defined coverage criterion for test case intent verification

dc.contributor.authorAbou-Assi, Rawad Abu
dc.contributor.authorMasri, Wes
dc.contributor.authorZaraket, Fadi A.
dc.contributor.departmentDepartment of Electrical and Computer Engineering
dc.contributor.facultyMaroun Semaan Faculty of Engineering and Architecture (MSFEA)
dc.contributor.institutionAmerican University of Beirut
dc.date.accessioned2025-01-24T11:29:17Z
dc.date.available2025-01-24T11:29:17Z
dc.date.issued2016
dc.description.abstractThe goal of regression testing is to ensure that the behaviour of existing code, believed correct by previous testing, is not altered by new program changes. This paper argues that the primary focus of regression testing should be on code associated with (1) earlier bug fixes and (2) particular application scenarios considered to be important by the developer or tester. Existing coverage criteria do not enable such focus, for example, 100% branch coverage does not guarantee that a given bug fix is exercised or a given application scenario is tested. Therefore, there is a need for a new and complementary coverage criterion in which the user can definea test requirement characterizing a given behaviour to be covered as opposed to choosing from a pool of pre-defined and generic program elements. This paper proposes this new methodology and calls it UCov, a user-defined coverage criterion wherein a test requirement is an execution pattern of program elements, and possibly predicates, that a test case must satisfy. The proposed criterion is not meant to replace existing criteria, but to complement them as it focuses the testing on important code patterns that could go untested otherwise. UCov supports test case intent verification. For example, following a bug fix, the testing team may augment the regression suite with the test case that revealed the bug. However, this test case might become obsolete due to code modifications not related to the bug. But if a test requirement characterizing the bug was defined by the user, UCov would determine that test case intent verification failed. The UCov methodology was implemented for the Java platform, was successfully applied onto 10 real-life case studies and was shown to have advantages over JUnit. The implementation comprises the following tools: (1) TRSpec: allows the user to easily specify complex test requirements; (2) TRCheck: checks whether user-defined test requirements were satisfied, that is, supports test case intent verification; and (3) TRMigrate: migrates user-defined test requirements to subsequent versions of a given program. Copyright © 2016 John Wiley & Sons, Ltd. Copyright © 2016 John Wiley & Sons, Ltd.
dc.identifier.doihttps://doi.org/10.1002/stvr.1607
dc.identifier.eid2-s2.0-84977546271
dc.identifier.urihttp://hdl.handle.net/10938/27167
dc.language.isoen
dc.publisherJohn Wiley and Sons Ltd
dc.relation.ispartofSoftware Testing Verification and Reliability
dc.sourceScopus
dc.subjectCode coverage
dc.subjectRegression testing
dc.subjectSoftware testing
dc.subjectTest case intent preservation
dc.subjectTest case intent verification
dc.subjectUser-defined coverage criterion
dc.subjectValidation testing
dc.subjectCodes (symbols)
dc.subjectRegression analysis
dc.subjectTesting
dc.subjectVerification
dc.subjectCoverage criteria
dc.subjectTest case
dc.titleUCov: a user-defined coverage criterion for test case intent verification
dc.typeArticle

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
2016-9315.pdf
Size:
3.51 MB
Format:
Adobe Portable Document Format