2023年11月27日发(作者:)
TC测试脚本规范
1 命名统一规范:所有命名必须使用英文
2 TC的参数设置
2.1 Tools->Option的设置
2.1.1 Engines->General
Debug and Display properties
Images:保存图像设置为PNG
Display an error message
2.1.2 Engines->Name Mapping
设置为不自动设置Objects的NameMapping
2.1.3 Source Control
2.2 Project->Propertires:Project的属性设置
2.3 Project->Play Back:Project的回放等属性设置
3 NameMapping
3.1 不自动增加NameMapping
3.2 NameMapping增加流程
3.2.1 手工操作程序
3.2.2 在需要把程序对象加入到NameMapping时,在ObjectBrower中找到相关对
象(可以使用对象探测器查找定位),然后加入到NameMapping。
3.2.3 除服务器管理工具外,每个Projcet的NameMapping,前2层必须是
_
3.2.4 Objects加入到NameMappings时,如果有Caption这类属性时,尽量使用通
配符。比如导航台的Caption,就修改可以为“*中联*”
3.2.5 文本框(txtedit)的识别属性使用wndclass和name这2个属性。
3.2.6 Namemapping中,Aliases中第一级分为
BaseData:导航台、部门管理这些模块对象在它下级
Material:物资目录、物资外购入库等在它下级
3.2.7
4 Project Suite组成
4.1 一个被测试业务系统是一个Project Suite,系统名称+AutoTest组成。比如
MaterialAutoTest
4.2 一个业务系统中,一般根据模块或者是业务来划分Project。比如物资系统中,外
购入库中模块就划分为一个Project
4.3 每个业务系统包括一个初始化的过程,比如Materia_lInit。
完成测试前需要准备好的基础数据设置
创建测试执行集的数据连接
填写或者是增加测试执行集。
4.4 每个业务系统包括一个执行完成的过程,比如Material_Finsh。
完成测试前需要准备好的基础数据设置
创建测试执行集的数据连接
填写或者是增加测试执行集
4.5 ZLBASE为基础函数Project,必须加入到每一个Project Suite中。
4.6 ToolsProject为服务器管理工具的测试Project,必须加入到每一个Project Suite中。
4.7 ZLBASE和ToolsProject修改维护时,必须单独进行,不在业务系统的Project Suite
中直接编辑。
4.8 ZLBASE和ToolsProject中只包括NameMapping、Script和TestApps
4.9 业务系统
4.10 Project Suite的变量
4.10.1 Persisten Variables
ORAConn:Oracle数据库的连接串
InitOver:数据初始化是否完成了
CaseID=0,CurTCaseInfo列表变量中的列号
CaseName=1
CaseType=2
CaseUserName=3
CaseStandTime=4
CaseBeforeID=5
4.10.2 Temporary Variables
cmdHIS:HIS数据库的ADOCMD连接,Object类型
CmdRunResult:测试执行集的数据连接,Object
TestRunID:当前执行的测试集ID,一个测试集相当于一次完整的测试,从
数据初始开始
所有用例都要执行一次。
有些用例在测试集中,只执行一次,比如基础数据初始用例。
有些用例可能要多次执行(出现错误后,回归测试)
一次产品发布时,可能执行多次测试集。
在测试开始执行事件中,获取这个执行集ID
执行过程中,更新这个执行集的信息。
执行集的管理在BH中构建功能完成。
UserName、PassWord、DataBase:产品登录的项目
PrjLogFolder:Project的Log目录ID。
TCaseLogFolder:脚本的Log目录ID。
CurTCaseID:当前执行的用例ID
CurTCaseInfo:table类型,包括下列列
CaseID:用例ID
CaseName:用例名称
CaseType:用例类型
CaseUserName:用例执行用户名
CaseStandTime:用例标准时间
CaseBeforeID:前置用例ID
Project组成 5
5.1 只包括下列Item
5.1.1 NameMapping
5.1.2 Events
5.1.3 Script
5.1.4 Stores
DBTables
Files
Objects
Regions
Tables
5.2 Scritp目录
5.2.1 基础脚本:该系统测试的基础性脚本,系统名_Base命名,比如Material_Base
5.2.2 BaseScript:目录,加入引用的ZLBASE的脚本
Login
ComLib
5.2.3 业务目录:根据测试脚本情况划分的目录,比如PurchaseCard就是外购入库
单项目目录
5.2.4 测试用例脚本:完成一个或者是多个测试用例执行的脚本。使用动词(副词)
_名词来命名。比如AddNew_InputCard,录入物资外购入库单据的测试用例
5.3 Project 的变量
5.3.1 Persisten Variables
PrjName:Project的名字,系统_Project名称,比如:Material_Purchase。
5.3.2 Temporary Variables
6 Project的事件设置
6.1 Project中必须包括Events项目
6.2 Events中,目前只需要缺省的GeneralEvents就可以了
6.3 OnLogError:设置为指向ComLib脚本
在GeneralEvents_OnLogError事件中,对出现的错误进行统一的处理。包括
屏幕截图
在测试用例执行表中记录失败
如果是基础数据测试用例
发送邮件给自动测试组
这些用例错误对后续执行影响很大,停止整个测试执行。
非基础数据测试用例:停止当前测试执行, CurrentTestOnly
,
终止当前测试后续语句的执行
OnStartTest:设置为指向业务系统的基础脚本 6.4
在GeneralEvents_OnStartTest事件中,进行一基础处理
获取当前需要执行的测试集ID,当前只有一个测试集在执行。
创建HIS的数据库连接
注:如果是通过Organize组织多个用例执行时,有多次Start
过程函数规范 7
7.1 基础规范参考“编码规范2005”
7.2 脚本引用规范
在脚本前几行加入引用脚本名称,下列为必须加入
‘USEUNIT LOGIN
‘USEUNIT ComLib
‘USEUNIT ToolsLogin
7.3 命名规范
如果是执行测试用例的过程,必须命名为:TC_用例名称,用例名称动词(副
词)+名称
其它过程/函数使用“动词(副词)+名词”进行命名组合,动词和名词通常
采用含义明确的英文单词缩写(缩写尽量符合常规,避免使用含义混淆的词
汇)
7.4
测试用例过程注释规范
'------------------------------------------------
‘测试功能点:列出该函数或者是过程的测试功能点
'主要测试思路:描述完成测试用例的主要测试思路
‘执行用户:该用例需要什么用户执行
‘标准时间:该用例的标准执行时间
‘初始环境说明:该用例需要的初始环境特别说明
'------------------------------------------------
7.5
非测试用例函数注释规范
'------------------------------------------------
' '参数:调用该函数的参数以及含义
'返回:函数返回值的多少,以及各值的含义
'上级函数或过程:有必要的时候列出调用该函数的主要函数或过程
'下级函数或过程:有必要的时候列出被本程序调用的主要函数或过程
'------------------------------------------------
7.6 脚本内容注释
8 测试用例过程标准结构
按脚本逻辑,适当增加说明注释
‘说明注释
正式启用后,如果有修改,增加修改注释
‘修改注释
‘修改原因,修改者,修改时间
配合注释,适当使用OutlLining,增加脚本的可读性
8.1
On error resume next,第一行屏蔽错误
8.2
设置Log的目录
ogFolder=folder(TCaseName,,,,PrjLogFolder)
8.3 获取用例信息GetTCaseInfo
8.4 检查是否有前置用例,以及前置用例是否执行成功。
8.5 用例初始环境检查和准备段
从用例表中获取用例的信息,填充到CurTCaseInfo列表类型变量中。
9
8.5.1 如果是权限用例,先完成权限设置。
8.5.2 需要重新登录(不管前面用例是否登录)
登录产品
打用户执行需要的模块。
8.5.3 不需要重新登录(同一模块,或者是同一功能点的连续测试)
检查导航台是否成功启动,未启动就重新启动
检查初始模块是否成功打开,未成功打开就重新打开
8.5.4 如果是涉及系统参数,必须退出模块后,重新打开。
8.5.5 如果是涉及权限的测试,必须退出后重新进入。
8.6 功能点的测试
8.7 检查Err是否有错误,有就调用方法
8.8 完成测试用例,填写执行信息
8.9 恢复log目录为顶级.
Log.PopLogFolder
测试项目规范
9.1 每个Project至少设置一个项目,ZLBASE这类没有直接执行项目的,设置一个
OnlyForRun的空过程。
9.2
测试项目是指在Organize Tests中定义的测试执行项目
9.3
一个测试项目就是一个测试用例,也就是脚本的中一个过程。
9.4
测试项目的执行顺序
9.4.1
业务系统数据初始化用例
9.4.2
其他用例根据测试思路和业务逻辑
一个业务系统的执行项目树 9.5
9.5.1 Material_InitGrup:业务系统的数据初始
9.5.1.1 Material_Init_1
9.5.1.2 Material_Init_2
9.5.1.3 ….
9.5.2 Material_Test_PurchaseGroup:外购入库功能点测试目录
9.5.2.1 Purchase_AddNew_1
9.5.2.2 Purchase_AddNew_2
9.5.2.3 …
9.5.3 Material_Finish
10 脚本中错误处理的规范
10.1 函数中的错误处理
10.1.1 函数中全部加上On Error Resume Next
10.1.2 函数出口处,判断是否出现Err错误,如果出现,就通过g抛出一
个警告。
10.2 测试用例过程中错误处理
10.2.1 全部加上On Error Resume Next
10.2.2 功能点验证中,出现错误,,就通过抛出一个错误。
10.2.3 过程出口处,判断是否出现Err错误,如果出现,就通过抛出一个
错误。
10.3 在OnLogError事件中处理错误
True
10.4 通过Organize组织选择的测试用例中Stop on erro设置规则
10.4.1 单独执行的用例项目,设置“none”
10.4.2 有上下级的用例项目,上级项目为“Test Item”,上级项目执行有错误后,下
级项目就不会被执行了。
10.4.3
10.5 和g参数
Log.Error(Str, StrEx, Priority, Attr, Picture, FolderID)
10.5.1 Str:错误名称,通过名称,能够清楚是什么类型的错误
功能点错误,比如“功能错误:供应商无法输入简码”
其它错误,比如“脚本代码错误:错误号”+
aqConvert.VarToStr
(
10.5.2 StrEx:错误详细信息
功能点错误,描述具体的错误信息,比如“预计合计金额为1000,实际合计
金额为1000.01”
其它错误,ption的内容
10.5.3 Priority:优先级
功能点错误为:400
其他错误为:500
10.5.4 Picture:错误的图像,当前桌面的图像 e
10.5.5 FolderID:一般不填写,产生在当前目录下


发布评论