PROCESS IMPROVEMENT PROJECT IMPLEMENT THE USE OF CODE COVERAGE TOOLS FOR TESTING Mallika Sanyal By
AGENDA The proposal What do code coverage tools do? Current system and its shortfalls Impact of the proposal on project process Analysis of code coverage tools Limitations
PROPOSAL Implement code coverage tools for testing development code. More applicable to architected agile projects.
WHAT DO CODE COVERAGE TOOLS DO? Checks whether the entire code has been covered in the tests conducted. Identify redundant test cases. Identify chunks of code not tested. Improve quality of code
CURRENT SYSTEM Tester submits Test plan and cases Regression test package Acceptance test plan Unit testing
SHORTFALLS OF CURRENT SYSTEM No way to identify whether parts of code have deliberately been left out, indicating unethical prototyping. No way to find out if the entire code has been tested. No way to find out if the failure of conditions have been tested. No way to pinpoint the location of a bug, thereby reducing debugging effort.
FEASIBLITY If used in moderation, feasible. Divide code into High Risk (Core capabilities, integration code) Medium Risk (major conditional statements, error handling) Low Risk (general UI issues) Apply code coverage tools accordingly A lot depends on experience Screenshots as record.
LIMITATIONS Might not be too useful for NDI/NCS and NDI Intensive projects. If not executed properly, might become an overkill. There are ways to work around a coverage tool. What about commented code? Cannot pinpoint error in logic
References http://cobertura.sourceforge.net/ http://www.ibm.com/developerworks/java/library/j-cq01316/index.html?ca=drs http://www.bullseye.com/coverage.html#other_function http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=ART&Objec tId=7580 http://en.wikipedia.org/wiki/Code_coverage http://emma.sourceforge.net/ http://www.testingfaqs.org/t-eval.html http://stackoverflow.com/questions/348850/code-coverage-tools-for-php
THANK YOU