Software testing as a means of early fault detection is increasingly practiced and integrated into software development activities. Despite its importance, many junior developers lack sufficient testing education and expertise. When faced with a task they are unfamiliar with, developers often use online resources to find code for adaptation or reference. Code search engines and repository mining tools have been created to assist developers, particularly less experienced ones, with finding solutions to common coding problems. However, many of these search engines lack the capability to facilitate test case searches. This has prevented developers from taking advantage of the massive analytical knowledge embodied in test cases written by other developers. In this paper we introduce TestEX, a web-based test case search engine designed to make finding useful test cases easier for developers. The strength of TestEX is the combination of three unique strategies for providing developers with useful and relevant test cases: (i) test-case identification within source code, (ii) test case categorization, and (iii) semantic mapping to the concern being searched via TestEX. Through the paper we present TestEX's Architecture, features and potential use cases. Furthermore, we report a study which was conducted to evaluate the effectiveness of our test case search engine. Tool: http://juno.main.ad.rit.edu:8081/TestEX/.
['Danielle Gonzalez', 'A. A. Popovich', 'Mehdi Mirakhorli']
TestEX: A Search Tool for Finding and Retrieving Example Unit Tests from Open Source Projects