Selecting Software Test Data Using Data Flow Information
IEEE Transactions on Software Engineering
An Analysis of Several Software Defect Models
IEEE Transactions on Software Engineering
Predicting Fault-Prone Software Modules in Telephone Switches
IEEE Transactions on Software Engineering
Experiments of the effectiveness of dataflow- and controlflow-based test adequacy criteria
ICSE '94 Proceedings of the 16th international conference on Software engineering
Edge profiling versus path profiling: the showdown
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Building Knowledge through Families of Experiments
IEEE Transactions on Software Engineering
Proceedings of the Conference on The Future of Software Engineering
Predicting Fault Incidence Using Software Change History
IEEE Transactions on Software Engineering
Empirical Studies of a Prediction Model for Regression Test Selection
IEEE Transactions on Software Engineering
Prioritizing Test Cases For Regression Testing
IEEE Transactions on Software Engineering
Operational Profiles in Software-Reliability Engineering
IEEE Software
An Experimental Comparison of the Effectiveness of Branch Testing and Data Flow Testing
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering
Improving test suites via operational abstraction
Proceedings of the 25th International Conference on Software Engineering
Identifying Reasons for Software Changes Using Historic Databases
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
IEEE Transactions on Software Engineering
Myths in software engineering: from the other side
TAP'10 Proceedings of the 4th international conference on Tests and proofs
Empirical software engineering at Microsoft Research
Proceedings of the ACM 2011 conference on Computer supported cooperative work
Synthesizing method sequences for high-coverage testing
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Evaluating the effect of control flow on the unit testing effort of classes: an empirical analysis
Advances in Software Engineering
Studying the impact of social interactions on software quality
Empirical Software Engineering
Predicting aging-related bugs using software complexity metrics
Performance Evaluation
Using likely invariants for automated software fault localization
Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems
Risky files: an approach to focus quality improvement effort
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Hi-index | 0.00 |
Test coverage is a promising measure of test effectiveness and development organizations are interested in cost-effective levels of coverage that provide sufficient fault removal with contained testing effort. We have conducted a multiple-case study on two dissimilar industrial software projects to investigate if test coverage reflects test effectiveness and to find the relationship between test effort and the level of test coverage. We find that in both projects the increase in test coverage is associated with decrease in field reported problems when adjusted for the number of prerelease changes. A qualitative investigation revealed several potential explanations, including code complexity, developer experience, the type of functionality, and remote development teams. All these factors were related to the level of coverage and quality, with coverage having an effect even after these adjustments. We also find that the test effort increases exponentially with test coverage, but the reduction in field problems increases linearly with test coverage. This suggests that for most projects the optimal levels of coverage are likely to be well short of 100%.