白盒测试用例设计
测试计划的内容详解
测试项目简介 – 归纳所要求测试的软件项和软件特性,可以包括系统目标、背景、范围及引用 材料等。 – 在最高层测试计划中,如果存在下述文件,则需要引用它们:项目计划、质 量保证计划、有关的政策、有关的标准等。
•测试项 –描述被测试的对象,包括其版本、修订级别,并指出在测试开始之前对逻辑或 物理变换的要求。
测试用例就是将软件测试的行为活动,做一个科学化的 组织归纳。
为什么需要测试用例
在开始实施测试之前设计好测试用例,避免盲目测试并提高测试效率, 减少测试的不完全性;
测试用例的使用令软件测试的实施重点突出、目的明确; 根据测试用例的多少和执行难度,估算测试工作量,便于测试项目的时
间和资源管理与跟踪; 减少回归测试的复杂程度 在软件版本更新后只需修正少量的测试用例便可展开测试工作,降低工
THEN X:=X/A ;
IF (A=2) OR (X>1)
THEN X:=X+1
END;
程序逻辑结构
Procedure (VAR A,B,X:REAL); 逻辑结构
BEGIN
IF(A>1) AND (B=0)
A>1 AND B=0
N
Y
X:=X/A
THEN X:=X/A ;
A=2
Y
OR
IF (A=2) OR (X>1) X>1
002 登录 输入错误密码 用户在登录界面输入错误的密码 程序提示输入密码
后,按回车键
错误,请重新输入
003 登录 不输入的空密 用户在登录界面没有输入任何密 程序提示用户没有 程序应该告知
码
码使密码为空后,按回车键
输入试用例
测试用 输入
预期结果
•开始条件和结束条件 –规定各测试项的开始测试需要满足的条件 –测试通过和测试结束的条件。
•测试环境 –测试的操作系统和需要安装的辅助测试工具(来源与参数设置) –软件、硬件和网络环境设置
测试计划的内容详解(续2)
• 测试者的任务、联系方式与培训
– 测试成员的名称、任务、电话、电子邮件等联系方式 – 为完成测试需要进行的项目课程培训 • 测试进度与跟踪方式 – 在软件项目进度中规定的测试里程碑以及所有测试项传递时间。 – 定义所需的新的测试里程碑,估计完成每项测试任务所需的时间,为每项测试任务和测 试里程碑规定进度,对每项测试资源规定使用期限。 – 报告和跟踪测试进度的方式:每日报告、每周报告;书面报告、电话会议 • 测试风险与解决方式 – 预测测试计划中的风险 – 规定对各种风险的应急措施(延期传递的测试项可能需要加班、添加测试人员、减少测 试内容。) • 测试计划的审批和变更方式 – 审批人和生效方式 – 如何处理测试计划的变更
白盒测试用例注意事项 由于测试路径可能非常多,由于时间和资源问题,选出足够 多的路径测试 由于深入到程序编码,通常开发人员协助测试人员书写白盒 测试用例
任务布置:测试如下程序该如何选择测试数据
Procedure(VAR A,B,X:REAL);
BEGIN
IF (A>1) AND (B=0)
⑵ [(2,1,1),(2,1,2)] abe [(3,0,3),(3,1,1)] acd
目标三:使得每个判定判定中的每个条件获得各
目标种三可:能的结果
a
应满足以下情况:
A>1 AND B=0
N
b
c
Y
X:=X/A
判定一: A>1, AA≤≤11, BB==0,0B≠B0≠0 判定二: A=2, AA≠≠22, XX>>1,1X≤X1≤1 选择用例:
选择用例: [(2,0,4),(2,0,3)] ① ⑤ [(2,1,1),(2,1,2)] ② ⑥ [(1,0,3),(1,0,4)] ③ ⑦ [(1,1,1),(1,1,1)] ④ ⑧
目标六:执行过程序中所有可能的路径
目标六:
a
A>1 AND B=0
N
b
c
Y
X:=X/A
A=2 OR X>1
dN
白盒法常用的覆盖标准
4、判定/条件覆盖: 执行足够的测试用例,使得 判定中每个条件取到各种可能的值,并使每个判 定取到各种可能的结果。 5、条件组合覆盖: 执行足够的例子,使得每个 判定中条件的各种可能组合都至少出现一次。 6、路径覆盖: 执行足够的例子,覆盖程序中所 有可能的路径。
白盒法步骤:
目标二:使得程序中每个判定至少为TRUE或
目标FA二LS:E各一次
a
A>1 AND B=0
N
b
c
Y
X:=X/A
A=2 OR X>1
dN
e
Y
X:=X+1
应执行路径: ace ∧ abd 或: acd ∧ abe
选择用例(其一):
⑴ [(2,0,4),(2,0,3)] ace [(1,1,1),(1,1,1)] abd
[(2,20,04)4,(2,0,3)]
A=2 OR X>1
d
N
e
Y
X:=X+1
[(1,11,1),1(1,1,1)] 注意:[(1,0,3),(1,0,4)]
[(2,1,1),(2,1,2)] 思考:该测试数据能完成测试目
标一、二、三?
目标四:使得判定中的每个判定至少为TRUE或
目标FA四LSE:各一次并且每个条件获得各种可能的结果
a
A>1 AND B=0
N
b
A=2 OR X>1
dN
c
Y
X:=X/A
e
Y
X:=X+1
应满足以下情况: 条件: A>1, A≤1, B=0, B≠0
A=2, A≠2, X>1, X≤1
应执行路径 ace ∧ abd 或: acd ∧ abe
选择用例:
[(2,0,4),(2,0,3)](ace) [(1,1,1),(1,1,1)] (abd)
实际结果
测试统计
例ID
利率 贷款 贷款金 月
总 总 月 总 总 通过 测试 测试
期限 额
支
支 利 支 支 利 /失 日期 人员
(年) (元) 付
付 息付 付 息 败
TC- 8% 30 80000 587.01 001
TC- 8.5% 30 80000 615.13 002
TC- 8.5% 15 80000 787.79 003
序列和一个条件判定框(假设不包含复合条件)。 ➢ 控制流线由带箭头的弧或线表示,可称为边。它代表程序中的控
制流。 常见结构的控制流图
对于复合条件,则可将其分解为多个单个条件,并映射成控制流 图。
环形复杂度
环形复杂度也称为圈复杂度,它是一种为程序逻辑复杂度提供定 量尺度的软件度量。
环形复杂度的应用——可以将环形复杂度用于基本路径方法,它 可以提供:程序基本集的独立路径数量;确保所有语句至少执行 一次的测试数量的上界。
测试用例概述
• 如何以最少的人力、资源投入,在最短的时间内完成测试, 发现软件系统的缺陷,保证软件的优良品质,则是软件公司 探索和追求的目标。
• 测试用例是测试工作的指导,是软件测试的必须遵守的准则 。更是软件测试质量稳定的根本保障。
什么是测试用例
测试用例的定义
测试内容的一系列情景和每个情景中必须依靠输入和输 出,而对软件的正确性进行判断的测试文档,称为测试 用例。
➢ 独立路径是指程序中至少引入了一个新的处理语句集合或一个新 条件的程序通路。采用流图的术语,即独立路径必须至少包含一 条在本次定义路径之前不曾用过的边。
测试用例包含期望的正确的结果 待查的输出结果或文件必须尽量简单明了 不包含重复的测试用例 测试用例内容清晰、格式一致、分类组织
测试用例的组成元素与范例
测试用例编号ID 测试用例标题 测试的模块
• 测试输入条件 • 期望的输出结果 • 其它说明
ID 类型 标题
测试步骤
期望的结果
说明
001 登录 输入正确密码 用户在登录界面输入正确的密码 程序提示登录成功 后,按回车键
便于大型软件测试项目外包测试指导基础; ▪ 总结:
软件测试是有组织性、步骤性和计划性的,为了能 将软件测试的行为转换为可管理的、具体量化的模 式,需要创建和维护测试用例。
良好测试用例的特征
可以最大程度地找出软件隐藏的缺陷 可以最高效率的找出软件缺陷 可以最大程度地满足测试覆盖要求 既不过分复杂、也不能过分简单 使软件缺陷的表现可以清楚的判定
•被测试的特性 –指明所有要被测试的软件特性及其组合,指明每个特性或特性组合有关的测试 设计说明。
•不被测试的特性 –指出不被测试的所有特性和特性的有意义的组合及其理由。
测试计划的内容详解(续1)
• 测试方法 –描述测试的总体方法,规定测试指定特性组志需的主要活动、所需的时间。 –规定所希望的测试程度,指明用于判断测试彻底性的技术(如:检查哪些 语句至少执行过一次)。 –指出对测试的主要限制,例如:测试项可用性、测试资源的可用性和测试 截止期限等。
测试用例设计
软件测试计划概述
测试计划的定义
• 一个叙述了预定的测试活动的范围、途 径、资源及进度安排的文档。它确认了测 试项、被侧特征、测试任务、人员安排、 以及任何偶发计划的风险。
• 《ANSI/IEEE软件测试文档标准8291983》
测试计划的作用
• 为测试过程提供指导 – 测试目标 – 测试内容 – 测试方法 – 测试时间周期
e
Y
X:=X+1
ABX
203 101 211 301
执行路径
ace abd abe acd