何时适合进行自动化测试?(上)

在这里插入图片描述

尽可能地实现测试自动化是软件行业的总体趋势。在软件测试中,自动化可以极大地提高生产力,但仅限于某些情况。

在这篇文章中,我们将介绍一种测试自动化的方法,目的是根据项目的上下文识别其可行性。对于测试人员来说,了解什么是自动化以及何时可以自动化非常有用。测试人员应该多多注意如何优化工作,无论是与其他同事、开发人员合作,还是自己尝试自动化工具。

我们将介绍一些在还没有自动化相关经验时非常重要的概念,并评估它们相对于手动测试相关的重要性和优势。

什么是测试自动化?

从历史上看,自动化的出现是为了减少可编程系统、机械操作的活动所需的人力,目的是简化繁重、重复和复杂的工作,使其更有效也更高效。通过这种方式,可以节省能源、时间和成本,同时让人们腾出时间专注于其他任务。

在软件开发中,可以用同样的方法,通过把原本要手动完成的工作自动化来实现。需要遵循的步骤被转化成可重复的脚本,所以他们可以将精力集中在其他提供更大价值、减少执行时间的特定任务上。在某些情况下,自动化让我们能执行人工本无法执行的测试,特别是考虑到在特定时间段内执行次数的限制,自动化可以更轻松地完成规模化、工程化测试。

当测试人员考虑自动化时,最常见的问题之一是,“什么时间可以进行自动化?”

想知道是否应该自动化,包括评估潜在的投资、方法、收益,最重要的是,评估目前手动流程的相关信息。

首先要充分了解手动过程,并且对这方面了如指掌,只有这样才能实现自动化。对于手动过程的完整了解是知道什么时间可以进行自动化的支柱,这意味着手动测试不能被完全替代。在可以实现自动化之前,必须非常熟练地掌握手动测试。先学会走路,然后再跑步。

自动化误区

自动化有其优点和缺点,具体取决于项目、时间、成本、质量和方法。

基于上述,另一个非常重要的点是,除了自动化或非自动化之外,还必须了解具体情况,而且所做的一切都是基于以最佳方式实现目标,选择和应用适当的方法、工具和技能。

避免陷入以下关于测试自动化的常见误区:

  • 任何软件都能自动化
  • 自动化的软件质量更好
  • 自动化测试优于手动测试
  • 自动化带来更快的投资回报

无论是手动还是自动,不妨以下述七个原则来理解测试的目标:

  • 任何实践的价值都取决于其背景;

  • 不存在“好的实践”,但上下文中会发现好的实践;

  • 人的合作是所有项目环境中最重要的部分;

  • 项目不是一成不变的,往往会采取不可预测的路径;

  • 该产品是一种解决方案。如果问题不解决,产品将无法工作;

  • 好的软件测试是一个具有挑战性的智力过程;

  • 只有通过在整个项目中合作实践的判断力和技能,才能在正确的时间做正确的事情,有效地测试产品。

这些原则是 Cem Kaner、James Bach 和 Brett Pettichord 在书籍《软件测试中的经验教训》中提出的,这有助于我们认识到适应当前项目情况的能力的重要性。

手动与自动

刚开始时,我们可能希望将一切都自动化,但开发和维护自动化测试脚本的成本可不是轻轻松松的。

当一个项目把赌注押在自动化上时,理想情况下,它应该有一个坚实的基础,从单元测试用例开始,通过即时反馈尽可能多地防止bug,然后继续到不同的层级。这样,手动和探索性测试在UI级别最有价值,专注于那些无法自动化的测试。

Michael Cohen 的自动化测试金字塔解释了这个概念:

在这里插入图片描述

在左边,可以看到自动化通常是如何完成的,而右边是理想的自动化测试,其中单元测试在金字塔中占据最大的比重。

尽管自动测试和手动测试之间存在差异,但它们并不相互排斥,而是被视为寻求更好软件质量的补充任务。

如果考虑测试的投资回报,手动测试新功能能以较低的成本快速了解应用程序的更多信息。随着知识的获取好测试的库存增加,手动测试的成本也会增加。另一方面,自动化具有更高的初始成本,随着它的进展而降低。这种趋势如下图所示:

在这里插入图片描述

可以看出自动化需要大量的初始投资,直到“突破点”,与手动测试相比,我们开始看到它对长期成本产生的积极影响,也能够清楚,这两种测试活动都是完全兼容,产生短期和长期利益。

下面是测试资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
在这里插入图片描述

最后: 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值