文档章节

手动测试无法被取代的13个重要理由

Ywbao
 Ywbao
发布于 2017/07/06 16:43
字数 1975
阅读 7
收藏 0

 有些开发团队十分推崇自动化测试,不可否认,自动化测试在回归测试和检查冗余组件方面不失为安全有效的方法。但是我们更应该坚信探索性的手动测试。虽然自动化测试变得越来越复杂,但这始终需要人工驱动。实际上,自动化测试通常是从最初的手工工作中转换过来的。这就是为什么开发团队需要手动测试人员,不管是外包还是内部测试。

  1.许多测试必须是手动的

  用户体验可说是进行手动测试非常重要的原因。我们可以通过用户得反馈得到宝贵的意见,即便是批评。因为在产品推出的时候,用户不仅关注功能性,界面UI的第一印象也非常重要,任何一个细节都逃不过用户的眼睛。虽然烟雾测试可以实现自动化,人们还是倾向于人工测试。显然,由测试人员在你的应用程序中搜索查看是否已经准备好进行核心测试要比编写脚本来进行自动测试要快得多。况且早期阶段的测试脚本不会持续太久,只有人工才能在针对多个区域的产品中重复检查语言使用和其他关键本地化因素。

  2.自动化测试授权人员

  就像驾车有时需要急刹车一样,自动化测试同样不能缺少人的监管。自动化测试软件节省了重复工作的时间,而手工测试工作可以围绕创造性的实例展开。自动化测试最成功的用途并不是试图使其行为像人类一样,而是通过创建新的、独特的脚本来提高整体产品覆盖率。

  3.bug总出现在你最不经意的地方

  即使在测试特定的产品案例时,测试人员依然可以找到他们没有预料到的bug。这可不是一项小工程!在很多项目中,大多数bug的发现其实是在测试人员寻找其他问题的时候发现的。自动化测试无法发现没有编程的错误。

  4.人工测试具有创造力和分析能力

  虽然我们总在抱怨人类能力的不足,比如为什么我们不能飞?但人工作业确实有自己的优点。测试人员带着自己的技术和经验来制定策略,开始每一个新工程。在这个层面上,人类的分析能力和速度是无法言喻的。

  5.测试脚本的快速重写

  在不断的反馈、快速反应的环境下使用测试脚本意味着对产品流、UI甚至特性的更改。几乎每次更改都要重新编写一个Sprint自动化脚本。新的更改也会影响回归测试的脚本,因此即使是典型的自动化测试也需要进行大量快速的更新。这之中大量的工作需要开发团队考量应该在何处投放更多资源。

  6.自动化对于小型项目来说过于昂贵

  自动化软件需要你花钱来支付,而且由于脚本编写和重写以及设置和处理时间,你的维护和管理成本会更高。对于长期项目或大型产品来说,高成本的付出是值得的。但对于短平快的小项目来说,实施自动化测试是对时间和金钱的巨大浪费。在计算自动化采购的潜在投资回报率时,还必须考虑增加工时的因素。

  7.自动测试更适合用于最后冲刺

  我们希望技术能为我们做什么和我们实际能用它做什么是有区别的。随着脚步不断的更新,很难保证自动化测试的准确性。用原脚本测试修补后的程序是毫无意义的。成功的自动化测试很早就开始了,而且从来没有在更新环节上落后过。如果开发团队没有资源来实现这一目标,最好不要尝试(除非团队正在进行长期投资以改进流程)。

  8.人工测试人员更了解用户习惯

  测试人员在漫长的工作过程中积累了丰富的经验,谁也不想浪费这些经验和知识。因为人类测试人员通常像一个用户,他们能提供的价值远远超过了产品当前性能的所及。测试人员还可以在交付产品和反馈建议中引导产品朝新的方向改进。

  9.自动化无法捕捉人类没有意识到的问题

  这个问题和我们谈到的第3点有些关联,bug往往出现在我们意想不到的地方。除此之外,在整个项目中还可能存在其他我们没有意识到的风险。而探索性的测试可能会降低这些风险的发生。无论测试团队依赖何种形式,做到运筹帷幄永远是必要的。简单的一次性测试通过是不可能的,对于那些细枝末节,手动测试的速度反而更快。

  10.好的测试是可重复的,也是可变的

  成功的测试有两个因素:重复和变化。自动化测试对于持续检查过程非常有用,但这还不够。你还需要演进,还有一些未知的变化。结合看来,这两个因素会使产品覆盖率提高的机会更大。

  11.移动设备的测试更为复杂

  设备兼容性和交互不能用自动脚本覆盖。像在离开wifi环境和再次连接时,同时运行几个app时,设备的限制、接收电话和消息都会潜在破坏应用程序的性能。更改滑动方向和用手指轻敲的次数也会影响移动应用程序。如果你想让触摸屏手机减少宕机的次数,进行手动测试是非常重要的。

  12.手动测试的通过率更高

  在测试中通过与否是需要考量的,我们要求自动测试软件一边模拟使用,一边呈现所有的测试结果。但对于大多数项目来说,可能发生更复杂的情况。Web表单就是这方面的一个主要例子。一个自动化脚本可以很容易地输入到一个网页,但它不能实现两重检测,如果一个用户定位离开再返回,测试的数据将被保存。至于提交的速度,在人工测试时,测试员会注意到Web表单提交的速度是否过慢,特别是当其他网站高速加载的时候。但速度并不能说明测试的通过与否。

  13.手动测试可以快速重现客户发现的错误

  虽然你希望在部署之前捕捉到所有bug,但你一定也希望客户能把一些错误和问题直接反馈到你。手动测试人员可以使用客户提交的信息提交错误报告,这对工程师是有帮助的。通过手动测试,可以缩短从客户提出问题到修复之间的时间。自动测试虽然很强大,但手动测试能提供的服务和优势也是不可取代的。

本文转载自:http://www.51testing.com/html/07/n-3719407.html

Ywbao
粉丝 1
博文 37
码字总数 8070
作品 0
深圳
QA/测试工程师
私信 提问
微软 Office 仍是重要企业应用的10大理由

美国知名科技杂志《eWeek》网络版最近撰文,称微软的Office仍然是重要的企业应用,并列数了10大理由。《eWeek》网站的文章内容如下: 微软的Office最近几天可能不会引起所有人的密切关注,但...

oschina
2012/10/12
1K
16
软件测试方法

软件测试方法种类繁多,记忆起来混乱, 如果把软件测试方法进行分类, 就会清晰很多。 我参考一些书籍和网上的资料, 把常用的软件测试方法列出来, 让大家对软件测试行业有个总体的看法。 从...

阳光蜜汁
2017/08/16
0
0
Preserve Whole Object (保持对象完整)

Summary: 从某个对象中取出若干值,将它们作为某一次函数调用时的参数。改为传递整个对象。 Motivation: 有时候我们会看到有来自同一对象的若干项数据作为参数,传递给某个函数。这样的问题...

忆瑶
2013/06/13
0
0
是该重新思考一下网站综合监测技术了

  【IT168 资讯】根据维基百科的定义,综合监测(也称主动监测)技术是指使用Web浏览器模拟或用Web交易的脚本记录来完成的网站监测。它通过创建行为脚本(或路径)模拟客户或终端用户在网站上执...

it168网站
2017/08/24
0
0
自动 Android* 应用测试

测试是应用开发流程中的重要环节。 对于 Android,这尤为重要,因为 Android 设备彼此之间差异很大,主要体现在以下几个方面: 屏幕尺寸和分辨率 Android 版本 外形 处理器的指令集 是否有前...

今幕明
2014/03/10
0
1

没有更多内容

加载失败,请刷新页面

加载更多

聊聊中国的通信行业:从“七国八制”到“中华”脊梁

本期文章和大家一起来聊一聊我曾经从事过的通信行业吧。最近各方面信息的泛滥,包括和华为的同学聊天,自己确实也感慨颇多。想想我自己本科主修通信工程,研究生再修信息与通信工程,从本科开...

CodeSheep
54分钟前
4
0
MDK:ARM M451M:exceed the range of code meory, continue to erase or not?

问题: 代码空间超限 几天前就遇到:exceed the range of code meory, continue to erase or not? 如下所示: 解决过程 开始以为中MDK软件的128KB限制,如是就不能生成HEX文件,应该链接时有提...

SamXIAO
今天
1
1
OSChina 周六乱弹 —— 因违反《中华人民共和国治安管理处罚法》第四十四条之规定

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :#今日歌曲推荐# 惊艳分享谷微的单曲《安守本份》(@网易云音乐) 《安守本份》- 谷微 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
今天
322
7
Angular 英雄编辑器

应用程序现在有了基本的标题。 接下来你要创建一个新的组件来显示英雄信息并且把这个组件放到应用程序的外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 的新组件。 ng gener...

honeymoose
今天
8
0
Kernel DMA

为什么会有DMA(直接内存访问)?我们知道通常情况下,内存数据跟外设之间的通信是通过cpu来传递的。cpu运行io指令将数据从内存拷贝到外设的io端口,或者从外设的io端口拷贝到内存。由于外设...

yepanl
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部