1. 最初的想法

现有的工具/平台就不一一列举了,就个人而言,直接用这些工具自然很好,但是其实对自己提高不多,而这些工具的二次开发能力大体还不算太理想,所以为什么想自建测试工具,其实重点以下三样:

2. 构思

外面已经很多公司做自动化也好做测试平台,演讲的人很多,但是貌似实际抱怨的也很多.
结合自己的体验抱怨的点主要是:

  1. 使用自动化/测试平台没有直接提高工作效率,反而增加了工作量
  2. 使用自动化之后,维护成本高繁琐,又没有减少实际的回归工作量或者其他发现更多的 Bug
  3. 使用测试平台之后,需要填的数据更多,繁琐而且感觉时刻在被监控进度

很明显,增加额外工作量这个事情其实是抱怨很多,至于监控这方面这个问题不是技术可以解决的问题。
所以在做工具的时候几个要点就是:

  1. 尽可能减少额外增加的工作量
  2. 尽可能减少开发成本,利用现有工具进行开发和集成
  3. 尽可能不涉及监控数据,但是更强调分工,协作方便性
  4. 开始使用的代码和工具尽可能简单和统一

3. 从减少额外工作量开始

如果想要推广自动化阻力小一点,自己觉得最有可能的方法就是减少额外的工作量.

把自动化测试用例编写结合到现有测试过程中,是自己想尝试的一个方法,其实也没有什么好方法,就是录制和回放功能,那么有什么工具可以支持这样子吗? 现在是一个最简单例子说明一下可能性:

  1. Python-playwright UI 录制回放
  2. API 接口拦截路录制回放

3.1 录制例子

下面的是一个设想的例子: 测试->录制操作->记录数据->生成测试代码

通过这种方式,最终执行的时候其实阻力不大. 因为做的额外事情很少,但是至少这些东西多少都还有点用,并且实现成本及其低,就算不用都不可惜.

4. 构建,实现,实施

从以上的例子说明额外工作量大小的问题,这里面还有一些问题待解决:

  1. 录制 API 测试覆盖了多少的 API,测试用例是什么呢?
  2. API 有增加有减少,哪些现在还用,还写现在不用了?
  3. API 测试覆盖率是什么呢?
  4. 录制的请求需要花费多少力气才能直接转换呢?是不是工作量也不少呢?
  5. 录制出来的请求还能不能做来做一部分测试用例的记录呢?

以上这些问题也会增加额外工作量,而这些工作量中

  1. 关于 API 统计覆盖率计算: 是可以通过测试平台工具解决,不需要人为太多干预
  2. 录制出来的请求还能做什么: 可以记录一部分测试用例并且流程在平台,减少测试用例整理时间

为了解决以上这些问题,就需要一个后台管理系统来记录这些数据,加工处理这些数据,用 dashboard 来展示这些数据. 不过这些极简的小工具其实做起不算太复杂,这些在之前极简系列中提到不少,使用的技术其实都是简单实用, 就先罗列一些:

4.2 快速构建工具集和实现说明

2024 小结 1: 测试小后台和工具整理
极简测试用例管理 · TesterHome
极简接口回归测试: 录制回放模式 · TesterHome
2023 小结 - 低代码-METABASE,5 分钟让测试从此报表不求人 · TesterHome

4.3 实现代码示例和大部分代码实现

4.4 GITHUB 代码仓库

以上内容如果代码如果觉得还挺好的欢迎 star 一下,上面这些代码目的不是为了提供一个测试平台,更多的是进行积累而方便做不同的测试开发工具.

最后如果对于以上工具感兴趣可以 clone 代码,或者欢迎加入知识星球一起说说如何快速构建测试开发工具,这个知识星球主要的内容是提供日常实用的工具,开发包,测试开发方法和教程,如果有需要也可以提供日常英语书面和口语交流,这些都不是问题,这里面会有不少你可能以前从来没有听说的工具和内容,就比如说这个文章中提到的一些,也可能会有一些和主流不太一样的想法. 感兴趣欢迎加入或者私信咨询,知无不言哈:


↙↙↙阅读原文可查看相关链接,并与作者交流