Improving Automation in Developer Testing:
Achievements and Challenges
Automated Software Engineering Group
North Carolina State University
Latest Talk Slides (PPT, 1.73M) (PDF, 810K)
Shorter Talk Slides on Test Oracles (PPT)
Developer testing, a common step in software development, involves generating sufficient test inputs and checking the behavior of the program under test during the execution of the test inputs. Complicated logics inside a method make generating appropriate arguments difficult. In testing object-oriented programs, generating method sequences to put the receiver object or argument objects into appropriate states further complicates test-input generation. Existing industrial and academic tools incorporate various techniques to address the challenges of generating sufficient test inputs. After the generated test inputs are executed, program crashes or uncaught exceptions can be used to indicate program problems, especially robustness problems. However, some program problems such as producing wrong program outputs do not crash the program. Since manually inspecting the outputs of a large number of generated test inputs is not feasible, existing industrial and academic tools incorporate various techniques to address the challenges of checking the behavior of the program under test during the execution of the test inputs. This talk will present an overview of achievements and challenges in improving automation in developer testing, especially on test-input generation (i.e., generating sufficient test inputs) and test oracles (i.e., checking the behavior of the program under test).
Venues of Presentations:
Tao Xie's Research on Automated Software Testing You may be also interested in Tao Xie's presentations/tutorials on Mining Software Engineering Data.