比较手工测试和自动化测试

发表于:2010-6-22 13:42

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

 作者:James Whittaker    来源:51Testing软件测试网采编

  在我写的“软件测试的未来”系列中,有人批评说我是个两面派,手工测试自动化测试都支持,就像美国的政客一样,不知道是该亲宝宝呢还是亲宝宝的妈妈。很明显这不是个非此即彼的事。不过我想澄清一些观点。

  争论的焦点在于何时选取哪种测试方法,以及何种情况下手工测试更合适或自动化测试更合适。有种观点认为自动化测试更适合回归测试和API测试,手工测试更适合做验收测试和GUI测试。我觉得这种简单化的看法使我们偏离了真正的问题。

  我觉得问题的本质与API还是GUI,回归还是功能都没有关系。我们应该从代码是业务逻辑相关还是基础性代码出发。因为这正是这点区分了手工测试和自动化测试。

  业务逻辑代码对应投资人或用户掏钱买的那些功能。是实际完成工作的。基础性代码则确保业务逻辑代码运行在合适的环境中。基础性代码使得业务逻辑代码可以用于多用户,更安全,本地化等等。这是支撑业务逻辑干活的平台。

  很明显,两种代码都要测试。直觉上,手工测试更适合测业务逻辑,因为这部分人类学习起来要比交给自动化容易。我觉得这个直觉太对了。

  手工测试者最适合成为领域专家,他们可以把相当复杂的业务逻辑存在最强力的测试工具——大脑里。而且手工测试速度比较慢,测试者就有时间可以观察分析细微的逻辑问题。速度虽然慢些,但是比较容易。

  自动化则胜在测试底层的细节。自动化可以测试崩溃、挂起、错误返回值、返回码、异常和内存使用等等。速度快但是也困难些。想对业务逻辑进行自动化测试比较困难,风险也大。事后想想,我觉得Vista就有这个问题,太依赖自动化测试了。如果能加多一些手工测试人员,效果会更好。

  所以不管你是要测API还是GUI,回归测试还是头次测试,所选择的测试方法取决于你想要发现什么样的bug。当然会有例外,但总的来说,手工测试胜在测试业务逻辑,而自动化测试胜在测试底层架构。

  这就是我的观点,根据具体情况选择合适的方法。

作者:James Whittaker    翻译:Alex(886s.com)
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号