测试茶花会——掰扯掰扯自动化测试中的优点和弊端!

2021年11月20日 阅读数:2
这篇文章主要向大家介绍测试茶花会——掰扯掰扯自动化测试中的优点和弊端!,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

前言:前端

你们好,我是一菲,今天和你们一块儿分析一下自动化测试的优点和弊端,但愿给你们带来一些帮助。程序员

正文:面试

自动化测试的优点:数据库

一、反馈快速后端

自动化测试对于软件项目的各个阶段的验证来讲是一种解脱。这改善了程序员、设计师和产品全部者之间的沟通,而且能够快速的纠正潜在的故障,保证了开发团队更高的效率。安全

二、能够更快的看到结果微信

因为自动化测试的快速实现,即便对于复杂而庞大的系统,也节省了大量的时间。这使得测试能够重复执行,每次都以更少的努力和时间交付更快的结果。框架

三、下降项目成本工具

尽管初始投资可能更高,但自动化测试为公司节省了不少钱,这并不使人意外。这主要是由于运行测试所需的时间急剧减小。它有助于提升工做质量,从而减小了发布后修复故障的必要性,并下降了项目成本。布局

四、改善测试效率

测试占据了整个应用程序开发生命周期的重要部分。这代表,即便是最微小的总体效率的提升,也会对项目的整体时间框架产生巨大的影响。尽管初始设置时间较长,但自动化测试最终占用的时间要少得多。实际上,它们能够在无人看管的状况下运行,从而在流程结束时监视结果。

五、总体测试覆盖率高

经过实现自动化测试,能够执行更多与应用程序相关的测试,这样能够很大的提供测试覆盖率。而在手工测试中,则刚好相反,时间很是有限。于是,测试覆盖率的增长意味着能够测试更多的特性和更高质量的应用程序。

六、可重复使用

因为自动化测试测试用例的重复性,除了设置相对容易的配置外,软件开发人员还有机会评估程序反应。自动化测试用例是可重复使用的,所以能够经过不一样的方法来使用。

七、更早的发现缺陷

对于测试团队来讲,软件缺陷的文档化变得至关容易。这有助于提升整体开发速度,同时确保跨区域的正确功能。发现缺陷越早,修复缺陷的成本效益就越高。

八、彻底测试

测试人员倾向于使用不一样的测试方法,而且因为他们的暴露程度和专业知识的不一样,他们关注的领域可能会有所不一样。随着自动化的包含,有一个有保证的重点放在全部领域的测试,从而确保最好的质量。

九、更快的上市时间

自动化测试经过容许不断地执行测试用例,极大地帮助减小应用程序的上市时间。一旦自动化,测试库执行将比手工测试更快,运行时间更长。

十、信息安全

测试的有效性将在很大程度上取决于使用的测试数据的质量,手工建立质量测试数据须要必定的时间,所以,测试经常在活动数据库的副本上执行。自动化解决方案能够帮助建立、操做和保护你的测试数据库,容许你一次又一次地重复使用你的数据。在这方面能够节约的时间和成本是巨大的。

自动化测试存在的弊端

1.自动化很贵

想要使用自动化测试的一个缘由是省时省力,但事实可能有所误差。所谓的自动化测试是自动化测试人员编写一段代码去测试研发编写的另外一段代码,这中间须要花费的成本其实并不比开发一个产品少。
首先,开发自动化脚本须要花费很多的时间,若自动化脚本的质量没法保证,健壮性不够,不少时候都是运行几回就被丢弃了,形成成本的浪费。
其次,自动化测试须要由懂自动化技术的人来操做。自动化测试其实也是开发代码,也须要专业人才才能胜任此项工做。
时间成本、人力成本和技术成本,都是自动化中须要考虑的成本。自动化测试真的很贵,在部署以前,必定要考虑团队的消费能力。

2.自动化脚本并无想象中的可靠

想要使用自动化测试的另外一个缘由是自动化测试忠实可靠。但自动化结果为success的可能只是幻象—脚本只会按照制订好的步骤去运行和确认结果,不会去全面捕捉一些突发的异常。而咱们在测试中发现的缺陷有一部分是在步骤外“意外”发现的。
除此以外,自动化测试工具或者自动化测试环境可能并非那么可靠,自动化测试环境或者工具也会致使自动化测试“失败”,也就是说结果为failure的测试用例也不必定就是真的存在错误。
所以,不管是正确的自动化测试结果,仍是错误的自动化测试结果,都须要人再去确认。

3.自动化测试不是单靠测试就能搞定的事

编写自动化测试脚本并非单依靠测试就能搞定的,前期须要产品确认好需求,肯定好输入、输出;须要研发肯定具体的实现方法(如后端研发须要确认接口的入参及输出结果结构,前端研发须要确认页面元素的标识),有了这样的前提测试人员才能输出详细的测试用例,最后才能根据测试用例编写自动化测试脚本。
在自动化测试脚本开发的过程当中还要随时关注每一个环节,不管是哪一个环节的变更都会影响自动化测试的正常开展,使得自动化测试停滞不前,甚至返工。

评估自动化的收益

1.自动化测试的实施成本

自动化测试的实施成本,能够经过计算公式进行评估:自动化实施成本=前期开发成本+后期的维护成本
其中,前期开发成本主要包含以下内容:

人力成本:和自动化开发人员相关的费用成本。
时间成本:自动化准备时间、开发时间、调试时间的成本
金钱成本:工具购买、开发、维护的费用成本。
影响后期维护成本的是:
产品变动引发的自动化测试脚本变动的成本
定位、修复自动化运行环境的可靠性问题的成本
定位、修复自动化运行环境引发的脚本的健壮性问题的成本
其余任何未知的引发测试脚本变动的因素引起的成本

2.自动化测试的运行次数

自动化测试的运行次数是指在自动化测试脚本的生命周期内,这个脚本可以被执行的次数。显然,自动化测试的收益和自动化测试运行的次数是成正比的,脚本可以被运行得越多,自动化测试的收益才会越高。

3.自动化测试实施成本比

自动化测试实施成本比的计算公式以下:

k:手工执行自动化用例所花费的时间成本;
n:自动化测试用例执行的次数;
c1:花费在自动化测试前期的成本(时间成本+人力成本+金钱成本);
c2:花费在自动化测试后期的成本(时间成本+人力成本+金钱成本)。

4.准确度不高

自动化测试是工具执行,没有思惟,没法进行主观判断,对界面色彩、布局和系统的奔溃现象没法发现,这些错误经过人眼很容易发现。

5.测试结果易受外界影响

自动化测试工具自己是一个产品,在不一样的系统平台或硬件平台可能会受影响,在运行时可能影响被测程序的测试结果。

6.维护和设计工做比较困难

对于需求更改频繁的软件,测试脚本的维护和设计比较空难。

7.发现的问题比手工测试的少

自动化测试是机器执行,发现的问题比手工测试要少不少,经过测试工具没有发现缺陷,并不能说明系统不存在缺陷,只能经过工具评判测试结果和预期效果之间的差距。

8.自动化测试比较难

自动化测试要编写测试脚本,设计场景,这些对测试人员的要求比较高,测试的设计直接影响测试的结果。

鸡汤环节:

撑不住的时候,能够对本身说声“我好累”,但永远不要在内心认可说“我不行”。不要在最该奋斗的年纪选择了安逸,没什么好说的,一无全部就是奋斗的理由,咱们试着长大,一路跌跌撞撞,而后遍体鳞伤,总有一天,你会站在最亮的地方,活成本身曾经渴望的模样。

因此当你感到疲惫的时候,不如稍做休息,可是不要忘了,在休息事后,及时背起行囊,不忘初心,努力坚持,相信努力的你最终会绽开出一朵属于本身的花儿来。

絮叨

在这里推荐一个我本身建立的软件测试交流群,QQ:642830685,群中会不按期的分享软件测试资源,测试面试题以及测试行业资讯,你们能够在群中积极交流技术,还有大佬为你答疑解惑,风里雨里,我在群中等你。

你们也能够关注个人微信公众号:程序媛一菲,有更多资源与你一块儿分享。