Browse Prior Art Database

System and method to use code coverage to detect duplicate tests on large scale environments

IP.com Disclosure Number: IPCOM000243882D
Publication Date: 2015-Oct-26
Document File: 6 page(s) / 57K

Publishing Venue

The IP.com Prior Art Database

Abstract

Detecting duplicate test cases that test deterministic code or simple products is much easier as the logic and results are more predictable.  On the other hand, detecting duplicate test cases that test large systems with many asynchronous events firing (such as maintenance threads starting) is not so simple as the system can result in different behaviours during any execution cycle.  What is being proposed in this invention is a solution to help detect duplicate test cases that test large non-deterministic code in an automated test environment. This can be accomplished by employing the use of code coverage during a test script run. The test script can be run multiple times to gather multiple sets of code coverage data which are then compared against each other to find the intersection (the common code covered). This removes noise from the code coverage data and produces a signature for the test script. This signature can then be compared to other test script signatures that have been produced through the same process.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 39% of the total text.

Page 01 of 6

System and method to use code coverage to detect duplicate tests on large scale environments

Automated software testing has long been considered critical for software development organizations.  It aims to help businesses increase effectiveness, efficiency and coverage of software testing in determining that the software is sufficiently scrutinized before it gets released.  Nonetheless, testing can be considered very expensive and may constitute a significant cost factor in software development.  It involves test case implementation, test execution as well as maintenance of test frameworks/environments.  Additionally, if there exists multiple tests that cover the same behaviours of a system, it results in redundancy and is more likely to increase cost overhead in testing and maintenance.  Due to such cost factors, it is important to ensure each test case is written in a manner where it will add value and enhance the overall software testing effort.  If duplicate test cases exists, they need to be removed.

Detecting duplicate test cases is challenging.  The ability to detect duplicated test cases is important to any software development business as it can help address some of these aspects:

 - Eliminate inefficient effort towards maintaining duplicate test cases

 - Prevents overruns of unnecessary test cases that have minimal impact on the success of the software development cycle.

 - Reduces software testing costs by avoiding unnecessary expenses in executing test cases that add no further benefit to the software quality.

 - Increases efficiency and focus on quality assurance when developing test cases.

Detecting duplicate test cases that test deterministic code or simple products is much easier as the logic and results are more predictable.  On the other hand, detecting duplicate test cases that test large systems with many asynchronous events firing (such as maintenance threads starting) is not so simple as the system can result in different behaviours during any execution cycle.  What is being proposed in this invention is a solution to help detect duplicate test cases that test large non-deterministic code in an automated test environment. This can be accomplished by employing the use of code coverage during a test script run. The test script can be run multiple times to gather multiple sets of code coverage data which are then compared against each other to find the intersection (the common code covered). This removes noise from the code coverage data and produces a signature for the test script. This signature can then be compared to other test script signatures that have been produced through

1


Page 02 of 6

the same process.

 

Existing solution in detecting duplicate test cases and their drawbacks include:

Manually inspecting meta-data and scripts used in all test cases

Manually inspecting meta-data and scripts used in all test cases requires the tester to manually inspect all test cases to determine duplicat...