-
1 电子教材
-
2 PPT
-
3 实训任务
本案例是一个购物中心商业街指南系统。使用方法如下:用户在如图8-2所示的界面上选择完专卖店的类型后,单击此页面上的“选择专卖店类型”,系统将进入如图8-3所示的界面。
单击“地图”按钮,系统进入如图8-4所示的界面。单击“帮助”按钮,系统进入如图8-5所示的界面。其他界面上的按钮功能与此类似,不再多述。
在本例中,购物中心的专卖店类型包括:鲜花类、礼品类、服装类。其中鲜花类的专卖店包括:鲜花店1、鲜花店2、鲜花店3;礼品类的专卖店包括:礼品店1、礼品店2、礼品店3;服装类的专卖店包括:服装店l、服装店2、服装店3。

图8-2 系统主菜单

图8-3 专卖店界面

图8-4 地图界面

图8-5 帮助界面
对该系统中有关购物者对系统的操作功能进行功能性测试。例如:在主菜单上,如果购物者单击列表中的专卖店种类,显示该类专卖店的清单;购物者单击“地图”按钮,显示商业街地图屏幕;购物者单击“帮助”按钮,显示帮助屏幕等。
(1)编写输入项。
用户对系统的输入选项如下:
1) 主菜单
Ø 购物者单击列表中的专卖店种类,显示该类专卖店的清单。
Ø 购物者单击“地图”按钮,显示商业街地图屏幕。
Ø 购物者单击“帮助”按钮,显示帮助屏幕。
2) 专卖店清单
Ø 购物者单击某专卖店名称,该专卖店的位置在商业街地图中高亮度显示。
Ø 购物者单击“主菜单”按钮,返回主菜单。
Ø 购物者单击“帮助”按钮,显示帮助屏幕。
3) 地图
Ø 购物者单击“打印”按钮,打印出商业街地图。
Ø 购物者单击“返回上一屏幕”按钮,显示前一个屏幕。
Ø 购物者“主菜单”按钮,返回主菜单。
Ø 购物者单击“帮助”按钮,显示帮助屏幕。
4) 帮助
Ø 购物者单击“返回上一屏幕”按钮,显示前一个屏幕。
Ø 购物者单击“主菜单”按钮,返回主菜单。
(2)根据输入项,重新组织输入信息。
通过上面的对购物中心商业街指南系统的简介,按照购物者的典型操作序列,重新组织输入信息即可创建一张表。该表以大纲为表现形式。方括号中包含了有关原始需求的条目,带数字的条目为上面输入选项的内容,带D的则是商业街的专卖店配置。
| 1主菜单 1.1 [1]购物者单击列表中的专卖店种类,显示该类专卖店的清单。 1.1.1[D]鲜花类(三家专卖店) 1.1.2[D]礼品类(三家专卖店) 1.1.3[D]服装类(三家专卖店〉 1.2[2]购物者单击“地图”按钮,显示商业街地图屏幕。 1.2.1[7]购物者单击“打印”按钮,打印出商业街地图。 1.2.2[8]购物者单击“返回上一屏幕”按钮,显示前一个屏幕。 1.2.3[9]购物者“主菜单”按钮,返回主菜单。 1.2.4[10]购物者单击“帮助”按钮,显示帮助屏幕。 1.2.4.1[11]购物者单击“返回上一屏幕”按钮,显示前一个屏幕。 1.2.4.2[12]购物者单击“主菜单”按钮,返回主菜单。 1.3[3]购物者单击“帮助”按钮,显示帮助屏幕。 1.3.1[11]购物者单击“返回上一屏幕”按钮,显示前一个屏幕。 1.3.2[12]购物者单击“主菜单”按钮,返回主菜单。 2专卖店清单 2.1[4]购物者选择某专卖店名称,单击“显示”按钮,该专卖店的位置在商业街地图中高亮度显示。 2.1.1[7]购物者单击“打印”按钮,打印出商业街地图。 2.1.2[8]购物者单击“返回上一屏幕”按钮,显示前一个屏幕。 2.1.3[9]购物者“主菜单”按钮,返回主菜单。 2.1.4[10]购物者单击“帮助”按钮,显示帮助屏幕。 2.2[5]购物者单击“主菜单”按钮,返回主菜单。 2.3[6]购物者单击“帮助”按钮,显示帮助屏幕。 3地图清单 3.1[7]购物者单击“打印”按钮,打印出商业街地图。 3.2[8]购物者单击“返回上一屏幕”按钮,显示前一个屏幕。 3.3[9]购物者“主菜单”按钮,返回主菜单。 3.4[10]购物者单击“帮助”按钮,显示帮助屏幕。 4帮助清单 4.1[11]购物者单击“返回上一屏幕”按钮,显示前一个屏幕。 4.2[12]购物者单击“主菜单”按钮,返回主菜单。 |
在大纲中,为表明不同的购物场景,地图和帮助功能在不同项中多次列出。例如,在主菜单和地图屏幕中分别可以激活帮助功能,但是其输出内容是不同的。
本大纲将主菜单与专卖店清单分为两个节点,当然也可以把专卖店清单的内容拷贝到主菜单的每个对应的专卖店种类之下,即把大纲项2下的所有子项拷贝到1.1.1至1.1.3下,变成1.1.1.1、1.1.1.2、…,这样做可以为每一种可能的用户输入组合设计一个测试用例,但同时会使大纲的长度急剧增长。为了简化并减少测试工作量,可以采用以上的大纲方法,按照等价类划分的原则,使用一个专卖店种类及相关的专卖店名称来执行大纲项2下面的内容。这时,必须考虑到工作量与风险之间的关系。
大纲仅仅是对需求或界面的描述,不同测试人员生成的大纲是不同的,但是其核心内容是一致的,目的在于列出用户操作,以产生覆盖所有相关内容的测试。
本大纲共包含25个叶节点,每一个都可以产生一个相应的测试用例。下面是通过大纲导出的测试用例(表8-1),其中测试来源列表示大纲中的项,可以追溯到原始的用户需求。
表8-1 测试用例
| 用例编号 | 测试来源 | 输入 | 预期结果 | 测试结果(通过/不通过) |
| 1 | 1.1.1 | 从主菜单中:选择“鲜花类”,单击“选择专卖店类型” | 显示鲜花类专卖店清单屏幕,列出3个鲜花类专卖店 | |
| 2 | 1.1.2 | 从主菜单中:选择“礼品类”单击“选择专卖店类型” | 显示礼品类专卖店清单屏幕,列出3个礼品类专卖店 | |
| 3 | 1.1.3 | 从主菜单中:选择“服装类”单击“选择专卖店类型” | 显示服装类专卖店清单屏幕,列出3个服装类专卖店 | |
| 9 | 1.2.1 | 从主菜单中:单击地图按钮 | 商业街地图显示在屏幕上 | |
| 10 | 1.2.2 | 从主菜单中:单击“帮助”按钮 | 显示帮助界面的内容 | |
| 11 | 1.2.3 | 从主菜单中: 1)单击“地图”按钮 2)单击“主菜单”按钮 | 1)商业街地图显示在屏幕上 2)返回到主菜单 | |
| 12 | 1.2.4.1 | 从主菜单中: 1)单击“地图”按钮 2)单击“帮助”按钮 3)单击“返回上一屏幕”按钮 | 1)商业街地图显示在屏幕上 2)显示地图菜单帮助信息 3)返回到地图菜单 | |
| 13 | 1.2.4.2 | 从主菜单中: 1)单击“地图”按钮 2)单击“帮助”按钮 3)单击“主菜单”按钮 | 1)商业街地图显示在屏幕上 2)显示地图菜单帮助信息 3)返回到主菜单
| |
| 14 | 1.3.1 | 从主菜单中: 1)单击“帮助”按钮 2)单击“返回上一屏幕”按钮 | 显示地图菜单帮助信息 2)返回到主菜单 | |
| 15 | 1.3.2 | 从主菜单中: 1)单击“帮助”按钮 2)单击“主菜单”按钮 | 1)显示地图菜单帮助信息 2)返回到主菜单 | |
| 16 | 2.1.1 | 从主菜单中: 1)选择“女装” 2)选择专卖店清单中的第一个专卖店名称 3)单击“打印”按钮 | 1)显示专卖店清单屏幕列出3个女装专卖店 2)屏幕上显示指向该专卖店位置的地图3 )打印出该地图 | |
| 17 | 2.1.2 | 从主菜单中: 1)选择“男装” 2)选择专卖店清单中的第2个专卖店名称 3)单击“返回上一屏幕”按钮 | 1)显示专卖店清单屏幕列出2个男装专卖店 2)屏幕上显示指向该专卖店位置的地图 3)返回列出2个男装专卖店的专卖店清单屏幕 | |
| 18 | 2.1.3 | 从主菜单中: 1)选择“童装” 2)选择专卖店清单中的第4个专卖店名称 3)单击“主菜单”按钮 | 1)显示专卖店清单屏幕,列出4个童装专卖店 2)屏幕上显示指向该专卖店位置的地图 3)返回主菜单 | |
| 19 | 2.1.4.1 | 从主菜单中: 1)选择“女鞋” 2)选择专卖店清单中的第一个专卖店名称 3)单击“帮助”按钮 4)单击“返回上一屏幕”按钮 | 1)显示专卖店清单屏幕,列出2个女鞋专卖店 2)屏幕上显示指向该专卖店位置的地图 3)显示地图菜单帮助信息 4)返回指向该专卖店的地图屏幕 | |
| 20 | 2.1.4.2 | 从主菜单中: 1)选择“男鞋” 2)选择专卖店清单中的第一个专卖店名称 3)单击“帮助”按钮 4)单击“主菜单”按钮 | 1)显示专卖店清单屏幕,列出2个男鞋专卖店 2)屏幕上显示指向该专卖店位置的地图 3)显示地图菜单帮助信息 4)返回主菜单 | |
| 21 | 2.2 | 从主菜单中: 1)选择“鲜花” 2)单击“主菜单”按钮 | 1)显示专卖店清单屏幕,列出一个鲜花专卖店 2)返回主菜单 | |
| 22 | 2.3.1 | 从主菜单中: 1)选择“礼品” 2)单击“帮助”按钮 3)单击“返回上屏幕”按钮 | 1)显示专卖店清单屏幕,列出2个礼品专卖店 2)屏幕上显示专卖店清单菜单帮助信息 3)返回列出2个礼品专卖店的专卖店清单屏幕 |
大纲法的核心要点是:
Ø 大纲是一种着眼于需求的方法。
Ø 大纲表示为树状结构,在根和每个叶节点之间存在唯一的路径。
Ø 大纲中的每条路径定义了一个特定的输入条件集合,用于定义测试用例。
Ø 树中叶子的数目或大纲中的路径给出了测试所有功能所需测试用例的大致数量。
大纲的形成是一个迭代的过程,初始列表从被划分为输入条件的需求中产生,并用需求编号实现需求的可跟踪性。大纲的每个后续版本都是对前者的细化,通过与开发人员和项目专家进行讨论,不断细化扩充大纲,解决需求中不够明确的问题。大纲是一个组织个人思维的好工具,它汇集了需求文档的核心内容,大纲的每项都可以根据测试人员的喜好以逻辑形式分组。

