Impact of pair programming on thoroughness and fault detection effectiveness of unit test suites
Author:
- 3 March 2008
- journal article
- research article
- Published by Wiley in Software Process: Improvement and Practice
- Vol. 13 (3) , 281-295
Abstract
Pair programming (PP) is regarded as one of the practices that can make testing more rigorous, thorough and effective. Therefore, we examined PP versus solo programming (SP) with respect to both thoroughness and fault detection effectiveness of test suites. Branch coverage (BC) and mutation score indicator (MSI) were used as measures of how thoroughly tests exercise programs, and how effective they are, respectively. It turned out that the PP practice did not significantly affect BC (U = 471.5, nonsignificant, r = − 0.03) and MSI (U = 422.0, nonsignificant, r = − 0.12). These results are consistent with the results of selective analysis in which projects with a limited number of assertions are excluded. Analysis of covariance (ANCOVA) was performed to get a more sensitive measure of our experiment effect as well as to reduce preexisting differences among subjects. The obtained results do not support anecdotal opinion regarding the positive impact of PP on thoroughness or fault detection effectiveness of unit tests. The validity of the results must be considered within the context of the limitations of the study, e.g. it is possible that the benefits of PP will appear in longer, more complex projects. Copyright © 2008 John Wiley & Sons, Ltd.Keywords
This publication has 31 references indexed in Scilit:
- Two controlled experiments concerning the comparison of pair programming to peer reviewJournal of Systems and Software, 2005
- The effect of code coverage on fault detection under different testing profilesACM SIGSOFT Software Engineering Notes, 2005
- A mutation analysis tool for Java programsInternational Journal on Software Tools for Technology Transfer, 2002
- Preliminary guidelines for empirical research in software engineeringIEEE Transactions on Software Engineering, 2002
- All I really need to know about pair programming I learned in kindergartenCommunications of the ACM, 2000
- Strengthening the case for pair programmingIEEE Software, 2000
- The case for collaborative programmingCommunications of the ACM, 1998
- Software unit test coverage and adequacyACM Computing Surveys, 1997
- All-uses vs mutation testing: An experimental comparison of effectivenessJournal of Systems and Software, 1997
- An experimental determination of sufficient mutant operatorsACM Transactions on Software Engineering and Methodology, 1996