探究自动测试与手动测试的利与弊

发表于:2013-2-06 11:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:曾月天 译    来源:51Testing软件测试网采编

  几个星期以前我遇到我们团队中的自动测试专家,从他们那里得到了一些什么时候适宜进行自动测试什么时候适合进行手动测试的信息。其实掰掰手指头都能想到,必须使用常识来决定。如果你只需要运行测试一两次,或者做自动测试非常昂贵,那最好采用手动测试。不过,在使用常识之前,你必须拿出确定的一些关于何时开始自动化测试的指导方针。

  自动测试的好处:

  如果你需要反复运行一组测试,那么自动测试将会对你非常有用。

  自动测试使你能够应对频繁改变的代码从而跟上周期性回归测试的脚步。

  自动测试可以使你能够自动运行主流业务场景从而跟上周期性回归测试的脚步。(原文: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软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号