关闭

软件测试自动化的探索与管理(四)

发表于:2011-5-19 10:22

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

 作者:lyscser    来源:51Testing软件测试博客

第二章 自动化测试的常见问题

  1、自动化能满足我们什么

  自动化能做什么事情原本是个很古老的命题,基本所有人都知道,而且也有很多人对这一点进行过论述和论证。所以这里不再多说,只为讨论问题的完整性简单进行阐述,以便读者在阅读和思考或讨论的时候能更好的上下文衔接。

  (a)提高测试执行的速度

  毫无疑问,无论使用什么工具,自动化测试执行是使用机器部分代替人工执行的方式,10人日的测试执行工作量可以由5个人花2天也可以2个人花5天完成。自动化如果实现了80%,那么使用2个人1天可以完成剩下的20%手工测试;用一台PC Server组装10套虚拟系统,10套虚拟系统0.8甚至0.5天就可以完成所有这些自动化的测试执行。不考虑自动化开发的投入,还是2个人,1天就能完成所有的测试执行,所以说自动化测试提升执行速度的本意是使用同等的执行人力可以结合自动化在最短时间内完成测试执行,而并非说自动化的操作速度比人工快。

  对于不同层面的自动化测试来说,有些执行速度是远远高过手工测试的执行速度的,但是有些却并不是这样。例如,应用JUNIT的单元测试和SELENIUM的UI测试的执行速度是比手工测试执行要快很多,绝大多数性能测试工具也是如此;然而在某些UI测试或者系统操作大部分时间消耗在后台数据库操作的时候,自动化测试工具并不会显得比手工测试快,而且手工测试还能利用时间的交叉实现并行,但是自动化工具却并不会自动化实现这些。

  (b)避免机械式重复工作

  虽然测试有像正交覆盖这样被证明了是科学的裁剪方法,但是,一方面,这些裁剪方法并不是所有的地方都能使用,另一方面,即便都能用测试执行的工作量还是非常大的。无论是多有耐心的测试人员,在长期的测试执行中也会感觉疲惫和乏味,当然有些自制力比较强的同事还是能坚持下来的。自动化测试的好处就在于能替代人去做一些反反复复的工作,可以不眠不休不厌倦;这样可以解放出一部分测试执行人员,让他们向更需要他们的地方成长、发挥。

  特别是对于像我们这样做运营测试的同事来说,可能会有几年只负责测试某一个或几个系统的补丁需求的情况。自动化让大家可以腾出手来做更多的分析工作,一定程度上也能通过提高测试分析设计的投入来提升测试的质量;同时也能让测试人员减少一些乏味的感觉,日新月异的自动化技术和不断产生的问题与系统测试结合也让大家更有解决问题的欲望,在繁琐的测试工作中更容易收获一些乐趣和成就感。

  (c)避免手工易犯的错误

  虽然测试人员普遍比较耐心细致,但是偶尔的错漏总是难免的,笔者参照自己平时的工作总结了了一下,对于笔者来说主要有以下几种导致错误的因素:

  ● 正确率总会有极限,就是说测试执行的时候可以细心一万次,也总会有那么几次是不小心就忘了一些什么东西,导致测试结果偏差;

  ● 注意力被其他事物所分散,尤其在并行任务较多的时候很容易发生考虑不周全或者忽视了一些比较隐蔽的问题;

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号