实验四 场景拆分与用例设计
软件测试--场景拆分与用例设计
实验四 场景拆分与用例设计
一、实验目的
(1)理解场景和用例的概念,理解二者的差别和联系。
(2)掌握黑盒测试场景拆分方法,完成场景设计。
(3)设计测试用例,完成测试用例的编写。
(4)在 TC 下创建用例树。
二、实验环境
(1)Windows操作系统
(2)测试管理工具TestCenter
(3)被测系统案例CRM
三、实验内容
(1)测试场景拆分。
(2)分别使用及综合使用边界值、等价类、错误猜测及因果图等方法设计测试用例,其中包括边界值定义、等价类的划分,画因果图。
(3)生成用例树。
四、实验步骤
(一)测试场景拆分
在《实验三 测试需求挖掘与管理》中,我们详细地构建了需求树,创建了需求文档,可以看到被测系统案例CRM主要分为六大测试需求,它们分别是:六个模块的正确显示、系统桌面管理、系统管理、销售机会管理、指派销售机会管理、定制客户开发计划、执行开发计划和客户信息管理。每个测试模块下都有多个功能点,我们可以根据这些功能点进行测试场景的拆分。
表4-1 “系统桌面”测试场景拆分 | ||||||
软件需求标识 | 场景标识 | 场景步骤设计 | 场景数据设计 | 前提 |
| |
数据名 | 数据值 |
| ||||
NA 登录功能 | 1.1 登录功能 | 1.输入用户名 | 用户名 | username | 无 |
|
2.输入密码 | 密码 | 123456 |
| |||
3.登录 | 无 | 无 |
| |||
NA 修改密码 | 1.2 修改密码 | 1.输入原始密码 | 原始密码 | 123456 | 用户已登录 |
|
2.新密码 | 新密码 | 654321 |
| |||
3.确认新密码 | 确认新密码 | 654321 |
| |||
4.确认修改 | 无 | 无 |
| |||
5.取消修改 | 无 | 无 |
| |||
NA 退出系统 | 1.3 退出系统 | 1.点击“退出系统”按钮 | 无 | 无 | 用户已登录 |
|
表4-2 “系统管理”测试场景拆分 | ||||||
软件需求标识 | 场景标识 | 场景步骤设计 | 场景数据设计 | 前提 |
| |
数据名 | 数据值 |
| ||||
NA 创建用户 | 2.1 创建用户 | 1.输入新的用户名 | 新用户名 | newusername | 已登录的管理员账户 |
|
2.查看默认密码 | 默认密码 | 123456 |
| |||
3.分配用户权限 | 用户权限列表 | [admin,销售经理,市场销售,客户经理] |
| |||
4.创建用户 | 无 | 无 |
| |||
5.取消创建用户 | 无 | 无 |
| |||
NA 分配用户权限 | 2.2 分配用户权限 | 1.选择指定用户 | 无 | 无 | 已登录的管理员账户 |
|
2.选择权限进行分配 | 用户权限列表 | [admin,销售经理,市场销售,客户经理] |
| |||
3.确定分配 | 无 | 无 |
| |||
4.取消分配 | 无 | 无 |
|
表4-3 “销售机会管理”测试场景拆分 | ||||||
软件需求标识 | 场景标识 | 场景步骤设计 | 场景数据设计 | 前提 |
| |
数据名 | 数据值 |
| ||||
3.1.1 新增客户信息 | 3.1 新增客户信息 | 1.输入公司名称 | 公司名称 | company | 已登录的销售经理或市场销售账户 |
|
2.选择申请类型 | 公司类型列表 | [企业,院校,代理] |
| |||
3.输入公司背景 | 公司背景 | 公司背景字符串 |
| |||
4.输入公司地址 | 公司地址 | 公司地址字符串 |
| |||
5.输入主营产品 | 主营产品 | 主营产品字符串 |
| |||
6.输入组织结构 | 组织结构 | 组织结构字符串 |
| |||
7.选择申请信息 | 申请信息列表 | [产品类型,使用目的] |
| |||
8.选择客户状态 | 客户状态列表 | [潜在客户,正式客户,放弃客户,签约客户] |
| |||
9.查看系统日期 | 系统日期 | 系统当前日期 |
| |||
10.查看指派人 | 指派人 | 登录用户的username |
| |||
11.添加用户 | 无 | 无 |
| |||
12.取消添加 | 无 | 无 |
|
续表4-3 “销售机会管理”测试场景拆分 | ||||||
软件需求标识 | 场景标识 | 场景步骤设计 | 场景数据设计 | 前提 |
| |
数据名 | 数据值 |
| ||||
3.1.2 修改客户信息 | 3.2 修改客户信息 | 1.查看公司名称 | 公司名称 | company | 已登录的销售经理或市场销售账户 |
|
2.修改申请类型 | 公司类型列表 | [企业,院校,代理] |
| |||
3.修改公司背景 | 公司背景 | 公司背景字符串 |
| |||
4.修改公司地址 | 公司地址 | 公司地址字符串 |
| |||
5.修改主营产品 | 主营产品 | 主营产品字符串 |
| |||
6.修改组织结构 | 组织结构 | 组织结构字符串 |
| |||
7.修改申请信息 | 申请信息列表 | [产品类型,使用目的] |
| |||
8.修改客户状态 | 客户状态列表 | [潜在客户,正式客户,放弃客户,签约客户] |
| |||
9.确认修改 | 无 | 无 |
| |||
10.取消修改 | 无 | 无 |
|
续表4-3 “销售机会管理”测试场景拆分 | ||||||
软件需求标识 | 场景标识 | 场景步骤设计 | 场景数据设计 | 前提 |
| |
数据名 | 数据值 |
| ||||
3.1.3 删除客户信息 | 3.3 删除客户信息 | 1.选择要删除的客户 | 公司名称 | company | 已登录的销售经理或市场销售账户 |
|
2.选择删除 | 无 | 无 |
| |||
3.取消删除 | 无 | 无 |
| |||
4.确认删除 | 无 | 无 |
| |||
5.取消确认 | 无 | 无 |
| |||
表4-4 “指派销售机会”测试场景拆分 | ||||||
软件需求标识 | 场景标识 | 场景步骤设计 | 场景数据设计 | 前提 |
| |
数据名 | 数据值 |
| ||||
3.2 指派销售机会 | 4.1 指派销售机会 | 1.选择需要重新指派销售机会的客户 | 公司名称 | company | 已登录的客户经理账户 |
|
2.选择销售人员 | 销售人员列表 | [username1,username2,……] |
| |||
3.确认指派销售机会 | 无 | 无 |
| |||
4.取消指派销售机会 | 无 | 无 |
|
表4-5 “定制客户开发计划”测试场景拆分 | ||||||
软件需求标识 | 场景标识 | 场景步骤设计 | 场景数据设计 | 前提 |
| |
数据名 | 数据值 |
| ||||
3.3.1 新增联络 | 5.1 新增联络 | 1.选择客户名称 | 公司名称列表 | [company1,company2,company3] | 已登录的市场销售账户 |
|
2.输入客户姓名 | 客户姓名 | 客户姓名字符串 |
| |||
3.输入客户部门 | 客户部门 | 客户部门字符串 |
| |||
4.输入客户职位 | 客户职位 | 客户职位字符串 |
| |||
5.输入客户电话 | 客户电话 | 1234567890 |
| |||
6.输入客户手机 | 客户手机 | 1234567890 |
| |||
7.输入客户邮箱 | 客户邮箱 |
| ||||
8.输入客户QQ | 客户QQ | 123456789 |
| |||
9.输入客户MSN | 客户MSN | 123456789 |
| |||
10.选择客户技术程度 | 客户技术程度列表 | [不懂,略懂,精通] |
| |||
11.确认新增联络 | 无 | 无 |
| |||
12.取消新增联络 | 无 | 无 |
|
续表4-5 “定制客户开发计划”测试场景拆分 | ||||||
软件需求标识 | 场景标识 | 场景步骤设计 | 场景数据设计 | 前提 |
| |
数据名 | 数据值 |
| ||||
7.2.2 修改联络信息 | 5.2 修改联络信息 | 1.修改客户名称 | 公司名称列表 | [company1,company2,company3] | 已登录的市场销售账户 |
|
2.修改客户姓名 | 客户姓名 | 客户姓名字符串 |
| |||
3.修改客户部门 | 客户部门 | 客户部门字符串 |
| |||
4.修改客户职位 | 客户职位 | 客户职位字符串 |
| |||
5.修改客户电话 | 客户电话 | 1234567890 |
| |||
6.修改客户手机 | 客户手机 | 1234567890 |
| |||
7.修改客户邮箱 | 客户邮箱 |
| ||||
8.修改客户QQ | 客户QQ | 123456789 |
| |||
9.修改客户MSN | 客户MSN | 123456789 |
| |||
10.修改客户技术程度 | 客户技术程度列表 | [不懂,略懂,精通] |
| |||
11.修改联络信息 | 无 | 无 |
| |||
12.取消修改联络信息 | 无 | 无 |
|
续表4-5 “定制客户开发计划”测试场景拆分 | |||||||||||
软件需求标识 | 场景标识 | 场景步骤设计 | 场景数据设计 | 前提 |
| ||||||
数据名 | 数据值 |
| |||||||||
7.2.3 删除联络信息 | 5.3 删除联络信息 | 1.选择客户姓名 | 客户姓名列表 | [customer1,customoer2,……] | 已登录的市场销售账户 |
| |||||
2.选择删除联络信息 | 无 | 无 |
| ||||||||
3.取消删除联络信息 | 无 | 无 |
| ||||||||
4.确认删除联络信息 | 无 | 无 |
| ||||||||
5.取消确认 | 无 | 无 |
| ||||||||
续表4-5 “定制客户开发计划”测试场景拆分 | |||||||||||
软件需求标识 | 场景标识 | 场景步骤设计 | 场景数据设计 | 前提 |
| ||||||
数据名 | 数据值 |
| |||||||||
3.3.2 新增预约 | 5.4 新增预约 | 1.选择客户单位 | 公司名称列表 | [company1,company2,……] | 已登录的市场销售账户 |
| |||||
2.输入标题 | 标题 | 标题字符串 |
| ||||||||
3.输入描述信息 | 描述 | 描述字符串 |
| ||||||||
4.选择预定日期 | 预定日期 | 2022年11月11日 |
| ||||||||
5.新增预约 | 无 | 无 |
| ||||||||
6.取消新增预约 | 无 | 无 |
| ||||||||
续表4-5 “定制客户开发计划”测试场景拆分 | |||||||||||
软件需求标识 | 场景标识 | 场景步骤设计 | 场景数据设计 | 前提 |
| ||||||
数据名 | 数据值 |
| |||||||||
7.3.3 删除预约信息 | 5.5 删除预约信息 | 1.选择预约信息 | 客户单位列表 | [company1,company2,……] | 已登录的销售经理用户 |
| |||||
2.删除预约信息 | 无 | 无 |
| ||||||||
3.取消删除预约信息 | 无 | 无 |
| ||||||||
4.确认删除预约信息 | 无 | 无 |
| ||||||||
5.取消确认 | 无 | 无 |
| ||||||||
表4-6 “执行开发计划”测试场景拆分 | |||||||||||
软件需求标识 | 场景标识 | 场景步骤设计 | 场景数据设计 | 前提 |
| ||||||
数据名 | 数据值 |
| |||||||||
3.3.3.1 新建跟踪 | 6.1 新建跟踪 | 1.选择客户状态 | 客户状态列表 | [潜在客户,正式客户,已签约客户,放弃客户] | 已登录的客户经理或市场销售账户 |
| |||||
2.输入记录信息 | 记录信息 | 记录信息字符串 |
| ||||||||
3.新建跟踪 | 无 | 无 |
| ||||||||
4.取消新建跟踪 | 无 | 无 |
| ||||||||
(二)选择一个需求创建场景
我们以“新增客户信息”为例,在TestCenter中创建场景。
(图4-1 添加场景)
场景添加后,可以双击场景进行场景步骤设计与场景数据设计,内容可以参考《表4-3 “销售机会管理”测试场景拆分》。
(图4-2 场景步骤设计与数据设计)
(三)设计测试用例
(1)等价类与边界值法
= 1 \* roman i新增客户信息场景用例设计
在3.1 新增客户信息场景下,要求已登录的销售经理或市场销售用户必须输入公司的名称,该步骤可以划分出以下等价类。
表4-7 “输入公司名称”等价类划分 | ||
输入等价类 | 有效等价类 | 无效等价类 |
数据类型 | 不包含特殊字符的字符串(1) | 包含特殊字符的字符串(2) |
输入条件 | 不存在同名公司名称(3) | 存在同名公司名称(4) |
公司名称长度范围 | 在0-25之间,前开后闭(5) | 等于0(6) 大于25(7) |
我们可以为每个有效等价类设计测试用例。
表4-8 设计有效等价类测试用例 | ||
测试数据 | 期望结果 | 覆盖范围 |
公司名称 | ||
companytest | 输入有效 | (1)(3)(5) |
companytesttest……(共25个字符) | 输入有效 | (1)(3)(5) |
我们需要为每一个无效等价类至少设计一个测试用例。
表4-9 设计无效等价类测试用例 | ||
测试数据 | 期望结果 | 覆盖范围 |
公司名称 | ||
@com_$% | 程序提示“存在非法字符” | (2) |
comcom……pany | 程序提示“公司名称过长” | (7) |
null | 程序提示“公司名称不能为空” | (6) |
samecompany | 程序提示“该公司名已存在” | (4) |
(2)因果图法
以登录功能为例,在登录有以下原因:1--用户名存在2--用户名与密码匹配。有以下的结果:21--提示“用户名不存在”22--提示“密码错误”23--登录成功 因果图如下:
(图4-3 登录功能因果图)
(四)在TestCenter中创建测试用例
在TestCenter中,我们创建了以下“登录”场景。
(图4-4 登录场景)
创建登录场景后,可以根据之前的用例分析来进行用例数据设计。
(图4-5 用例数据设计)
在用例数据设计完成后,我们需要给每个用例导入场景的步骤信息,并写上预计结果。
(图4-6 导入场景步骤信息)
在TestCenter测试构建→测试用例→用例评审中,添加用例评审人。
(图4-7 添加用例评审人)
在之前的用例设计中,我们选择了登录功能进行了用例设计,我们可以在TestCenter测试构建→测试用例中查看用例树。
(图4-8 查看用例树)
五、结果分析及总结
(1)在实际的测试中,如果没有需求规格说明书等测试需求文档, 测试工程师应从哪些方面了解软件并合理设计测试场景和测试用例来进行测试?
·可以寻找其他文档代替,如开发设计文档。根据开发的设计,将产品按照功能模块迅速便捷地先进行模块划分。
·可以与开发沟通,了解产品的功能模块。
·可以寻找相似项目的需求规格说明书,进行类比分析。
·可以先设计一线简单的场景测试,根据测试的深入再完善测试过程。
(2)在进行静态黑盒测试设计测试用例时,怎么做才能既保证不漏掉又能兼顾不浪费测试用例?
·注重测试需求的提取。
·采用合适的测试用例设计方法(如等价类划分,边界值法,状态图法,判定表驱动法,因果图法等)
·提高软件测试设计质量
·做好回归测试
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)