A Comparative Evaluation of Unit Testing Techniques on a Mobile Platform

Software testing is generally an expensive, ad hoc and unpredictable process. Therefore, a better understanding of and an improvement of unit testing methods may improve the overall software testing process leading to more efficient test method selection and increased fault detection accuracy. The aim of this study is evaluate Black Box and White Box unit testing methods for the Android operating system. While several investigations have looked at unit testing using Black Box and White Box techniques, our research focuses explicitly on unit testing for Android applications. Test cases were created using JUnit and the program under test was seeded with errors by an outside party. We evaluated the performance of these two test methods on the difficulty of developing test cases for each method and the effectiveness of finding software errors in a controlled environment. Our results showed benefits and challenges for both testing techniques. Inferences and implications are also presented.

[1]  A. Jefferson Offutt,et al.  A Comparative Evaluation of Tests Generated from Different UML Diagrams , 2008, 2008 Ninth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing.

[2]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[3]  Antonia Bertolino,et al.  Software Testing Research: Achievements, Challenges, Dreams , 2007, Future of Software Engineering (FOSE '07).

[4]  Gary T. Leavens,et al.  The JML and JUnit Way of Unit Testing and its Implementation , 2004 .

[5]  Matthew Telles,et al.  The Science of Debugging , 2001 .

[6]  Elaine J. Weyuker,et al.  Testing Component-Based Software: A Cautionary Tale , 1998, IEEE Softw..

[7]  Marcantonio Catelani,et al.  Software automated testing: A solution to maximize the test plan coverage and to increase software reliability and quality in use , 2011, Comput. Stand. Interfaces.

[8]  Jon T. Huber Efficiency and Effectiveness Measures To Help Guide the Business of Software Testing , 1999 .

[9]  Mark N. Frolick,et al.  Cycle Time Reduction in Software Testing , 2003 .

[10]  Bo Qu,et al.  Test Case Prioritization for Black Box Testing , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[11]  John J. Marciniak,et al.  Encyclopedia of Software Engineering , 1994, Encyclopedia of Software Engineering.