TA的每日心情 | 无聊 昨天 09:34 |
---|
签到天数: 1052 天 连续签到: 2 天 [LV.10]测试总司令
|
只有把开发和维护成本大幅降下来,单元测试才不会鸡肋,大家才愿意做。
推荐这个机器学习单元测试平台,零代码、全方位、自动化 测试 方法/函数 的正确性、可用性和性能。
腾讯 IEG(互动娱乐事业群)、WXG(微信事业群) 两大事业群多个部门的多个项目以及快手广告使用中。
已被 互联网教育智能技术及应用国家工程实验室 收录。
UnitAuto-机器学习零代码单元测试平台
特点优势
相比 JUnit, JTest, Mockito, Mockk 等一堆 Compiling testing 工具: 1.其它工具需要每个方法都写一大堆测试代码,需要开发成本、需要解决测试代码的 bug、业务代码更改后需要同步修改测试代码等; UnitAuto 不需要写任何代码,直接读取方法的属性,自动注入参数,拿到返回值和类成员变量,机器学习自动化校验。 2.UnitAuto 这种 Runtime testing 工具无需 Mock 环境(Application, Context 等), 更不用为 无法有效地 Mock 环境相关类、第三方登录未提供 Mock 支持 等而头疼, 只要被测方法满足 有 return 值、有 interface 回调、改变成员变量 field 这 3 点中至少一点就能测。
原理说明
被测项目不需要写任何单元测试代码(逻辑代码、注解代码等全都不要), UnitAuto 会自动生成测试参数,并执行方法,拿到返回值等进行校验。 泛型、接口等自动模拟,异步执行方法自动记录回调过程,都是零代码。 UnitAuto-Admin 是类似 APIAuto 的机器学习零代码测试工具(查看、上传、执行、测试 后端项目中的方法等), UnitAuto-Java 提供扫描所有方法、执行某个方法两个 API (主要引入 MethodUtil.java 这个类,里面已实现)。
通过扫描项目中的可访问的 package, class, method 来生成和导入测试用例
HTTP 远程调用被测服务/App,转至内部 构造/获取 实例来 invoke 动态执行方法
获取参数、成员变量等前后状态,拦截方法被调用过程并可视化展示
通过简单配置自动调整参数组合,拿到返回结果后通过 前后结果对比 或 机器学习校验模型 来自动断言
后端不再需要像以下示例一样编写和维护大量单元测试用例代码(逻辑代码、注解代码等):
客户端可作为 HTTP Server 来为 UnitAuto 网页工具 提供远程调用的接口,效果同样:
|
|