Browse Prior Art Database

Method and system to create test coverage by the level of necessity

IP.com Disclosure Number: IPCOM000177090D
Original Publication Date: 2008-Dec-05
Included in the Prior Art Database: 2008-Dec-05
Document File: 3 page(s) / 116K

Publishing Venue

IBM

Abstract

This disclosure describes a method and system to solve an issue that the overall test coverage rate for software code does not make sense to the coverage rate for business logic, which should covered by test cases. The method and system described in this disclosure lets Integrated Development Environment (IDE) maintain a mapping between software code function names and their level of necessity to be tested. When the developer run all test cases, it collects test coverage data as other existing common coverage tools do, and after that, it combines the coverage data collected with the said mapping of level of necessity to be tested, then finally show the report by the level of necessity to be tested. So developers will be able to know whether all codes that includes important business logic have been covered by test cases very quickly and then take proper action.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 51% of the total text.

Page 1 of 3

Method and system to create test coverage by the level of necessity

1. Background: What is the problem solved by your invention? Describe known solutions to this problem (if any). What are the drawbacks of such known solutions, or why is an additional solution required? Cite any relevant technical documents or references.

Problem
To remove software defect earlier,

writing unit test cases for software code is a common practice. The

higher rate the software code have been covered by unit test cases, usually the higher the software quality will be. But we should not over emphasize the importance of the test coverage, because there might be many software code that are too simple so it's not worthy to write test case for form. Now 80% is regarded as high enough test coverage rate in the software industry. But even the overall test coverage reaches 80%, it can't guarantee that all important function have been covered by test case. And sometimes depends on the purpose of the software, 80% is still too low (e.g. for business logic intensive software) or too high (e.g. for the software in which most code are generated automatically).

Known Solution

There have been some test coverage tools in industry. They can generate a detail report that what's the test coverage for a function/method, class/file, package/directory, project. And it can show which lines of code have been covered, and which are not. Following is an example:
http://

www.google.com/patents?id=N5EVAAAAEBAJ&dq=test+coverage

Drawback of the solution

Although the report of coverage tool has been very detailed, it can't differentiate the functions that should be covered from those not worthy to be covered. So the overall coverage rate does not make sense to the coverage rate for business logic. And to ensure that all the important business logic have been covered, developers have to dig into the coverage report and check the coverage data for specific functions one by one,

which is time consuming.

2. Summary of Invention: Briefly describe the core idea of your invention (saving the details for questions #3 below). Describe the advantage(s) of using your invention instead of the known solutions described above.

The disclosure describes a system or method to indicate which functions must be covered, or at which level of necessity the function should be covered. And the test coverage report shows the coverage by the level of necessity. So developers are able to know the focus and then improve the coverage with priority.

Whether or at which level of necessity the function must be covered are defined by developers using markup language. The markup language consists some reserve words and several numbers indicating the level of necessity. The test coverage tool gathers the coverage data like other existing tools do except that it also gathers the level of necessity alon...