科技成果

Justin Java程序单元测试用例自动生成工具

1. 成果简介

Justin是一个Java单元测试用例自动生成工具,其Eclipse插件是在Eclipse环境下的使用它的工具。其输入是Java程序。该工具可以根据源程序对应的字节码,自动生成符合JUnit 测试框架的测试用例,Java开发工程师或测试工程师可以直接在JUnit 测试框架下进行编译执行。Justin架构如下图所示。

2. 技术先进性

该工具先进性主要体现在以下几个方面:(1)支持泛型类型的生成;(2)可以自动编译执行;(3)支持特定格式的字符串生成,如XML、JSON等;(4)能够根据程序中的字符串操作生成合适的字符串入参,以提高覆盖率/发现缺陷;(5)能够根据注解(Annotation)生成满足业务需求的入参和断言。

3. 技术成熟度

该软件已形成原型工具,也开发了Eclipse插件以更方便开发者使用。Justin可以有效检测出软件中的缺陷。在开源社区中,Justin在多个流行的第三方库、JDK中检测出63个缺陷;被开发者确认26个,包含JDK中18个(其中新的缺陷14个),其中两个死循环。同时,Justin在数家企业的多个应用中,共检测出有效缺陷1731个。

4. 可应用领域

该软件应用于Java程序单元测试。

5. 联系人

张健,zj@ios.ac.cn



附件: