测试基础 为什么要做自动化?

BigDel · 2020年10月12日 · 最后由 BigDel 回复于 2020年10月19日 · 3537 次阅读

首相我说一下我的现状,我在一家传统医疗公司上班,测试岗位,公司目前产品发展还算比较差,技术架构都算是比较落后的。毕竟针对医院政府企业的软件嘛!技术用的.net winform 相信很多同类公司都是这个吧。前段时间冲刺任务准备技术改革,后面就收到了开发 api 自动化测试框架的任务。目前已经写出了第一版,但是开发没有准备 api 文档,参数也是随便传。没什么标准,啥都是用 json 传的,返回值倒是规定了。实际操作了一下我发现这东西好像意义不大,因为计算功能都在客户端。api 端只对数据库进行操作和很少量的计算。我在想这又做自动化的必要嘛?或者各位有没有更好的自动化的方案。希望大家讨论一下,给点建议!

最佳回复

为了自己做自动化和为了自动化而自动化差别还是很大的

共收到 26 条回复 时间 点赞

建议你不要为了自动化而自动化,比较好的一个出发点是做数据工厂,就是造测试数据用的工具,这个写好了以后造数据就很方便了,熟练了之后也好做自动化改造

自动化一是为了回归节省人力与时间,有些公司确实能见效

另一方面就是拿自动化给领导邀功

或者领导不怎么懂,见外面的自动化他也要求,满足领导要求!!!!

我去催饭 回复

,感谢,提携

秦岭 回复

我们完全就是满足领导😂

积少成多啊,少量计算就不能做吗?

Jerry li 回复

也不是不能做,实在话没任何文档,只能每次抓包来做很烦,也不规范!很随意

BigDel 回复

没有文档是一个很不规范的流程和不好的习惯,作为 QA 就应该严肃提出来。不仅是做自动化很难,开发流程都不规范,质量也没有保障。
借这个机会推动起来吧

BigDel 回复

可以做成录制抓包,然后自动转成 api 文档

Jerry li 回复

嗯嗯,目前正在这么做

BigDel #10 · 2020年10月12日 Author
少年 回复

感谢

建议引入 swagger,让开发使用起来,无论是前期的调试,还是后面的编写自动化,都会有帮助的。在一定程度上说,它就是你项目的接口文档。

以下是外部链接

官方链接:https://swagger.io/
swagger 介绍:https://www.jianshu.com/p/349e130e40d5

对自动化魔怔了都,为什么要搞?因为测试太 low 了,需要高级点的概念粉饰,但是效率最高的往往就是苦活累活,自动化是镜中花水中月看起来很美好,但背离了质量保障的初衷,形式主义严重,基础的测试工作都不理解去做自动化,看上去高大上,实际没啥卵用

目前已经写出了第一版,但是开发没有准备 api 文档,参数也是随便传。没什么标准,啥都是用 json 传的,返回值倒是规定了。

你的意思是开发频繁修改 api 的定义及实现吗?

BigDel #14 · 2020年10月13日 Author
Thirty-Thirty 回复

应该说是入参随便传

BigDel #15 · 2020年10月13日 Author
ZOO 回复

个人觉得这种自动化,真的没啥意义,我接手的时候了解到的架构是计算再后端,但是现在做的是计算在前端

模拟业务流程,还有对一些出过 bug 的接口回归。接口低级错误出一次可以,出第二次就是测试的问题了

既然你都觉得没意义,那就别做了。你要睡着别人叫不醒你。
做自动化可以帮你做什么?

早上九点,开发说:服务端改了点东西,你帮忙回归一下。
没有自动化的时候: 点点点,五分钟后回复测完了。

如果做了自动化: jenkins 点一下,两分钟后看邮件报告就好;或者扔给开发,自己玩去。

想想一下这个场景如果每天都发生,能给你日常工作省多少事?

为了自己做自动化和为了自动化而自动化差别还是很大的

凡是重复的事情都要避免自己去做,否则很难突破,做 IT 最怕的就是在自己的世界里面重复多年。

计算都在前端,前端也有接口的吧?后端只操作数据库和少量的计算。是接口就可能出问题,就需要测试,怎么会没意义呢?
建议在技术、时间和支持都具备的情况下,同时从 GUI 层面也开展自动化测试。开发技术用的 MS 的.net winform,测试工具建议选择 MS 的 CodedUI。

接口自动化已经公认的性价比最高的方式了。。。
你计算在前端,那去做前端的 UI 自动化呗。
先抽取最重复执行的部分自动化,做起来性价比和效果好一点。都是需要信息的。
而且接口自动化一般你做好了以后,如果你说的没有多大改动只是参数随意,相当于后续没有多少维护成本,每天运行起来再看,有总比没有好,之后的补充和优化,根据实际效果来调整。
自动化测试在真正用起来是需要手工系统测试的反哺的,通过漏侧和生产问题跟踪,来不断补充和修改策略

接口自动化还是比较推荐做的,需要做到什么程度根据实际情况来决定。如果有成百上千个接口,没有接口自动化覆盖的话,上线怎么保证都覆盖了?靠人工点吗

少年 回复

问一下,怎么自动转化为 api 文档?😂

xyzcjm 回复
  1. 直接代码层面引入第三方插件,智能生成 api 文档。(比如其他人说的 swagger)

  2. 脚本实现,抓数据,手写转 swagger 格式。

  3. 借助第三方平台实现,现在 yapi 接口管理平台可以导入 har 当文档了,对你来说,应该是最佳选择鸭。


BigDel #25 · 2020年10月19日 Author
泰斯特 回复

嗯嗯

BigDel #26 · 2020年10月19日 Author
测试老菜 回复

自动化肯定是测试发展的一个趋势,通过各种模拟让程序代替人工执行,而且精度也比较高。难就难在没有接口文档,没有人员支持,做起来很费劲。

BigDel 关闭了讨论 10月19日 11:16
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册