功能测试教案第9章参数化.docx
《功能测试教案第9章参数化.docx》由会员分享,可在线阅读,更多相关《功能测试教案第9章参数化.docx(11页珍藏版)》请在冰豆网上搜索。
![功能测试教案第9章参数化.docx](https://file1.bdocx.com/fileroot1/2023-2/2/fcba5fe8-99fd-4bf1-8df1-81404349a361/fcba5fe8-99fd-4bf1-8df1-81404349a3611.gif)
功能测试教案第9章参数化
《软件功能测试及工具应用》教案
第[9]章[参数化]
授课教师:
XXX
课时:
2小时
●本章主要目的
⏹掌握参数化的基本概念
⏹掌握参数化类型
⏹了解参数化测试的基本过程
⏹掌握数据驱动参数化的基本原理
●本章重点
⏹掌握参数化的基本原理
1.回顾上一章:
[10分钟]
上一章讲解了检查点,检查点是可以验证被测应用的功能是否达到预期的一种描述,是将指定属性的当前值与该属性的期望值进行比较的验证点,检查点又分为标准检查点、文本检查点、位图检查点、数据库检查点、可访问检查点、xml检查点、自定义检查点。
2.课程知识点讲解:
2.1.9.1初识参数化[23分钟]
通过参数化的方式,从外部数据源或数据产生器读取测试数据,从而扩大测试的覆盖面,提高测试的灵活性
在UFT中,可以使用多种方式来对测试脚本进行参数化,数据表参数化是一种重要的方式,还有环境变量参数化、随机数参数化等
2.1.1.在UFT中有四种类型的参数:
测试、操作或组件参数:
通过它可以使用从测试或组件中传递的值,或者来自测试中的其他操作的值
数据表参数:
通过它可以创建使用您所提供的数据多次运行的数据驱动的测试(或操作)。
在每次重复(或循环)中,UFT均使用数据表中不同的值
环境变量参数:
通过它可以在运行会话期间使用来自其他来源的变量值
随机数字参数:
通过它可以插入随机数字作为测试或组件的值
2.2.参数化测试步骤
把测试步骤中的数据进行参数化
例如:
航班日期、航班始点和终点等信息
编辑数据表格
在表格中编辑多行测试数据
设置迭代次数
选择数据行,运行测试脚本每次迭代从中选择一行数据
2.2.1.把测试步骤中的数据进行参数化
例如:
航班日期、航班始点和终点等信息
编辑数据表格
在表格中编辑多行测试数据
设置迭代次数
选择数据行,运行测试脚本每次迭代从中选择一行数据
2.3.同步点
•如果不希望UFT在应用程序中的对象达到某种状态前执行某个步骤或检查点,则应该插入一个同步点,指示UFT暂停测试或组件,直至对象属性达到指定值(或者直至超过指定的超时时间)。
•通过创建数据表参数来为参数提供可能的值列表
•通过数据表参数可以使用您所提供的数据,创建多次运行的数据驱动测试、组件或操作
•在每次重复(或循环)中,UFT均使用数据表中不同的值
•识别虚拟指示
•在一个同步步骤中使用的虚拟指示包含:
•进程栏达到了100%的完成
•出现了一个状态信息
•一个按钮变成不可用
•出现了一个窗口并且是为数据输入准备的
•将出现一个弹出信息框来响应一个操作
2.4.问题
1.Whatisthefunctionofasynchronizationpoint?
•a)Toupdatetestdata.
•b)Toprovidemoretimeforanobjecttoprocessbeforemovingtothenextstepinatest.
•c)Tosetanenvironmentvariableforanobject.
Answer:
b
2.Considerascenariowherethesynchronizationtimeoutissetto10secondsandtheglobaltimeoutissetto20seconds.Theactualtimetakenfortheobjecttobevisibleis25seconds.WhatisthemaximumtimeQuickTestwillwaitforsynchronizationtotakeplace?
•a)20seconds
•b)25seconds
•c)10seconds
•d)30seconds
Answer:
d
2.5.参数化类型方法:
[23分钟]
2.5.1.参数化检查点
设置数据表参数选项
当选择“数据表”作为参数类型时,可以通过“参数选项”对话框将参数配置为使用数据表中的值
“值配置选项”对话框的“参数”部分与“参数选项”对话框非常相似
定义数据表参数的设置
名称:
指定数据表中参数的名称
通过使用默认参数名或输入新的描述性名称来新建参数
从列表中选择一个现有的数据表参数
参数名在工作表中必须唯一
数据表中的位置:
指定是否在数据表的全局表或当前操作表中存储该参数全局表
当前操作工作表(本地)
选择全局参数
–使用组件时,只有一种类型的数据表工作表和一种类型的数据表参数
–全局数据表参数从数据表的全局表中获取数据
–全局表包含在测试的每次循环中替换全局参数的数据
–默认情况下,测试将对数据表的全局表中的每一行运行一次循环
–可在任一操作中使用全局数据表中定义的参数
–选择操作数据表参数
–操作表中的数据将在操作的每次循环中替换操作的参数
–默认情况下,操作只运行一次循环
–运行参数化测试后,可在测试结果运行时数据表中查看从数据表中获取的实际值
–
2.5.2.Action测试输入的参数化
•编辑Action的属性:
如:
flight系统中登录模块是所有程序必须走的,所以我们要把他作为可重用的Action、
选择Action所在的行,然后单击鼠标右键,选择ActionPropertes则出现如下图,然后在name处输入新Action的名称,如:
把login-Action,在“Description”中输入Action的描述信息,将”reusableaction”的复选框勾上,表示action是可重用的测试步骤,可以被其他action调用,
•添加Action的输入参数:
添加调用action需要输入的参数名和类型,添加完参数后,回到关键字视图,选择agentname所在的测试步骤,单击value列的单元格旁边的“《#》”按钮,在Parameter中选择test/actionparameter,然后选择刚才编辑好的参数“agentname”单击“ok”按钮,重复这个步骤,为password测试步骤也设置好参数。
•调用Action:
完成参数化后,就可以在其他action中调用这个action,方法是在action的测试步骤中,选择“Design|calltoexistiongaction”插入现有的action。
在这个界面的fromtest中选择“《currenttest》”在“action”中选择“login—action”单击“ok”按钮后,即可插入对“login-action”测试步骤引用。
选择“login-action”所在的行,单击鼠标右键,选择菜单“actioncallproperties”切换到Parametertab,然后在“value”列可以为每一个参数设置输入参数值,也可以单击“value”列旁边的“《#》”按钮,为输入绑定到datatable中的数据
2.5.3.环境变量参数化
在uft里有两种类型的环境变量:
1、user-defined,用户定义的环境变量又可以分为用户定义的内部环境变量和外部环境变量。
2、build-in内置环境变量:
表示有关测试和运行测试的计算机的信息的变量,例如测试路径和操作系统
使用环境变量的方法如下:
1、定义和设置用户自定义环境变量,使用环境变量之前,需要定义好环境变量。
2、在测试步骤中绑定环境变量值,定义好环境变量并设置好其值之后,就可以在测试步骤中使用该环境变量。
3、导出环境变量到XML文件
4、导入外部环境变量的文件
使用build-in环境变量:
UFT提供了一组内置变量,通过这组变量可以使用有关测试和运行测试的UFT计算机的当前信息。
其中可以包括测试名、测试路径、操作系统类型和版本以及本地主机名。
•随机数参数化
–当选择“随机数字”作为参数类型时,可以通过“参数选项”对话框将参数配置为使用随机数字
–HP标准课件P23
–当选择“随机数字”作为参数类型时,可以通过“参数选项”对话框将参数配置为使用随机数字
–“值配置选项”对话框的“参数”部分与“参数选项”对话框非常相似
–数字范围-指定用于生成随机数字的范围。
默认情况下,随机数字范围介于0和100之间。
可通过在“从”和“到”框中输入不同的值来修改此范围。
该范围必须介于0和2147493647(包含)之间。
–名称-指定参数的名称。
通过为随机参数指定名称可以在测试中多次使用同一个参数。
可以选择现有的命名参数,或者通过输入新的描述性名称来新建命名参数
–生成新随机数字-定义命名随机参数的生成计时
–为每次操作循环-在每次操作循环结束时生成一个新数字。
–为每次测试循环-在每次全局循环结束时生成一个新数字。
–为整个测试运行生成一次-第一次使用参数时生成一个新数字。
在整个测试运行中,对参数使用同一个数字。
2.6.使用数据驱动器进行参数化测试[23分钟]
•一个数据驱动测试运行一组有多重输入值的用户操作
为了简化测试脚本参数化的过程,UFT还提供了名为“DataDriver”的功能,可自动检测脚本中可能需要进行参数化的变量
一个数据驱动测试运行一组有多重输入值的用户操作
为每一组数据集改变或者新建一个脚本
在测试中使用参数
数据驱动器的使用方法:
DataDriver对话框中显示了一个action中所有默认的常量。
其显示了每一个常量值在action中出现的次数。
数据驱动器能让你快速地参数化一个指定的action中的测试对象、检查点、包含相同常量值的方法的某些(或全部)属性值
数据驱动向导:
选择Parameterizeall方法,可以自由选择参数化方法,并自由设置参数化相关的选项
●知识点讲解1
/*范例名称:
实型变量精度的示例
*源文件名称:
example02_02.cpp
*要点:
1.
2.
例题内容:
案例讲解:
老师提问:
问题1:
问题2:
●……
●知识点讲解n
3.本章总结[10分钟]
•本章主要介绍了参数化的概念及参数化的方法,包括参数化检查点,数据表参数化,环境变量参数化和随机数参数化。
并介绍了同步点的知识。
对数据驱动器有了认识。
4.考核点
考核点1:
考核点2:
5.测试题
测试题1:
设置同步点的好处是什么?
如果不希望uft在应用程序中的对象达到某种状态前执行某个步骤或检查点,则应该插入一个同步点。
测试题2:
参数化的好处?
通过参数化的方式,从外部数据源或数据生产器读取测试数据,从而扩大测试的覆盖面,提高测试的灵活性。
6.扩展部分
扩展部分1:
扩展部分2:
7.学员问题汇总
学员问题1:
学员问题2:
8.作业
习题2:
只能在录制时插入一个输出参数么?
答案:
不是
习题3:
怎样设置一个灵活的检查点?
A.使用对象库对话框
B.创建并插入正则表达式
C.使用design-timeDATATABLE创建输入参数
D.B和C
答案:
D