lsekfe 发表于 2023-4-27 10:58:07

论单元测试是不是鸡肋?

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

页: [1]
查看完整版本: 论单元测试是不是鸡肋?