UnitAuto - 机器学习零代码单元测试平台
机器学习单元测试平台,零代码、全方位、自动化 测试 方法/函数 的正确性、可用性和性能。
腾讯 IEG(互动娱乐事业群)、WXG(微信事业群) 两大事业群多个部门的多个项目以及快手广告使用中。
已被 互联网教育智能技术及应用国家工程实验室 收录。 TommyLemon/APIAuto#19
2.7.2-2.8.1 更新内容:
Admin
新增支持 微信/支付宝等在 Android/iOS/Window 上的 OpenSDK 回调与支付方法分离的情况;
新增 Headless 模式 Node 环境无 UI 的后台测试;
新增 快捷键、loading 动画、静态检查错误红色高亮 等功能和优化;
新增 回归测试完继续深度测试等功能;
Java
抽取结合 SpringBoot 的 SDK 为 UnitAuto-SpringBoot-SDK;
升级 unitauto-java 2.8.0, unitauto-jar 2.8.0, unitauto-springboot 2.8.1, fastjson 1.2.83, classgraph 4.8.146, SpringBoot 2.5.13, 自身 2.8.1;
Android
新增类似 微信/支付宝 的支付接口示例;优化 IP 地址获取和显示;
其它
新增 Jenkins、蓝盾 等 CI/CD 等流水线触发执行用例和查询进度的说明;
用户新增快手广告,分享新增质效无双线上技术访谈;
具体内容见 Releases
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 网页工具 提供远程调用的接口,效果同样:
演讲视频
UnitAuto-机器学习自动化单元测试平台简介
https://www.bilibili.com/video/BV1Tk4y1R7Yo
UnitAuto-异步回调方法的零代码单元测试
https://www.bilibili.com/video/BV1kk4y1z7bW
创作不易,右上角点 ⭐Star 支持下本项目吧,谢谢^_^
https://gitee.com/TommyLemon/UnitAuto
还没有评论,来说两句吧...