手工黑盒测试不能被取代的13个重要原因

自动化测试可以节省大量的时间和人力,但是有些测试的情况必须通过人的视角来看待。

目前,很多开发团队开始采用自动化测试,在一定程度上,自动化测试就像他们的圣杯。自动化测试对于回归测试和检查冗余组件是一个很好的安全保障。但我们仍然十分支持人工以及探索性测试,即使自动化测试目前已经十分先进,但他们仍然需要人力驱动。实际上,自动化测试通常是从最初的手动工作转化而来的,这就是无论外包还是内部使用,开发者仍然需要手动测试人员的原因。

1必须存在手动的全套测试

人工测试显得重要的一个最大的原因就是用户的经验,我们(甚至开发者)可以时不时的提出一些有价值的批评。当提及系统功能或第一印象时,人眼是无法被取代的。尽管烟雾测试可以自动化进行,但它们更适合手动测试的形式。一个测试人员可以随意的使用你的应用程序,看看它是否准备好进行核心测试,这比写一个有同样功能的脚本要快得多。而且早期的脚本肯定不能一直使用。另外,只有人可以仔细检查一个针对多个地区的产品的语言使用以及其他关键的本地化因素。

2自动化测试使人工测试变得可能

就像紧急情况下为你而开的车,当你离开时,自动化测试也一直在忙碌着。自动的软件测试可以节省重复工作的时间,从而使人工测试可以围绕更加富有创造力的测试用例展开。自动化测试最成功的地方不在于试图使它的行为像人类一样,而是过创建新的、独特的脚本来提高整体产品的覆盖率。

3Bugs总是出现在最不可能的地方

即使在测试特定的用例时,测试人员仍可以找到很多他们并不需要找的bug,这是一个很大的问题。对于一些项目来说,大多数bug实际上是由寻找其他内容的测试人员发现的。自动化测试不能发现没有编程的错误。

4人具有创造力和分析能力

尽管我们总是想到人类的缺陷(比如我们为什么不会飞),但是我们确实有我们自己的优点。测试人员所带来的技能和经验,可以帮助他们在每次开始一个新阶段时制定策略。在这一点上,我们的快速处理速度以及分析无可替代。

5测试脚本必须在敏捷中重写

在敏捷环境中使用不断的反馈意味着对于产品流程、UI甚至功能的不固定的更改。而且几乎每一次更改,都意味着你在下一次的冲刺中需要重写你的自动化脚本。新的更改也会影响到回归测试的脚本,所以即使是经典的自动化测试示例,也需要在敏捷中进行大量的更新。当开发团队试图思考如何投入资源的时候,这个的工作量是值得考虑进去的。

6自动化对于小项目太过于昂贵

你不仅需要购买自动化软件,同时由于脚本的编写和重写以及设置和处理的时间,你还得支付更高的相关维护和管理成本。对于长期项目和大型工程,高成本是值得的。但是对于短期的,较小的项目来说,这是对于时间和金钱的巨大浪费。当在计算购买自动化软件的潜在投资回报率时,你也必须考虑到因此所增加的工时。

7除非经过严格的管理,否则自动化将趋于落后

我们希望技术可以为我们做的事情,和实际上我们能用技术做的事情是不同的。通过持续的脚本更新,使冲刺保持自动化测试是非常难的。测试不再是最新的补丁是毫无意义的。成功的自动化测试很早就开始了,并且从来没有落后过任何一次冲刺。如果一个开发团队没有资源来实现这一点,最好一开始就不要尝试(除非团队正在进行长期的投资,并且计划改进整个流程)。

8人工测试者更了解用户视角

人类整日都在学习。你肯定不愿意浪费这些知识。因为人工测试人员通常以用户的方式进行操作,所以他们所能提供的价值远超对于产品目前表现的了解。测试人员还可以通过提交问题和建议来帮助产品寻找新方向。

9自动化测试无法捕获人类意识不到的问题

这就回到了第3点,bugs通常出现在人们意识不到的地方。但除此之外,还有一些我们不会立即注意到的用例和巨大的风险。这种天生的无知可以通过探索性测试或者开发新脚本的探索性测试来缓解。无论团队的测试形式如何,预先的策略总是必须的。但是我们永远不能期待在最刚开始时就考虑到所有问题。对于我们忽略的大多数问题,人工测试有更快的速度。

10优秀的测试是可重复的,也是可变的

大多数成功的测试都是两个因素的结合:可重复性和可变性。自动化测试对于持续的检查非常有用,但这还不够。你还想要变化,以及一些通配符用例。综合来看,这两个因素可以使产品有更高的机会实现全面的覆盖。

11移动设备有更复杂的用例

自动化测试脚本无法覆盖设备的兼容性以及交互。像断开和重新连接WIFI,同时运行其他应用程序,设备权限,接收电话和短信,都可能对应用程序造成严重的破坏。更改滑动方向和点击屏幕的手指的数量也可能会影响移动应用。显然,如果你希望你的应用有更少的怪事发生,你需要一个人工测试人员。

12人工测试胜过 ” 通过 / 失败 ”

“通过/失败”测试非常酷,我们要求我们的Testlions一直使用设定了输出的测试用例。但是对于大多数项目来说,有更复杂的场景。Web表单是一个很好的例子。尽管自动化脚本可以轻松地在web页面中填入值,但是如果用户离开了页面然后返回回来,脚本就无法值是否被保存了。另外,提交速度如何呢?人们一定会注意到,当其他网站全速加载时,web表单是否会提交变得异常缓慢。但是速度并不适合“通过/失败”测试。

13人工测试可以快速重现客户发现的错误

尽管你期待在部署之前可以发现所有bug,但也希望你的客户能够让你知道任何发生的错误。对于基于云的产品,热修复是必须的。一个人工测试人员可以用客户提交的信息,提交一个对开发者有帮助的bug报告。通过人工测试,客户反馈问题和问题被修复之间的时间会大大缩短。如果你喜欢,那么人工测试是非常棒的。但是,人工测试是一个不能被自动化的服务。

原文地址:http://www.51test.space/archives/2320

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    Mr希灵阅读 21,949评论 7 278
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    宇文臭臭阅读 6,720评论 5 100
  • 文章来自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鹏阅读 9,189评论 2 126
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,633评论 18 139
  • 1.问:你在测试中发现了一个 bug ,但是开发经理认为这不是一个 bug ,你应该怎样解决。 首先,将问题提...
    qianyewhy阅读 9,236评论 4 123