JInjector: a Code Coverage and End-To-End Testing Framework for J2ME and RIM

JInjector: a Code Coverage and End-To-End Testing Framework for J2ME and RIM

A wide range of J2ME applications are GUI-rich with significant code dedicated to handle the user interface (UI). To maximize the chances of detecting bugs, effective testing of such applications require end-to-end testing on devices. Unfortunately there are few software tools suitable for testing J2ME applications. Our tool, JInjector, instruments the application under test in order to run automated tests in emulators and on the actual devices we need to support. At GTAC we will present two of the features provided by JInjector: code coverage, and end-to-end testing. As a proof-of-concept we will show a demo of an end-to-end test suite applied to Google’s Java ME YouTube client running both in the WTK emulator from Sun Microsystems, and on a Nokia N95. The injected code enabled testing of most of the features of the application, including search, login and video upload as well as navigate through the videos. We discovered that the injected code needed be customized to support the custom GUI code, and changes to the GUI code sometimes means the tests have to be updated – an ongoing maintenance task. We will also explain how this end-to-end test can be integrated with a build system