测试脚本的独立性

来源:互联网 发布:局域网文件同步软件 编辑:程序博客网 时间:2024/05/21 09:52

这里讨论的测试脚本指的是:使用开发工具(比如Junit)开发的测试程序,或者是用自动测试工具(比如QTP)开发的测试脚本。
 
先说两个测试工作中常见的问题。
1、A君用Junit开发了很多TestCase,但是这些case之间有着较强的逻辑关系,比如Case#1执行过后,Case#2才能执行。于是当#1出现错误,#2也无法正常测试了。
2、B君用QTP做的测试脚本,每个脚本覆盖了很多功能点,包含了很多代码,很多的对象,当进行脚本维护的时候,发现这些代码之间关联性太强,维护的成本很高。
 
问题的原因就是测试脚本不够独立。
道理虽然很清楚,但是我们在实际开发测试脚本的时候,由于测试设计考虑的不充分,很容易把一个脚本写的很长,而且有时为了省事,让一个脚本的执行依赖于另一个脚本。这些都是不可取的。当你在运行、维护这些脚本时,肯定会被上面的问题困扰。
 
因此我们要把测试脚本“化整为零”,把每个脚本“单元化”,这里有几个判断脚本独立性的准则:
  1. 每个脚本的执行不依赖于其他任何一个测试脚本
  2. 当一次运行很多脚本时,脚本的顺序可以自由组合,不存在先后顺序
  3. 每个脚本所覆盖的功能点绝不能太多,最好只有一个,或者是几个具有较强逻辑关系的功能点
  4. 每个脚本所需要准备的测试数据,在脚本执行的时候完成准备工作,并且在脚本执行结束前把这些数据全部回收
如果把脚本做的很独立,那是不是每个脚本都要进行初始化的操作,要做很多重复的工作呢?这个问题这样解决,就是完善测试脚本的框架,把一些常用的操作(准备数据、回收数据、用户登录等)在框架里实现,这样测试脚本只需要关注测试业务就可以了。

原文地址:http://blog.csai.cn/user1/37581/archives/2007/20447.html


原创粉丝点击