WEB自动化测试软件QuickTester使用手册——基本概念

第二章QuickTester基本概念
2.1前言
1)本章将QuickTester中涉及到的一些基本概念进行介绍,了解QuickTester管理一个测试过程的方法以及对应的术语描述。

2)在建立一个测试用例以前,测试人员应该规划好被测试的软件包含的测试流,按照软件功能模块对测试流进行规划和划分,每个测试流中,需要按照软件的操作步骤对测试步骤进行划分,确定每个操作步骤涉及的测试对象以及操作对象的方法,从而完成一个产品的测试准备工作。

3)本章包括以下内容:
测试用例、测试流和测试模块对象、对象侦测器和对象库

2.2测试用例
1)QuickTester在管理整个软件测试过程中,采用“测试用例——测试流——测试模块”的层级来进行一个测试活动的管理工作。通过分层的管理方式,帮助测试人员将一个软件测试活动分解到软件执行的一个具体操作,并通过对每个具体软件操作的执行获得软件整体测试报告,从而得到一个软件产品进行整体的测试评估。

2)测试用例是指一个测试活动的整体描述,包括测试流、测试模块、数据以及结果等内容。测试用例包括的内容,请参考:

测试流以及测试脚本: 一个测试用例由1个或多个测试流组成,每个测试流由1个或多个测试模块组成,每个测试模块允许包含一个测试脚本,每个测试脚本包括对测试对象的执行方法控制。

测试数据: 用于测试阶段中间输入的参数,或者用于测试结果对比数据,保存在测试模块里,测试数据可以由测试脚本获得。

测试对象集合: 每个测试步骤都包含一个测试对象集合。测试对象保存在测试模块里,加载测试步骤的时候同时加载测试对象集合

测试结果和报告: QT对每次执行测试场景或步骤的脚本可以生成测试报告。

测试截图和测试日志: 测试过程中,通过脚本对测试对象进行截图操作,测试计划中包括截图文件;在捕获对象时,也会对捕获对象进行截图,用于后续对比,可以通过报告查看截图帮助软件开发人员定位BUG原因。

2.3测试流和测试模块
1)测试流是测试用例的进一步细分。通常按照功能模块对每一个软件产品进行测试流的定义,按照功能点来定义测试模块,按照操作步骤来定义测试的执行脚本。

2)软件产品中,功能模块,功能点,操作步骤与QuickTester中测试概念中的测试流,测试模块,脚本有着对应关系,通过测试流实现对软件产品的一个功能模块进行仿真与功能测试,测试流分解可以为多个测试模块,通过脚本定义来实现具体的测试模块,满足测试流的要求。请参考下图:
WEB自动化测试软件QuickTester使用手册——基本概念
图1QT测试流与测试模块与软件产品对应关系

3)在QuickTester的测试用例定义流程中,确定好测试用例以后,需要开始逐个定义软件产品的测试流。QuickTester中,测试流的定义是为了满足一个具体的软件产品功能模块,而产品的功能模块是一系列功能点的集合,对应的QuickTester中每个测试流分解为了多个测试模块,每个功能点由多个操作步骤组成,而在QuickTester中,每个测试模块对应一个执行脚本,通过操作步骤的执行,达到软件某个具体功能点的测试效果。操作步骤的定义,是为了完成某个功能点而分解成为具体的操作,对应到QuickTester中,即是脚本的内容。

例如:在一个电子邮件产品测试过程中,包含了一个“发送邮件”的功能模块,而发送邮件的功能模块可以分为几个功能点:
登录——创建发送邮件——退出系统
进一步细分,登录这个功能点,可以分解为以下操作,请参考下:
测试流: 电子邮件产品——发送邮件功能模块

测试模块: 登录、创建及发送邮件、退出系统

步骤: 输入用户名、输入密码、点击登录按钮、点击新建邮件按钮、输入主题、输入邮件内容、输入收件人地址、点击发送按钮、确认发送成功、点击退出登录按钮、确认退出成功

在QuickTester中,将上述电子邮件产品的发送邮件功能模块进行划分,可以分解为:
测试用例、——邮箱V1.0
测试流——发送邮件的整个过程
测试模块:
登录、创建及发送邮件、退出系统

2.4对象,对象侦测器和对象库
1) 对象,是QuickTester中操作的基本元素,代表软件产品中基本的UI组件,在WEB应用中,一个菜单,按钮,图形热点,标签,输入框等等都是典型的QuickTester对象。通过多种属性的组合可以定义一个对象,同样在测试环境中,通过一组属性可以唯一定义一个对象,QuickTester通过对象属性在测试环境中定位一个操作的基本元素。任何一个测试脚本语句,都是以一个操作对象为基础,通过对操作对象测行为控制,形成测试脚本。

2) 对象库是用于储存被测应用程序界面对象(界面元素)的地方。QuickTester通过对象库对测试程序的元素进行管理,建立测试脚本时,将测试人员需要操作的对象信息保存到对象库中。

3)QuickTester将对象都保存在对象库,这样对象可以被集中管理。测试脚本(一个或多个)可以根据自身也许需求随意调用这些对象来使用,减少冗余。任何需要操作的对象都需要先添加到对象库中,之后才能执行操作。

4)QuickTester采用对象库的方式对测试环境中的对象进行统一管理,并按照归属层级关系进行树状的排列。

5)对象侦测器是QuickTester中用来捕获对象的操作界面,通过对象侦测器,可以把要测试的软件产品中的待测对象进行捕获操作,获得要操作对象的相关识别属性,通过识别属性对对象进行唯一定义。

6)QuickTester中WEB对象侦测器——用于捕获WEB浏览器中的对象,应用于基于浏览器的WEB程序的测试对象捕获操作。