首相我说一下我的现状,我在一家传统医疗公司上班,测试岗位,公司目前产品发展还算比较差,技术架构都算是比较落后的。毕竟针对医院政府企业的软件嘛!技术用的.net winform 相信很多同类公司都是这个吧。前段时间冲刺任务准备技术改革,后面就收到了开发 api 自动化测试框架的任务。目前已经写出了第一版,但是开发没有准备 api 文档,参数也是随便传。没什么标准,啥都是用 json 传的,返回值倒是规定了。实际操作了一下我发现这东西好像意义不大,因为计算功能都在客户端。api 端只对数据库进行操作和很少量的计算。我在想这又做自动化的必要嘛?或者各位有没有更好的自动化的方案。希望大家讨论一下,给点建议!
为了自己做自动化和为了自动化而自动化差别还是很大的
建议你不要为了自动化而自动化,比较好的一个出发点是做数据工厂,就是造测试数据用的工具,这个写好了以后造数据就很方便了,熟练了之后也好做自动化改造
自动化一是为了回归节省人力与时间,有些公司确实能见效
另一方面就是拿自动化给领导邀功
或者领导不怎么懂,见外面的自动化他也要求,满足领导要求!!!!
积少成多啊,少量计算就不能做吗?
没有文档是一个很不规范的流程和不好的习惯,作为 QA 就应该严肃提出来。不仅是做自动化很难,开发流程都不规范,质量也没有保障。
借这个机会推动起来吧
建议引入 swagger,让开发使用起来,无论是前期的调试,还是后面的编写自动化,都会有帮助的。在一定程度上说,它就是你项目的接口文档。
官方链接:https://swagger.io/
swagger 介绍:https://www.jianshu.com/p/349e130e40d5
对自动化魔怔了都,为什么要搞?因为测试太 low 了,需要高级点的概念粉饰,但是效率最高的往往就是苦活累活,自动化是镜中花水中月看起来很美好,但背离了质量保障的初衷,形式主义严重,基础的测试工作都不理解去做自动化,看上去高大上,实际没啥卵用
目前已经写出了第一版,但是开发没有准备 api 文档,参数也是随便传。没什么标准,啥都是用 json 传的,返回值倒是规定了。
你的意思是开发频繁修改 api 的定义及实现吗?
模拟业务流程,还有对一些出过 bug 的接口回归。接口低级错误出一次可以,出第二次就是测试的问题了
既然你都觉得没意义,那就别做了。你要睡着别人叫不醒你。
做自动化可以帮你做什么?
早上九点,开发说:服务端改了点东西,你帮忙回归一下。
没有自动化的时候: 点点点,五分钟后回复测完了。
如果做了自动化: jenkins 点一下,两分钟后看邮件报告就好;或者扔给开发,自己玩去。
想想一下这个场景如果每天都发生,能给你日常工作省多少事?
为了自己做自动化和为了自动化而自动化差别还是很大的
凡是重复的事情都要避免自己去做,否则很难突破,做 IT 最怕的就是在自己的世界里面重复多年。
计算都在前端,前端也有接口的吧?后端只操作数据库和少量的计算。是接口就可能出问题,就需要测试,怎么会没意义呢?
建议在技术、时间和支持都具备的情况下,同时从 GUI 层面也开展自动化测试。开发技术用的 MS 的.net winform,测试工具建议选择 MS 的 CodedUI。
接口自动化已经公认的性价比最高的方式了。。。
你计算在前端,那去做前端的 UI 自动化呗。
先抽取最重复执行的部分自动化,做起来性价比和效果好一点。都是需要信息的。
而且接口自动化一般你做好了以后,如果你说的没有多大改动只是参数随意,相当于后续没有多少维护成本,每天运行起来再看,有总比没有好,之后的补充和优化,根据实际效果来调整。
自动化测试在真正用起来是需要手工系统测试的反哺的,通过漏侧和生产问题跟踪,来不断补充和修改策略
接口自动化还是比较推荐做的,需要做到什么程度根据实际情况来决定。如果有成百上千个接口,没有接口自动化覆盖的话,上线怎么保证都覆盖了?靠人工点吗
直接代码层面引入第三方插件,智能生成 api 文档。(比如其他人说的 swagger)
脚本实现,抓数据,手写转 swagger 格式。
借助第三方平台实现,现在 yapi 接口管理平台可以导入 har 当文档了,对你来说,应该是最佳选择鸭。
自动化肯定是测试发展的一个趋势,通过各种模拟让程序代替人工执行,而且精度也比较高。难就难在没有接口文档,没有人员支持,做起来很费劲。