Improving software quality through extreme coverage with Jblanket

Unit testing is an important part of software testing that aids in the discovery of bugs sooner in the software development process. Extreme Programming (XP), and its Test First Design technique, relies so heavily upon unit tests that the first code implemented is made up entirely of test cases. Fur...

Full description

Bibliographic Details
Main Author: Agustin, Joy M
Other Authors: Johnson, Philip M
Published: University of Hawaii at Manoa 2009
Online Access:http://hdl.handle.net/10125/6967
id ndltd-UHAWAII-oai-scholarspace.manoa.hawaii.edu-10125-6967
record_format oai_dc
spelling ndltd-UHAWAII-oai-scholarspace.manoa.hawaii.edu-10125-69672013-01-08T11:10:21ZImproving software quality through extreme coverage with JblanketAgustin, Joy MUnit testing is an important part of software testing that aids in the discovery of bugs sooner in the software development process. Extreme Programming (XP), and its Test First Design technique, relies so heavily upon unit tests that the first code implemented is made up entirely of test cases. Furthermore, XP considers a feature to be completely coded only when all of its test cases pass. However, passing all test cases does not necessarily mean the test cases are good. Extreme Coverage (XC) is a new approach that helps to assess and improve the quality of software by enhancing unit testing. It extends the XP requirement that all test cases must pass with the requirement that all defect-prone testable methods must be invoked by the tests. Furthermore, a set of flexible rules are applied to XC to make it as attractive and light-weight as unit testing is in XP' One example rule is to exclude all methods containing one line of code from analysis. I designed and implemented a new tool, called JBlanket, that automates the XC measurement process similar to the way that JUnit automates unit testing. JBlanket produces HTML reports similar to JUnit reports which inform the user about which methods need to be tested next. In this research, I explore the feasibility of JBlanket, the amount of effort needed to reach and maintain XC, and the impact that knowledge of XC has on system implementation through deployment and evaluation in an academic environment. Results show that most students find JBlanket to be a useful tool in developing their test cases, and that knowledge of XC did influence the manner in which students implemented their systems. However, more studies are needed to conclude precisely how much effort is needed to reach and maintain XC. This research lays the foundation for future research directions. One direction involves increasing its flexibility and value by expanding and refining the rules of XC. Another direction involves tracking XC behavior to find out when it is and is not applicable.xii, 108 leavesUniversity of Hawaii at ManoaJohnson, Philip M2009-03-06T19:32:42Z2009-03-06T19:32:42Z2003-052003-05ThesisTexthttp://hdl.handle.net/10125/6967All UHM dissertations and theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission from the copyright owner.https://scholarspace.manoa.hawaii.edu/handle/10125/2079
collection NDLTD
sources NDLTD
description Unit testing is an important part of software testing that aids in the discovery of bugs sooner in the software development process. Extreme Programming (XP), and its Test First Design technique, relies so heavily upon unit tests that the first code implemented is made up entirely of test cases. Furthermore, XP considers a feature to be completely coded only when all of its test cases pass. However, passing all test cases does not necessarily mean the test cases are good. Extreme Coverage (XC) is a new approach that helps to assess and improve the quality of software by enhancing unit testing. It extends the XP requirement that all test cases must pass with the requirement that all defect-prone testable methods must be invoked by the tests. Furthermore, a set of flexible rules are applied to XC to make it as attractive and light-weight as unit testing is in XP' One example rule is to exclude all methods containing one line of code from analysis. I designed and implemented a new tool, called JBlanket, that automates the XC measurement process similar to the way that JUnit automates unit testing. JBlanket produces HTML reports similar to JUnit reports which inform the user about which methods need to be tested next. In this research, I explore the feasibility of JBlanket, the amount of effort needed to reach and maintain XC, and the impact that knowledge of XC has on system implementation through deployment and evaluation in an academic environment. Results show that most students find JBlanket to be a useful tool in developing their test cases, and that knowledge of XC did influence the manner in which students implemented their systems. However, more studies are needed to conclude precisely how much effort is needed to reach and maintain XC. This research lays the foundation for future research directions. One direction involves increasing its flexibility and value by expanding and refining the rules of XC. Another direction involves tracking XC behavior to find out when it is and is not applicable. === xii, 108 leaves
author2 Johnson, Philip M
author_facet Johnson, Philip M
Agustin, Joy M
author Agustin, Joy M
spellingShingle Agustin, Joy M
Improving software quality through extreme coverage with Jblanket
author_sort Agustin, Joy M
title Improving software quality through extreme coverage with Jblanket
title_short Improving software quality through extreme coverage with Jblanket
title_full Improving software quality through extreme coverage with Jblanket
title_fullStr Improving software quality through extreme coverage with Jblanket
title_full_unstemmed Improving software quality through extreme coverage with Jblanket
title_sort improving software quality through extreme coverage with jblanket
publisher University of Hawaii at Manoa
publishDate 2009
url http://hdl.handle.net/10125/6967
work_keys_str_mv AT agustinjoym improvingsoftwarequalitythroughextremecoveragewithjblanket
_version_ 1716506032452141056