当前位置:软件测试基地>软件测试技术>自动化测试>文章内容

测试自动化

作者:alanstone   来源:blog.cntesting.com  发布时间:2006-12-09  

原文地址:http://blog.cntesting.com/blog/htm/do_showone/tid_242.html

测试自动化可以说是每一名测试工程师的终极梦想,也有可能是终极噩梦.在我们梦想的中的测试自动化是这样的,只要启动测试程序就会自动输出测试结果,报告哪里有错误和错误的原因.

但现实中的测试自动化并不这样的,每个人对自动化的理解和观点也不同.有人盲目的认为测试自动化完全可以取代大部分手工操作,提高测试效率提高产品质量.有人认为测试自动化只是简单的录制和回放.也有人悲观的认为测试自动化离我们非常遥远.

我对测试自动化的定义是:按照预先设定的逻辑和顺序执行被测试程序,并能对测试的结果进行验证.

是不是所有测试都可以实现测试自动化呢?从理论上是可以,但实际上是不会的,这里考虑到成本,技术等因素.

正常情况下我们只会对产品中基础功能实施测试自动化,随着产品的逐步迭代测试自动化也要进行相应的调整.如果是项目型产品就要考虑实施测试自动化的成本.项目中的一个功能只测试一次,为此还要做一个自动化要专人维护,这就从成本的角度考虑就是浪费,但如果项目中的一个功能需要反复的测试多次(可能是因为开发每次修改错误后我们都需要重新测试),这时使用测试自动化就是一种效率的提升.

当确定的自动化后是不是就可以盲目的开始实施了呢?这很容易将大家引入误区,测试自动化只需要编程技巧.测试自动化实际上是模拟了人的手工操作去执行程序,模拟了人的眼睛去发现错误.如果没有预先手工测试设计又如何实施自动化.

也许有人会说,现在已经有了一些测试工程可以根据被测试程序自动生成测试案例.是有这样的工具,而且还是很多,但这样工具被销售厂家描绘成无所不能.举个小例子:一个函数 int Test(int par);自动化测试工具会根据 int  范围输入相应的数字进行测试.但如果在设计上这个 par 的取值范围仅仅是1-10,那这个工具得出的测试结果就会有偏差.

并不是有了自动化测试工具就可以说在进行自动化测试.有些人说我会用WinRunner LoadRunner Robot QARun QALoad 但是这并不能说明你会测试自动化,有了这些工具可以让我们在实施自动化的时候方便快捷,通过这些工具也可以了解工具所包含的测试思想.

对于临时性的自动化测试实施相对比较简单,代替手工操作输入数据,取数据结果.这种自动化不需要进行维护也不需要特别的考虑,仅仅是为了减轻手工操作.

如果想建立一套完整的测试自动化机制就需要从整体来考虑,包括案例的设计,脚本的维护,环境的维护,测试规范化.这时就需要考虑测试的过程改进.也许有人认为测试自动化与测试过程改进 测试成熟度 CMMI没有任何关系.但实际上这些是密切相联的.软件测试过程改进和CMMI可以说是测试自动化的基础.

>> 待续 


上一篇:在UltraEdit中显示TSL语言的方法   下一篇:一个Testing Checklist
 
[↑返回顶部] [打印本页] [关闭窗口↓]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论: