一直不是很理解自动化测试。 接触的最多的就是 ui 自动化测试,然后就是稍微了解一点接口自动化。 ui 自动化(java+selenium+testNG):浏览器上模拟真实用户去操作。一直不明白这能干嘛,某个功能因为改动不能执行了?花费时间去筛选去维护,就为了这么个结果吗? 接口自动化:这个理解的是脚本跑一下接口,看看有没有错,能否接收到数据。 没做过自动化,对自动化也只了解这么多。 各位大神能否跟我说下,帮我理解下什么是自动化测试?自动化都有些什么用?在测试中占的比重有多少?感谢
达克效应
就问你知不知道什么叫回归
自动化的意义本来不就是解放人工,不用去做这些重复且并 “没有意义” 的事么。最常用的场景,冒烟,回归。举个例子,本来每天早上都要花固定一个小时冒烟,要是这部分能做自动化,不就帮你节省了这 1 个小时的人工了么~
想法要换一下是经过各种需求迭代以后,检查固定基本功能是否完好,如果出错说明这个需求有问题,可以立刻回滚,修复后再测试。假如说 app 一些基础页面功能稳定确认长期不用更新,这样的基础元素有几十个,在此基础上添加了新需求,你需要验证新需求的同时,再花一早上的时间把几十个基础页面都过一遍。你觉得没所谓可以人工点一天,后面来几十个需求呢?
自动化我觉得难在判断真假对错,而不是怎么去操作。接口 post get 不可能只做几组吧,成百上千组数据怎么构建确保覆盖率,返回来的数据你不可能不去分析吧,那么多内容要怎么归纳对错整理,要怎么去发报告,告诉别人哪里错哪里对,脚本结果可信度有多高。
一次参加一次沙龙,里面说的自动化也需要分成,70% 单元测试,20% 接口测试,10% 的 ui,上次面试新蛋,他们也说他们 UI 还是是手动测试,接口,单元自动化,感觉流程类冒烟测试和回归用 UI 自动化意义要大点
我也是测试新人,想法跟你一样怎么办哎
自动化的主要功能是为了回归测试。
你可能认为我手动点一次很简单啊,干嘛花那么多时间实现 ui 自动化脚本还要维护?
试想一下,如果你的产品不断的累加新的功能,你一直专注于测试新的功能,旧的功能是不是能够顾及?如果产品发布 n 次,旧的功能你是不是要重复 n 次?
接口自动化我理解不光是验证能否收到数据,现在接口自动化也建议按照业务场景来做,这样你的接口应该完成什么样的功能,在什么样的输入下,返回什么样的数据以及 code,都是验证范围,随着接口的增多,如果接口的自动化测试做的完备,ui 的自动化就可以减少一些。
好的项目我理解自动化和手动测试的比例应该是 80%:20%
但是 你编写脚本的时间 远远超过了你做冒烟的时间呀