4、测试设计
1)流程简述
* 手工测试组确定测试的对象,编制《 [ 项目名称 ]- 场景列表》文档; 注:该文档可以升级为《 [ 项目名称 ]- 场景概要设计》文档
* 输出物 = 《 [ 项目名称 ]- 场景列表》 / 《 [ 项目名称 ]- 场景概要设计》
* 手工测试组根据测试列表文档中列出的测试对象编制相应的《 [ 项目名称 ]-[ 场景名称 ] 》文档(该文档用于描述用户进行业务操作的实际过程);
* 输出物 = 《 [ 项目名称 ]-[ 场景名称 ] 》
* 手工测试组根据《 [ 项目名称 ]-[ 场景名称 ] 》文档编制《 [ 项目名称 ]-[ 场景名称 ]- 数据库表操作情形》文档(该文档用于描述用户进行业务操作时,系统前台程序是如何与数据库交互的);
* 输出物 = 《 [ 项目名称 ]-[ 场景名称 ]- 数据库表操作情形》
* 自动化测试组根据《 [ 项目名称 ]- 场景列表》等测试需求文档进行自动化测试的概要设计,包括自动化测试的功能架构,如何覆盖相应的手工测试组的需求。
* 输出物 = 《 [ 项目名称 ]- 自动化测试 - 概要设计》
* 自动化测试组根据《 [ 项目名称 ]- 自动化测试 - 概要设计》文档,参照《 [ 项目名称 ]-[ 场景名称 ] 》和《 [ 项目名称 ]-[ 场景名称 ]- 数据库表操作情形》进行自动化测试的详细设计。详细设计内容包括两个部分,第一个部分是测试流程的详细设计,在这个详细设计中包括的是该场景的整个自动化测试过程是如何划分步骤的,每个步骤由什么样的用例来实现,流程的数据驱动如何实现等宏观的描述。第二个部分是场景中单个用例的详细设计,包括在界面的什么地方输入什么数据,点击界面的什么元素进行浏览、修改、提交等动作,用例自身的数据驱动实现等微观的描述。
* 输出物 1 = 《 [ 项目名称 ]- 自动化测试 -[ 场景名称 ]- 详细设计》
* 输出物 2 = 《 [ 项目名称 ]- 自动化测试 -[ 场景名称 ]-[ 用例名称 ]- 详细设计》
* 自动化测试组根据两个输出物使用工具软件录制自动化测试脚本并进行编辑修改,按照详细设计规范进行命名,存储,版本管理等;
* 输出物 = 自动化测试脚本;数据存储源;配置文件;自动化测试运行包等
* 自动化测试组将完成的自动化测试运行包移交给手工测试组,附带工具环境,自动化测试运行包,使用说明等;
* 输出物 = 自动化测试运行系统
* 手工测试组使用自动化测试运行包进行部分版本测试。并编制测试报告。
* 输出物 = 《 [ 项目名称 ]- 自动化测试报告》
2)手工测试组设计内容
* 《 [ 项目名称 ]- 场景列表》
** 又名《 [ 项目名称 ]_ 场景概要设计》
** 说明 – 场景当前仅指功能流程,即将要被用来进行自动测试的包括系统的哪些使用流程。例如,
** 流程 1 – 新增用户组 -> 新增用户 -> 用户分组 -> 用户登陆
** 流程 2 – 开业登记 -> 税种登记 -> 变更
** 文档名称:《 CTAIS_ 场景列表 .doc 》
** 文档路径: $/ 工作库 /1 测试项目 /CTAIS/ 自动测试 / 测试需求 / 概要设计
* 《 [ 项目名称 ]_[ 场景名称 ] 》
?????????????????????????? ** 说明 – 场景文档包括了要完成一个业务流程需要走的步骤,用到的数据等信息。由手工测试组测试工程师编写。格式样例:
* 《 [ 项目名称 ]_[ 场景名称 ]_ 数据库表操作情形》
** 说明 – 数据库表操作情形指的是在用户使用前台界面进行业务操作的整个过程中,前台程序与数据库的交互内容,包括前台界面初始化时从哪些数据库表中 SELECT 数据,提交数据时向哪些数据库表中 INSERT 数据,修改数据时向哪些数据库表中 UPDATE 数据,删除数据时从哪些数据库表中 DELETE 数据。
3)自动化测试组设计内容
* 《 [ 项目名称 ]_ZD_ 概要设计》
** 在概要设计文档中,应该描述整体的项目自动化框架,即包括自动化整体设计,自动化覆盖的业务场景范围,自动化场景的组织方式,自动化的运行方式等。
* 《 [ 项目名称 ]_ZD_ 用例设计文档索引》
** 说明:用例设计文档索引是将所有已经设计完成的用例详细设计文档进行统一存放,供涉及人员进行宏观查询。
* 《 [ 项目名称 ]_ZD_ 自动化测试使用说明书》
** 说明:本文档中存放了整个自动化测试系统如何运行,每个场景的主脚本运行时需要配置哪些数据等说明性的用户指南内容。
** 输出过程 1 :每个场景编写时,在测试运行包的部分中说明了该场景的所有用例运行顺序,运行方式,及相关信息
** 输出过程 2 :自动化测试负责人组织人力将每个场景中的运行说明进行汇总,编辑,编制成使用说明书。
* 《 [ 项目名称 ]_ZD_[ 场景名称 ]- 详细设计》
** 说明 – 测试过程的设计指的是将场景转化为自动测试流程元素表达的形式。同时,设计中应该包括自动测试流程元素的重用设计。
* 《 [ 项目名称 ]_ZD_[ 场景名称 ]_ 详细设计》
** 自动测试流程元素包括:
** • SUITE :测试脚本运行包
** 命名方法: suite_ 场景名称
** • 主脚本:测试过程整体运行的脚本
** 命名方法: main_ 场景名称
** • 系统登陆脚本:包括启动被测软件程序,输入用户名和密码,进入系统主界面
** 命名方法: login_ 登陆用户类型
** • 导航脚本:包括进入系统各个子系统或者模块的导航脚本。
** 例如:系统主界面包括“税务登记”、“认定管理”、“税收证明”、“文书审批”、“违章执行”、“查询统计”、“数据维护”、“系统”八个一级菜单,在“税务登记”中包括“开业登记”、“变更登记”、“停复业登记”、“注销登记”、“验换证管理”、“非正常户管理”六个二级菜单,在“开业登记”中包括“内资企业开业”、“外商投资企业开业”、“企业分支机构开业”等三级菜单。
** 这时,导航自动脚本中应该包含在主界面导航到各个三级菜单的脚本内容。
** 命名方法: nav_ 脚本名称
** • 自动化测试脚本:每一个自动化测试脚本代表一个测试用例的操作过程。同时,自动化测试脚本的执行序列最后处有一个原则,要将测试状态恢复至导航状态。例如,进行开业登记的自动化测试,导航脚本导航至开业登记的界面,自动化测试脚本开始填写开业信息,并提交内容,最后需要退出界面或者回到上一级界面,使任何一个导航脚本都能继续进行导航操作。
** 命名方法: case_ 脚本名称
** • 数据文件:存储使自动测试过程能重复运行的数据。
** 类型 1 : Datapool , Testmanager 的功能之一,一种数据库,可以存储设计好的数据供测试脚本调用。但是不能在脚本中进行更新。
** 类型 2 :配置文件,一般使用文本文档。
** 类型 3 :数据源文件,一般使用 EXCEL 文档,作用是向 DATAPOOL 提供设计好的运行数据。
* 《 Case_[ 场景名称 ]_[ 用例名称 ]_[ 编号 ] 》
** 说明 – 一个场景的自动化设计文档包括的是业务流程的整体步骤规划,但不包括详细的步骤内容和步骤数据。这些都是在具体的用例设计中实现的。用例指的是进行一个功能的操作的整个过程的描述。
** 命名方法:用例设计文档以场景自动化设计文档中的脚本命名为依据,例如: case_ 添加系统用户 _ 用户分组 _1.doc
** 设计原则:用例的设计以能进行顺利的自动化测试脚本录制为原则,亦即设计中必须详细的说明点击什么按钮,在哪个输入框中输入什么数据等等。