logo
 
 
|
|
|
|
|
|
|
|
 
 
您的位置:首页 - 专业知识
测试脚本之二:数据驱动脚本
[2010-07-05]
测试脚本一般指的是一个特定测试的一系列指令,这些指令可以被自动化测试工具执行。比如:我们学习的QTP和Loadrunner分别都支持Vbscript,而Loadrunner还支持Javascript和类C脚本。

        测试脚本一般指的是一个特定测试的一系列指令,这些指令可以被自动化测试工具执行。比如:我们学习的QTP和Loadrunner分别都支持Vbscript,而Loadrunner还支持Javascript和类C脚本。在自动化测试工具中,要想测试结果是正确有效的,其前提是你的脚本是高效和有效的,在整个自动化测试的费用中,测试脚本占了一半的费用,可见脚本的重要性。在一般的测试时,很多书上介绍要测试员自己从头到尾来编写测试脚本,我个人认为在测试的时候应该是根据测试工具先录制脚本,再根据你的需要进行维护脚本。因为录制一般的情况下是不会出错的,并且还大大的提高你测试的费用。脚本仅仅是脚本,你的脚本只要实现你想要的结果就可以。一般来说,脚本不要实现太多的功能,短小精悍。
为了提高测试脚本的可维护性和可复用性,必须在执行测试脚本之前对它们进行构建。或许会发现这样的情况,即有的操作将出现在几个测试过程中。因此,应有目的地确定这些操作的目标,这样就可以复用它们的实施。测试脚本是自动执行测试过程(或部分测试过程)的计算机可读指令。测试脚本可以被创建(记录)或使用测试自动化工具自动生成,或用编程语言编程来完成,也可综合前三种方法来完成。
更改目标软件时,需要对测试过程进行局部的可控制的变更。这将使得测试过程和测试脚本对目标软件的变化有更大的应变能力。例如,假设软件的登录部分已经改变。在遍历该登录部分的所有测试用例中,只有关于登录的测试过程和测试脚本需要进行改变。测试脚本是针对一个测试过程的。一个测试过程往往需要众多的数据来测试。通过自动录制得到的脚本,所有的输入数据都是常数,是固定的。如果需要使用一个测试脚本测试多组数据,就需要对脚本进行参数化,把固定的常数修改为来自数据源变量。


测试脚本相关的成本主要由开发成本和维护成本组成。在自动化测试过程中使用不同的脚本编写方法会对成本有不同程度的影响。

    “录制回放”的方法是简单的,也是脆弱的,但是它的开发成本很低,然而维护成本很高,因此总体成本也会很高。使用先进的关键字驱动测试的方法,则维护成本会很低,但是开发成本会很高,因此总体成本也会很高。测试经理需要在这些方法中作出明智的选择,以便把总体成本尽量降低。

编写脚本的方法 : 不同的自动化测试脚本编写方法主要有:线性的、结构化的、共享的数据驱动的和关键字驱动的

       线性脚本编写方法是使用简单的录制回放的方法,测试工程师使用这种方法来自动化地测试系统的流程或某些系统测试用例。它可能包含某些多余的、有时候并不需要的函数脚本。

线性脚本是录制手工执行的测试用例得到的脚本。这种脚本包含所有用户的键盘和鼠标输入。如果仅使用线性脚本技术,每个测试用例可以通过脚本完整地被回放。线性脚本中也可能包括比较,比如检查某个窗口是否弹出。

    手工运行 10 分钟的测试用例,可能需要 20 分钟到 2 个小时才能完成测试自动化的工作。因为录制的脚本需要维护,尤其是增加部分内容后的维护和测试需要花费很多时间。而且自动化以后的测试执行的时间会大于 10 分钟。

      数据驱动脚本技术将测试输入存储在独立的数据文件中,而不是绑定在脚本中。执行时是从数据文件而不是从脚本中读入数据。这种方法最大的好处是可以用同一个脚本允许不同的测试。对数据进行修改,也不必修改执行的脚本。

   使用数据驱动脚本,可以以较小的开销实现较多的测试用例,这可以通过为一个测试脚本指定不同的测试数据文件达到。将数据文件单独列出,选择合适的数据格式和形式,可将用户的注意力集中到数据的维护和测试上。达到简化数据,减少出错的概率的目的。

     数据驱动脚本的优点有:
       1 、可以快速增加类似的测试
       2 、测试者增加新测试不必掌握工具脚本语言的技术
       3 、对第二个及以后类似的测试无额外的维护开销

     数据驱动脚本的缺点有:
       1 、初始建立的开销较大
       2 、需要专业(编程)支持
       3 、必须易于管理

关键字驱动实际上是比较复杂的数据驱动技术的逻辑扩展。将数据文件变成测试用例的描述,用一系列关键字指定要执行的任务。在关键字驱动技术中,假设测试者具有某些被测系统的知识,所以不必告诉测试者如何进行详细的动作,只是说明测试用例做什么,而不是如何做。这样在脚本中使用的是说明性方法和描述性方法。描述性方法将被测软件的知识建立在测试自动化环境中,这种知识包含在支持脚本中。

     例如,为完成在网页浏览时输入网址,一般的脚本需要说明在某某窗口的某某控件中输入什么字符;而在关键字驱动脚本中,可以直接是在地址栏中输入网址什么什么;甚至更简单,仅说明输入网址什么什么。

     关键字驱动脚本的数量不随测试用例的数量变化,而仅随软件规模而增加。这种脚本还可以实现跨平台的用例共享,只需要更改支持脚本即可。

上一篇:测试人员与开发人员的比例究竟多少是合理的?
下一篇:获取键盘按键的Javascript代码(兼容IE、Firefox)
   
测试脚本之一:线性脚本 测试脚本之一:线性脚本
当应用程序发生更改时如何维护QTP测试脚本 当应用程序发生更改时如何维护QTP测试脚本
 

在线报名

  • 姓       名:*
  • 高考成绩:*
  • 电       话:*
  • 地       址:*
 
课程咨询
 

 
中博教育客服在线
 
©南京北大青鸟 隐私政策
学费咨询
学历咨询
专业咨询
订座试听
就业咨询
课程咨询
测试认证
软件认证