从手动测试转向自动测试

Posted 隔壁王书

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从手动测试转向自动测试相关的知识,希望对你有一定的参考价值。

需要持续和简化工作流程的软件开发方法(例如敏捷和 DevOps)的兴起促使全球团队尽可能地实现自动化。今天超过一半的测试仍然是手动执行的,这意味着对于许多团队和企业来说,第一步是开始自动化。这可能是一项艰巨的任务。在不妨碍当前开发过程的情况下从手动测试转向自动化测试需要的不仅仅是采用自动化工具或聘请自动化工程师。为了使流程有效,必须构建框架,以不同的方式编写测试用例。

构建完成后,有效的自动化测试流程可以帮助团队:
减少测试时间并加快交付周期
提高测试覆盖率和准确性
降低维护成本
在投入生产之前找到并修复更多错误
通过消除平凡和重复的任务来提高员工效率

有了这么多公认的好处,并且团队承受着更快交付的压力,为什么没有更多的团队转向自动化测试?
手动测试是一个过程,在这个过程中,人们将作为最终用户并通过各种应用程序工作流来测试软件。与任何测试过程一样,目标是确保应用程序按预期运行并在产品到达消费者手中之前发现错误。
根据产品、测试用例是什么以及需要测试多少变化,手动测试执行可能需要大量时间。想象一下手动测试经典的“登录”操作,必须使用不同的数据集重复设置相同的测试,直到用尽想到的每个场景。或者,假设你正在浏览电子商务网站并意识到发现文字难以辨认,或者无法导航到购物车。这两种情况对于软件的成功都至关重要,并且这两种测试都是手动执行的。后者需要人工测试,第一个不需要。

手动测试的优点

手动测试具有重要的好处,这些包括:
识别棘手的bug和可用性问题。众所周知,消费者的行为是不可预测的,因此让测试人员充当最终用户可以发现从未想过要为其编写测试的问题。要从用户的角度评估应用程序的质量、响应性和体验,人的思维是关键。好奇心是计算机还没有的东西。
可由任何团队成员实施。手动测试不需要脚本或编码技能,因此团队中的任何人,不仅仅是QA,从测试人员到项目经理或产品所有者,都可以帮助实现测试。只要确保正确地记录过程和结果。
非常适合刚开始使用的时候。在构建一个新软件并刚刚开始测试时,专注于简单地稳定产品,并且开发过程可能不会快速迭代,这是使用手动测试的好时机。
您没有需要运行的回归测试用例库,并且提供的任何反馈都将在顺序和线性时间线中解决。在这个时候,开始自动化会适得其反。
有些事情不值得自动化。在前面的示例中,确保在线读者可以阅读文本是一个快速而简单的检查,像这样尝试自动化质量保证检查的测试是不值得的。

手动测试的缺点

虽然手动测试可以帮助团队发现隐藏的bug,但是有很多理由可以实现自动化。如果运行手动测试,就有可能在最后期限和最终业务目标之前完成测试。通常,测试过程会成为更大开发周期的瓶颈,因为:
耗时。手动测试是由坐在计算机或应用程序前面的人用手来运行的。这些测试必须按顺序运行,这意味着在第一个测试完成(理想情况下是通过)之前,不能在套件中启动下一个测试。
重复的任务容易出现人为错误。某些测试类型,类似于前面示例中的“登录”函数,必须重复运行。
缺乏完整的平台覆盖。由于测试时间较长且受制于人,手动测试缺乏确保完全覆盖的能力。最低限度的环境集(浏览器、分辨率、设备、操作系统,甚至版本)通常是经过测试的,仅此而已。

自动化的障碍

在过去几年中,自动化测试已经被广泛接受为解决关键的手动测试问题的一种手段,以及实现更灵活的开发周期的一种途径,但是要达到这一点并不像打开开关那么容易。那些希望摆脱手工测试的人将面临一些挑战:
测试可扩展性和稳定性。执行手动测试时不会考虑重复。随着测试套件的增长,回归测试将变得更加关键,需要重复更多的测试以确保产品的持续功能。随着团队规模的扩大,他们将需要更快地完成这项工作的能力,并且需要为此构建测试。
复杂性、时间和资源。任何新的过程都伴随着学习曲线。对于刚开始使用自动化的团队来说,这可能意味着当前的测试人员需要培训或雇佣具有新技能的人员。两者都需要时间和金钱。
过程自动化,而不仅仅是测试。团队在转向自动化时犯的一个最大错误就是只关注测试。其他任务,包括报告、清理测试数据、设置和拆除环境,都需要自动化。
公司观点和心态。不是每个人都同意自动化测试的好处将超过与转换相关的成本和时间。从管理层到从业者,让每个人都站在同一个立场上是至关重要的。
寻找合适的工具。最终,团队选择的工具集应该解决前面提到的障碍,从启用回归测试到为团队提供全面覆盖所需的正确环境。今天的自动化工具应该易于使用,并为测试人员提供无数方法来创建脚本和自动化其他任务,如Eolinker:www.eolinker.com

自动化入门

手动测试永远不会完全消失,但随着团队的成长和扩展,使测试周期尽可能高效至关重要。今天,效率是自动化的代名词。自动化测试是通向更灵活的开发方法和更快的交付时间的第一步。这也意味着提高了消费者的质量,最终提高用户满意度。
随着技术设备的广泛应用,团队在更短的时间内完成更多的测试变得越来越重要。通过自动化测试阶段的重要组成部分,从测试本身到报告,测试人员将有更多的时间关注严重的问题,并将他们的创造性思维用于策略和计划。

以上是关于从手动测试转向自动测试的主要内容,如果未能解决你的问题,请参考以下文章

软件测试方法

从手动测试菜鸟,到自动化测试老司机,只用了几个月,我的薪资翻了一倍!!!

从手动测试菜鸟,到自动化测试老司机,只用了几个月,我的薪资翻了一倍!!!

测试行业是该选择手动测试还是自动化测试?

测试行业是该选择手动测试还是自动化测试?

为什么说测试自动化无法取代手动测试 ?