A Complete Automation of Unit Testing for Java Programs

Saved in:
Bibliographic Details
Title: A Complete Automation of Unit Testing for Java Programs
Authors: Cheon, Yoonsik, Kim, Myoung Yee, Perumandla, Ashaveena
Source: Departmental Technical Reports (CS)
Publisher Information: ScholarWorks@UTEP
Publication Year: 2005
Collection: University of Texas at El Paso: Digital Commons@UTEP
Subject Terms: unit testing, test automation, genetic algorithms, runtime assertion checking, formal interface specifications, design by contract, Java Modeling Language (JML), Java Language, Computer Engineering
Description: Program testing is expensive and labor-intensive, often consuming more than half of the total development costs, and yet it is frequently not done well and the results are not always satisfactory. However, testing is the primary method to ensure that programs comply with requirements. We describe our on-going project that attempts to completely automate unit testing of object-oriented programs. Our project investigates the use of an evolutionary approach, called genetic algorithms, for the test data generation and the use of program specifications, written in JML, for the test result determination. A proof-of-concept tool has been implemented and shows that a complete automation is feasible for unit testing Java programs. Automated testing techniques such as ours can complement manual testing by testing significant portion of object-oriented programs, as methods in object-oriented programs tend to be small; manual testing can focus more interesting problems, e.g., inter-class testing.
Document Type: text
File Description: application/pdf
Language: unknown
Relation: https://scholarworks.utep.edu/cs_techrep/234; https://scholarworks.utep.edu/context/cs_techrep/article/1233/viewcontent/tr05_05.pdf
Availability: https://scholarworks.utep.edu/cs_techrep/234
https://scholarworks.utep.edu/context/cs_techrep/article/1233/viewcontent/tr05_05.pdf
Accession Number: edsbas.3D40E3DF
Database: BASE
Description
Abstract:Program testing is expensive and labor-intensive, often consuming more than half of the total development costs, and yet it is frequently not done well and the results are not always satisfactory. However, testing is the primary method to ensure that programs comply with requirements. We describe our on-going project that attempts to completely automate unit testing of object-oriented programs. Our project investigates the use of an evolutionary approach, called genetic algorithms, for the test data generation and the use of program specifications, written in JML, for the test result determination. A proof-of-concept tool has been implemented and shows that a complete automation is feasible for unit testing Java programs. Automated testing techniques such as ours can complement manual testing by testing significant portion of object-oriented programs, as methods in object-oriented programs tend to be small; manual testing can focus more interesting problems, e.g., inter-class testing.