人工测试是由测试人员手工逐步执行所有的活动,并观察每一步是否成功完成。而自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。在此过程中,可以节省人力、时间或硬件资源,提高测试效率,所以自动化测试越来越流行。
不可否认,自动化测试在回归测试和检查冗余组件方面不失为安全有效的方法。但是人工测试短时间内也是无法被取代的。
卓码测评总结了10条人工测试无法被取代的理由,可供参考:
1.bug总是出现在你意料不到的地方
即使在测试特定的产品案例时,测试人员依然可以找到他们没有预料到的bug。这可不是一项小工程!对于一些项目,大多数bug其实是测试人员在寻找其他问题的时候发现的,自动测试无法注意到程序没有找到的错误。
2.相当一部分测试工作必须要人工进行
用户体验应该算是进行人工测试很重要的原因。我们可以通过用户的反馈得到宝贵的意见,即便是批评,也是有价值的。因为在产品推出的时候,用户不仅会关注其功能,对UI界面的第一印象也很重要。毕竟,任何一个细节都逃不过用户的眼睛。虽然冒烟测试可以实现自动化,但人工测试始终是无法代替的。对于测试人员来说,查看应用程序是否适合进行自动化测试,比编写同样的脚本进行自动化测试要快得多。而且早期的脚本也不会持续太久。此外,只有人工才能针对多个区域的产品中的语言使用和其他关键本地化因素进行双重检查。
3.对于小型项目来说,自动化测试成本太高
自动化软件是需要付费的,而且由于脚本编写和重写,以及设置和处理时间,需要更高的相关维护和管理成本。对于长期项目或大型产品来说,高成本的付出是值得的,但对于周期较短,比较小的项目来说,实施自动化测试是对时间和金钱的巨大浪费。在计算自动化采购的潜在投资回报率时,还必须考虑额外增加的工时的因素。
4.人工测试人员对用户习惯更加了解
测试人员在漫长的工作过程中积累了丰富的经验,谁也不想浪费这些经验和知识。因为测试人员经常像用户一样工作,他们提供的价值远远超过了产品的测试文档所描述的。测试人员还可以通过交付问题和建议帮助和引导产品走向新的方向。
5.自动化测试需要测试人员监督
就像开车在紧急情况下需要急刹车一样,自动化测试同样需要人的监管。虽然自动化软件测试节省了重复工作的时间,但手工测试工作可以围绕创造性的用例展开。自动化测试最成功的用途并不是试图使其行为像人一样工作,而是通过创建新的、独特的脚本来提高整体产品的覆盖率。
6.人工测试的通过率更高
在测试中产品是否通过测试是很重要的一件事,我们要求自动测试软件一边模拟使用,一边呈现所有的测试结果。但对于大多数项目来说,可能发生更复杂的情况。Web表单就是一个很好的例子。虽然自动脚本可以很容易地将值输入到web页面中,但是它不能重复检查,如果用户离开然后返回,这些值是否会被保存?另外,提交的速度呢?如果一个web表单提交异常慢,而其他网站却在以最快的速度加载,那么用户肯定会注意到。但速度并不能说明测试是否已经通过。
7.自动化测试无法捕捉到测试人员没有意识到的问题
跟第1点类似,bug经常出现在我们意想不到的地方。除此之外,在整个项目中还可能存在其他我们没有意识到的风险。而探索性的测试可能会降低这些风险的发生。无论测试团队依赖什么形式,预先制定策略总是必要的。简单的一次性测试通过是不可能的,对于那些细枝末节,人工测试的速度反而更快。
8.人工测试具有创造力和分析能力
虽然我们总在抱怨人类能力的不足,比如为什么我们不能飞?但我们也有自己的优点。测试人员带来的技能和经验可以帮助他们在每次开始新会话时制定策略。在这一点上,没有什么可以替代我们快速的思维处理速度和分析能力!
9.自动化测试更适合用于最后冲刺
我们希望技术能为我们做什么,与我们实际能用它做什么是有区别的。随着脚本的不断更新,要持续保证自动化测试的准确性是很困难的,测试不再流行的补丁也没有价值。成功的自动化测试很早就开始了,而且从来没有在更新环节上落后过。如果开发团队没有资源来实现这一目标,最好不要尝试(除非团队正在进行长期投资以改进流程)。
10.好的测试是可重复的,也是可变的
成功的测试有两个因素:重复和变化。自动化测试对于持续的检查过程非常有用,但这还不够。你还需要演进,还有一些未知的变化。综合考虑这两个因素,可以最大程度地实现产品的全面覆盖。
以上是卓码测评总结的10个人工测试无法被取代的理由,更多测试动态请关注卓码测评!
文章来源:卓码测评
精彩推荐:点击蓝字即可
▲测试人员必备:全球最好用的7款Bug管理软件
▲只会点点点的测试人员,未来在哪里?
▲BlueStacks被曝巨大漏洞,Android模拟器可被远程控制
▲印象笔记被曝严重Bug,数百万用户数据恐遭泄露!
▲游戏Bug是一种怎样的存在?细数那些让玩家心情复杂的Bug!