自动化测试应该学吗?
更新时间:2021-12-10 09:40:04 作者:多测师 浏览:236
要学自动化测试吗?
这个问题我在很多问答平台上都看到有人提起,结合我自己多年自动化测试的经验,我试着来回答一波
自动化测试是什么?
说到这个,首先得知道什么是软件测试。这个我就不做过多解释了,现代软件的复杂性决定了软件测试岗位的需求,试想,如果一套软件没有经过科学严谨的测试工作就直接发布,不就相当于一个人在大街上裸奔,随时可能出问题吗?在软件测试岗位刚开始兴起的年代,软件的复杂度还没有那么高,大多数测试工作是人工来完成,同时版本迭代按照瀑布模型开发,会给测试工作预留足够多的时间,而大家都采取手工测试,完全没有什么问题随着技术的发展,硬件计算能力的提升,软件可以发挥的空间也越来越大,于是就开始变得越来越复杂,版本迭代的周期也在缩短,为了跟竞争对手抢占市场,早一点投放 App 就早一点占据先手优势。在这样的大背景下,软件发布对软件测试的要求也越来越高单纯人工测试,已经无法满足快节奏的要求了,对测试的自动化需求应运而生自动化测试,就是通过软件去测试软件,代替人做一部分测试工作,相比于人工测试,它可以 24 小时无休的执行,甚至通过部署到更多的硬件上,短时间内就能完成大量的测试 CASE由于自动化测试的优势和企业的需求非常契合,那么它也就越来越受到重视
自动化测试能干什么?
负责任地说,人能够完成的测试工作,自动化测试几乎都能做。相比自动化早期纯软件的方式,现在可以利用的辅助硬件越来越多。测试屏幕,我们可以用机械臂;模拟 U 盘插拔,我们可以用程控滑轨;模拟 GPS 测试,我们可以采购 GPS 仪器录制信号回放…
自动化测试的适用范围
当然也不能听到自动化测试能解决那么多效率问题就盲目的安排上,它是有一些适用条件的越稳定的模块越适合自动化测试,越频繁变更的越不适合。为什么呢?因为自动化测试的维护是需要较大成本的,比如人工测试一个模块,可能需要一天时间,而编写自动化脚本并且调试通过,可能需要三天时间。如果这个模块不稳定,经常变更,就需要经常花时间维护脚本,得不偿失越频繁测试的模块越适合自动化测试。这点很容易理解,只有频繁被测到的模块,人投入的时间远高于自动化,实现自动化的成本才容易被忽略掉粒度越细的测试方法越适合自动化测试。比如我们知道最细粒度的就是代码级的单元测试,更粗一级的是模块间的接口或者说集成测试,再往上单系统的测试,再到跨系统的测试。粒度越大,复杂度越高,开展自动化的不确定性也就越强,所以在粒度细的部分开展自动化,成本也更容易控制因此在准备纳入自动化测试前,需要先对自己所处的测试对象有个细致的分析,并通过逐步引入,慢慢扩大的方式开展自动化,而不要盲目就上,否则可能带不来明显成效
自动化测试容易学吗?
很多没有写过代码的读者,过往的经历都是手工测试,完全没有接触过自动化测试,因此非常担心学习成本,会觉得很难,甚至有的人会告诉你需要先学习下 Python 才可以我的答案是,完全不需要先学习编程语言语言只是一个工具,而自动化完全可以做到脱离编程语言就能编写比如已经有很多自动化工具采用自然语言来实现脚本编写,我们可以像写测试用例那样就把测试脚本给写好了更进一步的,有些工具完全实现了图形化操作,自动化测试需要做的就是在图形界面上拖动控件,填写参数就能完成脚本编辑工作学习自动化测试,首先应该学的是它的思想和思维,这跟手工测试是有区别的,并不只是把用例步骤用脚本实现就可以了,其中涉及到不少脚本设计的方法
以上内容为大家介绍了自动化测试应该学吗?希望对大家有所帮助,如果想要了解更多接口自动化测试相关知识,请关注多测师。https://www.aichudan.com/xwzx/
上一篇:自动化测试是软件开发的捷径吗?
下一篇:自动化测试框架选型