决定自动化测试成功的关键(转自51)

2010-03-21  谢小雨 

决定自动化测试成功的关键是什么?是自动化测试的语言?是自动化测试的软件工具平台?是可支持高自动化测试率的工具?大家都有自己的认识和结论。但我今天提一种观点,欢迎大家讨论,思辨。

  决定自动化测试成功的关键是测试用例的质量。

  对自动化测试的认识,我也走过和大多数人一样的历程。从03年开始孤独地用Tcl编写自动化测试框架开始到07年为某公司做自动化测试咨询,我都一直认为自动化测试就是测试巅峰,对自动化测试认识都停留在如何在最短的时间内实现最高的自动化测试率和运行效率,一直认为决定自动化测试成功的就是自动化测试脚本的结构和运行自动化测试的平台。

  但最近一年在主抓多个产品测试组测试质量的工作中,对测试活动的质量有了一些新的认识和反思。一切测试活动的质量最直接的影响因子就是测试用例和测试报告。无论是功能测试性能测试,兼容性测试,可靠性测试,还是安全性测试。测试用例是输入,测试报告是输出,两者的质量决定了测试结果的质量。

  我们可以很明白的就理解了:如果测试用例质量差,那么把它转化成自动化测试脚本,运行100遍也没有意义。就像我们本来要在沙漠中挖油田,可是却一直在钢板上打井,即使是自动化机器打井但也没有意义了。如果是我,宁可多花时间找油田,手工在油田上挖井,也不愿意让机器在一个打不出油的地方自动挖井。

  自动化测试直接带来的效益是——提高了测试的效率,释放人出来思考更多更合理的测试用例,间接提高测试质量。如果国内目前只盲目追求自动化测试的开发,而忘了应该投入更多的时间和资源在直接提高测试质量的活动中,那就确实有些本末倒置了。

  所以,我建议:以退为进。与其一开始就追求片面的自动化率,还不如先踏实把测试用例的质量抓好。特别是对于新产品在测试早期,还是多用心思考如何提高测试人员设计测试用例的质量,扩大测试用例的覆盖面,加强测试用例测试的强度。在准备写自动化测试脚本前,先反思是否我的测试用例质量和测试报告质量还有改进的空间,我的测试用例库是否有足够多系统的可靠性测试,性能测试,压力测试,安全性测试,兼容性测试,可用性测试等的testcase

 

356°/3541 人阅读/2 条评论 发表评论

刘俊  2010-03-22

很有感触


谢明志  2010-03-23

同楼上,很有感触,自动化测试究其根本还是测试,而测试之目标还是发现问题,测试用例一定是自动化测试之根本。
我在思考测试用例质量取决因素是哪些,是描述的客观、正确、无模棱两可吗?如果是,这倒不难。针对几个典型错误给与指正就可以了。那若是指覆盖面广呢?如果是,这个比较难了,谁能够说那个测试用例是全面的了呢?如有相关的技巧和方法,但闻其详。
另外,对于测试报告的说法,我有些异议,报告但凡能够准确,及时,能够回答固定的几个问题的报告我认为都是好报告,过多过繁的报告形式只是浪费时间。所以,精简应该是测试报告的一个显著质量指标吧。
其实,鄙人想补充的是,关于自动化测试的成功关键还在于四个方面: 1. 测试用例的可自动化度,一个熟悉测试本身的tester开发自动化测试脚本不会有什么困难,但如果外包自动化测试,那么对测试用例的这个要求就很高了,而且非常高。2. 自动化脚本的稳定性,有的脚本一跑起来就fifty fifty了,因为其结果将受到很多因素的影响,比如系统性能,参数的随机性等等。我们要开发的自动化脚本一定要从架构上,可维护性上提高脚本的运行稳定性。
3.还有自动化测试取决于恰当工具的选择,代码均需要独特的自动化测试平台,好工具的选择可以事半功倍。4. 以人为本,方法、工具的好坏还取决于使用他们的人。


登录 后发表评论