软件测试基础教程 杜文洁景秀丽主编 中国水利水电出版社
软件测试基础教程 杜文洁 景秀丽 主编 中国水利水电出版社
第五章软件测试用例设讣 51测试用例概述 5.2黑盒测试用例设计 53白盒测试用例设计 习题 第五章软件测试用例设计
第五章 软件测试用例设计 第五章 软件测试用例设计 5.1测试用例概述 5.2黑盒测试用例设计 5.3白盒测试用例设计 习题
本章概要 测试用例概述 利用黑盒测试的各种具体策略设计实例 利用白盒测试的逻辑覆盖和路径分析方法 设计实例 第五章软件测试用例设计
本章概要 ➢ 测试用例概述 ➢ 利用黑盒测试的各种具体策略设计实例 ➢ 利用白盒测试的逻辑覆盖和路径分析方法 设计实例 第五章 软件测试用例设计
5.1测试用例概述 1.测试用例的定义 测试用例( Test Case)是为了高效率地发现软件缺陷而精心设计的少量测试数据。实际测 试中,由于无法达到穷举测试,所以要从大量输入数据中精选有代表性或特殊性的数据来 作为测试数据。好的测试用例应该能发现尚未发现的软件缺陷。 2.测试用例的特性 有效性 测试用例是测试人员测试过程中的重要参考依据。不同的测试人员根据相同的测试用例所 得到的输出应该是一致的。准确的测试用例可以保障软件测试的有效性和稳定性。 可复用性: /良好的测试用例具有重复使用的功能,这样就可以大大地节约测试的时间,提高测试的效 易组织性 在一个软件测试流程中测试用例可能有成千上万个,但是好的测试计划可以有效地组织 这些测试用例,分门别类地提供给测试人员参考和使用。 特别对于测试人员中的新手,好的测试用例可以帮助他们更好地完成复杂的测试任务,提 高测试工作的效率。 可评估性 从测试管理的角度,测试用例的通过率和软件缺陷的数目是软件产品质量好坏的测试标 准 可管理性 x测试用例可以作为检验测试人员进度、工作量以及跟踪/管理测试人员工作效率的因素 第五章软件测试用例设计
5.1测试用例概述 1.测试用例的定义 测试用例(Test Case)是为了高效率地发现软件缺陷而精心设计的少量测试数据。实际测 试中,由于无法达到穷举测试,所以要从大量输入数据中精选有代表性或特殊性的数据来 作为测试数据。好的测试用例应该能发现尚未发现的软件缺陷。 2.测试用例的特性 有效性: 测试用例是测试人员测试过程中的重要参考依据。不同的测试人员根据相同的测试用例所 得到的输出应该是一致的。准确的测试用例可以保障软件测试的有效性和稳定性。 可复用性: 良好的测试用例具有重复使用的功能,这样就可以大大地节约测试的时间,提高测试的效 率。 易组织性: 在一个软件测试流程中测试用例可能有成千上万个,但是好的测试计划可以有效地组织 这些测试用例,分门别类地提供给测试人员参考和使用。 特别对于测试人员中的新手,好的测试用例可以帮助他们更好地完成复杂的测试任务,提 高测试工作的效率。 可评估性: 从测试管理的角度,测试用例的通过率和软件缺陷的数目是软件产品质量好坏的测试标 准。 可管理性: 测试用例可以作为检验测试人员进度、工作量以及跟踪/管理测试人员工作效率的因素。 第五章 软件测试用例设计
5.1测试用例概述 x3.测试用例的编制要素 κ编写测试用例文档应有文档模板,须符合内部的 规范要求。这方面可以参考一些基本的测试用例 编制标准,例如 ANSI/IEEE8291983标准中列出 的关于软件测试用例的相关编制规范和模板 测试用例就是一个文档,描述输入、动作、或者 时间和一个期望的结果,其目的是确定应用程序 的某个特性是否正常的工作。软件测试用例的基 本要素包括测试用例编号、测试标题、测试模块 用例级别、测试环境、测试输入、执行操作、预 期结果 第五章软件测试用例设计
5.1测试用例概述 3.测试用例的编制要素 编写测试用例文档应有文档模板,须符合内部的 规范要求。这方面可以参考一些基本的测试用例 编制标准,例如ANSI/IEEE829-1983标准中列出 的关于软件测试用例的相关编制规范和模板。 测试用例就是一个文档,描述输入、动作、或者 时间和一个期望的结果,其目的是确定应用程序 的某个特性是否正常的工作。 软件测试用例的基 本要素包括测试用例编号、测试标题、测试模块、 用例级别、测试环境、测试输入、执行操作、预 期结果。 第五章 软件测试用例设计
5.1测试用例概述 κ在书写测试用例时,相关的编制要素如下: x用例编号:每个测试用例都有唯一的标识号,用以区别其他测试用例。测 试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则: PROJECT1STo01,命名规则是项目名称十测试阶段类型(系统测试阶段) 十编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。 8/测试标题:对测试用例的描述,测试用例标题应该清楚表达测试用例的用 κ测试模块:指明并简单描述本测试用例是用来测试哪些项目、子项目或软 件特性的 用例级别:定义测试用例的优先级别,可以粗略地分为“高”和“低” 两个级别,也可以分为“高 低,三个级别 般来说,软 件需求的优先级和测试用例的优先级一致。即如果软件需求的优先级为 高”,那么针对该需求的测试用例的优先级也为高”;反之亦然。 第五章软件测试用例设计
5.1测试用例概述 在书写测试用例时,相关的编制要素如下: 用例编号:每个测试用例都有唯一的标识号,用以区别其他测试用例。测 试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则: PROJECT1-ST-001 ,命名规则是项目名称+测试阶段类型(系统测试阶段) +编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。 测试标题: 对测试用例的描述,测试用例标题应该清楚表达测试用例的用 途。比如 “ 测试用户登录时输入错误密码时,软件的响应情况” 。 测试模块:指明并简单描述本测试用例是用来测试哪些项目、子项目或软 件特性的。 用例级别: 定义测试用例的优先级别,可以粗略地分为 “ 高 ” 和 “ 低 ” 两个级别,也可以分为“高”、“中”、“低”三个级别。一般来说,软 件需求的优先级和测试用例的优先级一致。即如果软件需求的优先级为 “ 高 ” ,那么针对该需求的测试用例的优先级也为 “ 高 ” ;反之亦然。 第五章 软件测试用例设计
5.1测试用例概述 κ测试环境:描述执行测试用例所需要的具体测试环境,包括硬件环境 和软件环境。通常,在整个测试模块中需要对应说明整个测试的特殊 环境要求,在单个测试用例的测试环境需要表述该测试用例所单独需 要的特殊环境要求。 κ测试输入:用来执行测试用例的输入要求。这些输入可能是数据、文 件或具体操作(例如单击鼠标,在键盘做按键处理等)。有时候相关 的数据库或文件也要作具体说明。通常,根据需求中的输入条件,确 定测试用例的输入。测试用例的输入对软件需求当中的输入有很大的 依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例 设计中会遇到很大的障碍 x/执行操作:执行本测试用例所需的每一步操作。对于复杂的测试用例 测试用例的输入需要分为几个步骤完成,这部分内容在操作步骤中详 细列出。 κ预期结果:描述被测项目或被测特性所希望或要求达到的输出或指标 般来说,预期结果主要根据软件需求中的输岀得岀。如果在实际测 试过程中,得到的实际测试结果与预期结果不符,那么测试不通过 反之则测试通过。 第五章软件测试用例设计
5.1测试用例概述 测试环境:描述执行测试用例所需要的具体测试环境,包括硬件环境 和软件环境。通常,在整个测试模块中需要对应说明整个测试的特殊 环境要求,在单个测试用例的测试环境需要表述该测试用例所单独需 要的特殊环境要求。 测试输入:用来执行测试用例的输入要求。这些输入可能是数据、文 件或具体操作(例如单击鼠标,在键盘做按键处理等)。有时候相关 的数据库或文件也要作具体说明。通常,根据需求中的输入条件,确 定测试用例的输入。测试用例的输入对软件需求当中的输入有很大的 依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例 设计中会遇到很大的障碍。 执行操作:执行本测试用例所需的每一步操作。对于复杂的测试用例, 测试用例的输入需要分为几个步骤完成,这部分内容在操作步骤中详 细列出。 预期结果:描述被测项目或被测特性所希望或要求达到的输出或指标。 一般来说,预期结果主要根据软件需求中的输出得出。如果在实际测 试过程中,得到的实际测试结果与预期结果不符,那么测试不通过; 反之则测试通过。 第五章 软件测试用例设计
5.1测试用例概述 软件测试用例的设计主要从上述8个方面考虑,结合相应的软件需求文档,在掌握一定测试用例设计方法 的基础上,可以设计出比较全面、合理的测试用例。通用的测试用例模板如下: 试例 软件测试用例 元素 含义 给出定义的测试角色 用例编号 被标识过的测试需求 测试标题 测试用例的描述 测试模块 指明测试的具体对象 用例级别 指明测试用例的优先级别 测试需求分析 测试环境 进入测试实施步骤所需的资源及其状态 测试输入 运行本测试所需的代码和数据,包括测试模拟程序测试设计(描述性定义) 和测试模拟数据 执行操作 建立测试运行环境、运行被测对象、获取测试结果 的步骤序列 预期结果 用于比较测试结果的基准测试实现(计算机表示) 评价标准 根据测试结果与预期结果的偏差,判断被测对象质 量状态的依据 第五章软件测试用例设计
5.1测试用例概述 第五章 软件测试用例设计 软件测试用例的设计主要从上述8个方面考虑,结合相应的软件需求文档,在掌握一定测试用例设计方法 的基础上,可以设计出比较全面、合理的测试用例。通用的测试用例模板如下: 表5-1 测试用例 软 件 测 试 用 例 元 素 含 义 给出定义的测试角色 用例编号 被标识过的测试需求 测试标题 测试用例的描述 测试模块 指明测试的具体对象 用例级别 指明测试用例的优先级别 测试需求分析 测试环境 进入测试实施步骤所需的资源及其状态。 测试输入 运行本测试所需的代码和数据,包括测试模拟程序 和测试模拟数据 测试设计(描述性定义) 执行操作 建立测试运行环境、运行被测对象、获取测试结果 的步骤序列 预期结果 用于比较测试结果的基准 测试实现(计算机表示) 评价标准 根据测试结果与预期结果的偏差,判断被测对象质 量状态的依据
5.1测试用例概述 x4.测试用例的设计原则 测试用例除了应该符合基本的测试用例编写规范,还要遵守以下几条基 本设计原则: κ(1)保证测试用例的明确性。 影响测试结果的准确性。清晰的测试用例会使测试人员在测试过程中不会出 现模棱两可的测试结果。在测试过程中,测试用例的测试结果是唯一的,即 通过、没通过或未进行测试。如果测试没有通过,一般会生成相应的测试错 误报告;如果测试没有进行,也会生成相应的原因说明报告,如测试用例本 身具有错误性、测试用例的不适用性等等。 x例如,测试用例这样描述 κ用户正确操作,系统正常运行 κ用户进行非法操作,系统不能正常运行。 /在这里,测试用例没有具体说明什么是正确的操作,什么是非法的操作。另 外,从测试用例描述中也无法知道什么是系统的正常或不正常的运行状态。 这就必然导致测试人员对测试用例的不确定理解,从而引发测试中的错误问 题。 第五章软件测试用例设计
5.1测试用例概述 4.测试用例的设计原则 测试用例除了应该符合基本的测试用例编写规范,还要遵守以下几条基 本设计原则: (1)保证测试用例的明确性。 测试人员要尽量避免测试用例存在含糊的因素,否则会影响测试工作的进行, 影响测试结果的准确性。清晰的测试用例会使测试人员在测试过程中不会出 现模棱两可的测试结果。在测试过程中,测试用例的测试结果是唯一的,即 通过、没通过或未进行测试。如果测试没有通过,一般会生成相应的测试错 误报告;如果测试没有进行,也会生成相应的原因说明报告,如测试用例本 身具有错误性、测试用例的不适用性等等。 例如,测试用例这样描述: 用户正确操作,系统正常运行; 用户进行非法操作,系统不能正常运行。 在这里,测试用例没有具体说明什么是正确的操作,什么是非法的操作。另 外,从测试用例描述中也无法知道什么是系统的正常或不正常的运行状态。 这就必然导致测试人员对测试用例的不确定理解,从而引发测试中的错误问 题。 第五章 软件测试用例设计
5.1测试用例概述 (2)保证测试用例的代表性。 尽量将具有相似功能的测试用例抽象合并。这样, 每一个测试用例都具有代表性,可以测试一类或 系列的系统功能。 (3)保证测试用例的简洁性。 冗长和复杂的测试用例是不应该出现的,因为这 样的用例可读性差、不利于测试人员理解和操作 简洁的测试用例可以让测试过程目的明确,让测 试结果具有唯一性。 第五章软件测试用例设计
5.1测试用例概述 (2)保证测试用例的代表性。 尽量将具有相似功能的测试用例抽象合并。这样, 每一个测试用例都具有代表性,可以测试一类或 一系列的系统功能。 (3)保证测试用例的简洁性。 冗长和复杂的测试用例是不应该出现的,因为这 样的用例可读性差、不利于测试人员理解和操作。 简洁的测试用例可以让测试过程目的明确,让测 试结果具有唯一性。 第五章 软件测试用例设计