2024年最新工作几年还是悟不懂自动化测试的意义_接口自动化介入时间点,推荐学习

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  1. 请定义“自动化测试”的范畴。自动化测试简单来讲,包括用例的撰写,代码的实现,环境的搭建,用例的执行,报表的生成,结果的分析,缺陷报告等等。每个项目自动化程度不一样,测试人员对自动化的理解有偏差,实际实行自动化的范畴差别很大
  2. 请定义“成本“包括哪些
  3. 请定义什么是“高”。高是相对的。比较对象可以是另外的项目或者项目组,也可以是他人的期望
  4. 请定义什么是”效果“
  5. 请定义什么是”差“。差也是相对的,可以是同手工测试比较,也可以是同老板的期望比较

如果楼主仔细思考并且回答了以上的问题,我有七成的把握楼主要么不想问这个问题,要么想换个问题。

换一种问法

好吧,为了避免灌水嫌疑,我且以最大的善意揣摩楼主的意图。楼主是想问:

如果有的项目的自动化测试,我们发现成本高于预期,效果不符合预期,那么问题可能出在哪里?怎么判断自动化测试是否有效?

关于错误的预期

我一点都不奇怪有人会告诉我说:

我都不知道我或者我的老板对自动化测试有什么预期,没人跟我说过。

或者:

自动化不就是不用手工测试了吗?用例用代码实现都能自己跑,测试人员就可以去干别的了,可以少招几个不产生价值的测试攻城狮了。老板就是这样计划的。

这是两种非常典型的关于自动化测试的预期问题:

  1. 根本就不清楚自动化测试的目标,以及为达到目标所计划的投入
  2. 对自动化测试(通常是总监以上的老板,开发人员或者手动测试人员)抱有不切实际的幻想型期望,认为自动化测试能够干很多活同时省很多钱

自动化测试的第一目标从来都不是节省测试的人力成本。成功的自动化测试,作为软件测试的一种工具,从业务最终效果来看,应该是能够节省成本和提高产品质量的。但是把节省测试的人力成本作为自动化测试的直接目标是错误的,而且是致命的。

每个人对自动化测试理解都不一样,每个项目组做自动化的方式都不一样。我讲个故事,是我认识之前一个印度自动化项目的真实例子。这个项目95%以上的测试场景都是比较复杂的UI测试(Web +Windows Application)他们的自动化是这样做的:

  1. 手工测试人员把测试用例录入到用例管理系统,精确到每一步的描述和每一个数据
  2. 自动化测试人员用代码(java,python等)实现自动化用例,保存到SCM
  3. 准备好测试环境
  4. 打开Eclipse
  5. 定位到要执行的用例的源代码
  6. Run As Junit (因为统一用JUnit做封装)
  7. 两眼直视显示器,目不转睛
  8. 如果有步骤执行不成功,比如某个按钮点击不成功,手动帮助点击,继续
  9. 一个用例执行完毕,重复步骤5到9

你觉得这个自动化做的怎么样?我当时的感觉是几乎要吐血了,因为这个项目是我要接手的。更加吐血的还在后面,这个部门的QA的VP对自动化测试的效果很不满意(绝对的),他的设想包括:

  1. 自动化应该是一种Service(Automation As A Service),所有的测试人员和开发人员都应该可以自己很方便的去跑自动化
  2. 自动化测试的运行结果应该是可以自动分析的,占用很少的时间
  3. 自动化测试的成功率应该是要很高的(比如95%以上)
  4. 自动化应该是写一次,运行很多次,为什么你们花那么多时间还要去改自动化代码?

这个就是一个典型的不懂自动化的团队+期望脱离现实的老板。

关于什么是自动化

James Bach 曾经在一篇博文提到,自动化测试这个名字是非常有误导性的。它让一般的人误以为就是测试完全被自动化了,就像一个自动的咖啡机一样,我只需要把杯子放在那里,按一个button就够了。James说更加准确的叫法应该是“工具辅助的测试”。当然他还有另一层意思,就是好的测试用例是没有办法100%被自动化的,测试人员的经验,逻辑判断和探索性的测试方法都不能被有效自动化。我非常同意这个观点。作为这个论断的补充和扩展,自动化应该是审视软件研发活动的每一个环节,去发现那些可以被工具化自动化的重复性活动,然后去实现。广义的自动化应该包括但不限于以下环节:

  • 测试环境的搭建和管理
  • 测试环境的检查,监控和报警
  • 测试代码的编译和测试构建
  • 测试代码的静态检查和报警
  • 测试用例的分发和执行
  • 测试结果的保存与管理
  • 测试报告的生成
  • 测试优先级的建议

自动化的成本与收益(ROI)

一个过于简化的公式可以这样写:

自动化的收益 = 迭代次数 * 全手动执行成本 - 首次自动化成本 - 维护次数 * 维护成本

或者如果假设迭代次数和维护次数近视相等,这个在某些情况下可以成立,比如一个比较新的产品:



![img](https://img-blog.csdnimg.cn/img_convert/c79c5dec17368c31735f9e4e9e495ac9.png)
![img](https://img-blog.csdnimg.cn/img_convert/507d8c83befa336cfb7b7382be99eb6b.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618608311)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

n.net/topics/618608311)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值