Experimentation in software engineering: an introduction
Experimentation in software engineering: an introduction
Data Structures and Problem Solving Using Java
Data Structures and Problem Solving Using Java
The Art of Software Testing
Agile Project Management With Scrum
Agile Project Management With Scrum
JCrasher: an automatic robustness tester for Java
Software—Practice & Experience
Working Effectively with Legacy Code
Working Effectively with Legacy Code
On the Effectiveness of the Test-First Approach to Programming
IEEE Transactions on Software Engineering
Extreme Programming Explained: Embrace Change (2nd Edition)
Extreme Programming Explained: Embrace Change (2nd Edition)
Tool support for randomized unit testing
Proceedings of the 1st international workshop on Random testing
Feedback-Directed Random Test Generation
ICSE '07 Proceedings of the 29th international conference on Software Engineering
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Randoop: feedback-directed random testing for Java
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
EUROMICRO '07 Proceedings of the 33rd EUROMICRO Conference on Software Engineering and Advanced Applications
Model-Driven Testing: Using the UML Testing Profile
Model-Driven Testing: Using the UML Testing Profile
Empirical Software Engineering
Continuous integration: improving software quality and reducing risk
Continuous integration: improving software quality and reducing risk
Test driven: practical tdd and acceptance tdd for java developers
Test driven: practical tdd and acceptance tdd for java developers
On the Effectiveness of Manual and Automatic Unit Test Generation
ICSEA '08 Proceedings of the 2008 The Third International Conference on Software Engineering Advances
Finding Faults: Manual Testing vs. Random+ Testing vs. User Reports
ISSRE '08 Proceedings of the 2008 19th International Symposium on Software Reliability Engineering
Test-Driven Development: An Empirical Evaluation of Agile Practice
Test-Driven Development: An Empirical Evaluation of Agile Practice
Issues in testing collection class libraries
Proceedings of the 1st Workshop on Testing Object-Oriented Systems
Jartege: a tool for random generation of unit tests for java classes
QoSA'05 Proceedings of the First international conference on Quality of Software Architectures and Software Quality, and Proceedings of the Second International conference on Software Quality
Eclat: automatic generation and classification of test inputs
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Hi-index | 0.00 |
Software testing is a well-established approach in modern software engineering practice to improve software products by systematically introducing unit tests on different levels during software development projects. Nevertheless existing software solutions often suffer from a lack of unit tests which have not been implemented during development because of time restrictions and/or resource limitations. A lack of unit tests can hinder effective and efficient maintenance processes. Introducing unit tests after deployment is a promising approach for (a) enabling systematic and automation-supported tests after deployment and (b) increasing product quality significantly. An important question is whether unit tests should be introduced manually by humans or automatically generated by tools. This paper focuses on an empirical investigation of tool-supported and human-based unit testing in a controlled experiment with focus on defect detection effectiveness, false positives, and test coverage of two different testing approaches applied to unfamiliar source code. Main results were that (a) individual testing approaches (human-based and tool-supported testing) showed advantages for different defect classes, (b) tools delivered a higher number of false positives, and (c) higher test coverage.