探究自动测试与手动测试的利与弊
作者:网络转载 发布时间:[ 2013/2/6 11:59:34 ] 推荐标签:
几个星期以前我遇到我们团队中的自动测试专家,从他们那里得到了一些什么时候适宜进行自动测试什么时候适合进行手动测试的信息。其实掰掰手指头都能想到,必须使用常识来决定。如果你只需要运行测试一两次,或者做自动测试非常昂贵,那好采用手动测试。不过,在使用常识之前,你必须拿出确定的一些关于何时开始自动化测试的指导方针。
自动测试的好处:
如果你需要反复运行一组测试,那么自动测试将会对你非常有用。
自动测试使你能够应对频繁改变的代码从而跟上周期性回归测试的脚步。
自动测试可以使你能够自动运行主流业务场景从而跟上周期性回归测试的脚步。(原文:It gives you the ability to run automation in main stream scenarios to catch regressions in a timely manner)
自动测试可以帮助你测试大量测试矩阵(在不同操作系统上的不同语言)。自动测试可以使你的测试同时运行在不同的机器上,而手动测试必须不断地继续执行。
自动测试的限制:
花费大。编写测试用例,编写和配置自动化测试框架将会在测试开始时花费比手动测试更多的费用。
无法自动测试一些可视的场景。例如,如果你无法通过代码告诉自动测试工具字体颜色,那么只好使用手动测试。
手动测试的好处:
如果一个测试用例在编码阶段只运行两次,那好使用手动测试,它将比自动测试花费少得多的费用。
手动测试允许测试员进行更多的随机测试。以我的经验来看,更多的bug将会由随机测试发现,而不是自动测试。并且,一个测试员花费越多的时间进行随机测试,发现真正的用户bug的几率越大。
手动测试的限制:
手动进行测试将花费大量的时间。
每次有了新的build,测试员必须重新运行测试-经过一段时间以后将会非常繁琐和疲惫。
其他的因素:
你将哪些部分进行自动测试也由你使用的工具决定。如果该工具有很多限制,那么这些部分还是手动测试吧。
是否投资的回报值得运行自动测试?是否你自动化测试的产出值得建立和支持测试用例,自动框架和运行测试用例的系统?
自动测试的标准
有两个问题可以用来判断是否应该为你的测试用例进行自动化。
Q1:是否测试场景可以自动化?
A1:是的,并且花费很少。
A2:是的,但是花费很多。
A3:不,不可能进行自动化。
Q2:该测试场景有多么重要?
A1:我必须在任何可能的时候都对其进行测试。
A2:我需要有规律地对该场景进行测试。
A3:我只需要测试该场景一次。
如果这两个问题你的答案都是#1,那么你肯定需要自动化该测试。
如果这两个问题你的答案是一个#1和一个#2,那么你好自动化该测试。
如果这两个问题你的答案都是#2,那么你应该好好考虑一下是否你值得为自动化测试投资。
如果你无法自动测试,会有什么结果
让我们假设如果你有一个测试必须在任何可能的时间运行,但是却无法自动化它,你的选择是:
再评估 – 是否我真的需要如此频繁地运行它?
如果手动测试它会有多大的花费?
寻找新的测试工具。
考虑使用test hooks。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11