软件测试PPT-第三章-测试用例的设计方法课件.ppt

上传人(卖家):三亚风情 文档编号:2873139 上传时间:2022-06-06 格式:PPT 页数:203 大小:1.61MB
下载 相关 举报
软件测试PPT-第三章-测试用例的设计方法课件.ppt_第1页
第1页 / 共203页
软件测试PPT-第三章-测试用例的设计方法课件.ppt_第2页
第2页 / 共203页
软件测试PPT-第三章-测试用例的设计方法课件.ppt_第3页
第3页 / 共203页
软件测试PPT-第三章-测试用例的设计方法课件.ppt_第4页
第4页 / 共203页
软件测试PPT-第三章-测试用例的设计方法课件.ppt_第5页
第5页 / 共203页
点击查看更多>>
资源描述

1、.软件测试.3.1 软件测试用例的概述3.2 黑合测试用例的设计3.3 白合测试用例的设计第三章第三章 软件测试用例的设计软件测试用例的设计.3.1.1 测试用例的基本概念3.1.2 测试用例的设计原则与特性3.1.3 测试用例的编制3.1 测试用例的基本概念. 1 1、什么是测试用例、什么是测试用例u测试用例(Test Case)是为达到最佳的测试效果或高效的揭露隐藏的错误而精选的少量有代表性或特殊性测试数据。 软件测试的灵魂-测试用例 例:测试Yahoo邮箱的登录程序,假设存在一用户为user,密码为12345 。3.1.1 3.1.1 测试用例的概念测试用例的概念.用例编号测试步骤输入数

2、据期望结果测试结果1输入用户名和密码,点击“登录雅虎服务”按钮用户名:user密码:12345成功登录user的个人邮箱2输入用户名和密码,点击“登录雅虎服务”按钮用户名:user密码:123456提示“密码错误,请重新输入!”3不输入用户名和密码,直接点击“登录雅虎服务”按钮提示“请输入用户名和密码!”.3.1.1 3.1.1 测试用例的概念测试用例的概念.工程硕士6u 测试用例包括测试环境、测试步骤、测试数据和预期结果。即测试用例=输入+输出+测试环境+测试步骤输入:测试数据和操作步骤输出:期望结果测试环境:软硬件环境配置3.1.1 3.1.1 测试用例的概念测试用例的概念. 2 2、编制

3、测试用例的重要性、编制测试用例的重要性u为什么要做测试用例,主要原因有如下几点:完全测试是不可能的;输入量太大;输出结果太多;软件实现路径太多;软件说明书没有客观标准,软件缺陷的标准也不同。3.1.1 3.1.1 测试用例的概念测试用例的概念.u使用测试用例的好处: 可以避免盲目测试并提高测试效率。 使软件测试的实施重点突出、目的明确。 在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。 测试用例的通用化和复用化则使软件测试易于开展。3.1.1 3.1.1 测试用例的概念测试用例的概念.u测试用例的作用 指导测试的实施 规划测试数据的准备 评估测试结果的度量

4、基准 分析缺陷的标准 编写测试脚本的设计规格说明书 3.1.1 3.1.1 测试用例的概念测试用例的概念. 1 1、测试用例的设计原则、测试用例的设计原则 保证测试用例的明确性。测试人员要尽量避免测试用例存在含糊的因素,否则会影响测试工作进行与测试结果的准确性(模棱两可)。在测试过程中,测试用例的测试结果是唯一的,即通过、没通过或未进行测试。如果测试没有通过,一般会生成相应的测试错误报告;如果测试没有进行,也会生成相应的原因说明报告,如测试用例本身具有错误性、测试用例的不适用性等等。3.1.2 3.1.2 测试用例的设计原则与特性测试用例的设计原则与特性.保证测试用例的代表性。尽量将具有相似功

5、能的测试用例抽象合并,使一个测试用例具有测试一类或一系列的系统需求。保证测试用例的简洁性。冗长与复杂的测试用例是不应该出现的,否则可读性差、不利于测试人员理解和操作。简洁的测试用例可以让测试过程目的明确,让测试结果具有唯一性。3.1.2 3.1.2 测试用例的设计原则与特性测试用例的设计原则与特性. 2 2、测试用例的特性、测试用例的特性 有效性:测试用例是测试人员测试过程中的重要参考依据,不同的测试人员根据相同的测试用例所得到的输出应该是一致的。 可复用性:良好的测试用例具有重复使用的功能,这样就可以大大地节约测试的时间,提高测试的效率。3.1.2 3.1.2 测试用例的设计原则与特性测试用

6、例的设计原则与特性. 易组织性:测试用例可能有成千上万个,有效地组织这些测试用例,分门别类地提供给测试人员参考和使用,才是一个好的测试计划。 可评估性:从测试管理的角度,测试用例的通过率和软件缺陷的数目是软件产品质量好坏的测试标准。 可管理性:测试用例可以作为检验测试人员进度、工作量以及跟踪/管理测试人员工作效率的因素。3.1.2 3.1.2 测试用例的设计原则与特性测试用例的设计原则与特性.14有效性有效性仿效性仿效性经济性经济性修改性修改性测试用例是否能够发现缺陷或者至少可能发现缺陷。测试用例的代表程度,可测试多项内容,因而减少测试用例数量。实现、调试和运行测试用例的成本修改和维护测试用例

7、的难易程度3 3、测试用例的度量标准、测试用例的度量标准3.1.2 3.1.2 测试用例的设计原则与特性测试用例的设计原则与特性. 1 1、测试用例编制的依据、测试用例编制的依据u需求说明以及相关文档;u设计说明及相关文档(概要设计,详细设计等);u与开发组交流的记录(可以是开发人员的一个解释);u基本成型的UI;u编写测试用例的文档模板和符合内部的规范要求。测试用例有相关的编制标准,如ANSI/IEEE829-1983标准中列出的关于软件测试用例的相关编制规范和模板。3.1.3 3.1.3 测试用例的编制测试用例的编制. 2 2、测试用例的编制过程、测试用例的编制过程u 分析软件程序的工作流

8、程。 目的是了解用户与系统交互时的操作和步骤,以确定与描述测试软件所需的测试用例。3.1.3 3.1.3 测试用例的编制测试用例的编制.u 确定并制定测试用例 目的是为每项测试需求编写适当的测试用例。 软件测试用例主要根据测试用例编写要素,结合相应的软件需求文档,在掌握一定测试用例设计方法的基础上,设计出比较全面、合理的测试用例,并生成规范的测试用例表。 如果测试过以前的版本,则测试用例已经存在,应复审这些测试用例。3.1.3 3.1.3 测试用例的编制测试用例的编制.u确定测试用例数据 根据测试用例表的内容,确定支持这些测试用例的实际值。测试用例数据一般包括: 用作输入的数据值 用作预期结果

9、的数据值 用作支持测试用例所需的数据 u测试用例的修改更新 测试用例在形成文档后还需要不断完善,缘故在于: 在测试过程中发现设计测试用例时考虑不周; 在软件交付使用后反馈的软件缺陷,而缺陷又是因测试用例存在漏洞造成; 软件自身的新增功能以及软件版本的更新,测试用例也必须配套修改更新。 3.1.3 3.1.3 测试用例的编制测试用例的编制. 3 3、测试用例的管理、测试用例的管理 测试管理软件的主要功能有三个:记录测试用例文档的关键内容、 可供测试实施时及时输入测试情况、实现自动生成测试结果文档。 3.1.3 3.1.3 测试用例的编制测试用例的编制. 4 4、测试用例的文档、测试用例的文档u

10、测试用例文档由简介和测试用例两部分组成。u 测试用例的文档模板。用于描述输入、动作、时间和一个期望结果。u 测试用例的基本要素。包括测试用例编号、测试标题、测试模块、用例级别、测试环境、测试输入、执行操作、预期结果。不同的公司会有不同的测试用例模板。3.1.3 3.1.3 测试用例的编制测试用例的编制. 用例编号:每个测试用例都有唯一的标识号,用以区别其他测试用例。测试用例的编号有一定的规则:项目名称测试阶段类型(系统测试阶段)编号,如PROJECT1-ST-001,定义测试用例编号,是为了便于查找与跟踪测试用例。 测试标题:测试用例标题应清楚表达测试用例的用途,如“测试用户登录时输入错误密码

11、时,软件的响应情况 ” 。 测试模块:指明并简单描述测试用例是用来测试哪些项目、子项目或软件特性的。3.1.3 3.1.3 测试用例的编制测试用例的编制. 用例级别:测试用例的优先级别,可以粗略地分为 “高”和“低”两个级别,也可以分为“高”、“中”、“低”三个级别。一般来说,软件需求的优先级和测试用例的优先级一致,即如果软件需求的优先级为“高”,该需求的测试用例的优先级也为“高”;反之亦然。 测试环境:执行测试用例所需的硬软件环境。在整个测试模块中需要对应说明整个测试的特殊环境要求,在单个测试用例的测试环境需要表述该测试用例所单独需要的特殊环境要求。3.1.3 3.1.3 测试用例的编制测试

12、用例的编制. 测试输入:用来执行测试用例的输入要求。输入可以是数据、文件或具体操作。根据需求中的输入条件,确定测试用例的输入,测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。 执行操作:执行测试用例所需的每一步操作。对于复杂的测试用例,测试用例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。3.1.3 3.1.3 测试用例的编制测试用例的编制. 预期结果:描述被测项目或特性所希望或要求达到的输出或指标。一般来说,预期结果主要根据软件需求中的输出得出,如果在实际测试过程中,得到的实际测试结果与预期结果不符,

13、那么测试不通过;反之则测试通过。3.1.3 3.1.3 测试用例的编制测试用例的编制.软 件 测 试 用 例元 素含 义给出定义的测试角色用例编号被标识过的测试需求测试标题测试用例的描述测试模块指明测试的具体对象用例级别指明测试用例的优先级别测试需求分析测试环境进入测试实施步骤所需的资源及其状态。测试输入运行本测试所需的代码和数据,包括测试模拟程序和测试模拟数据测试设计(描述性定义)执行操作建立测试运行环境、运行被测对象、获取测试结果的步骤序列预期结果用于比较测试结果的基准测试实现(计算机表示)评价标准根据测试结果与预期结果的偏差,判断被测对象质量状态的依据测试用例的基本要素3.1.3 3.1

14、.3 测试用例的编制测试用例的编制.工程硕士26测试用例的内容(示例)1 用例编号10用例类别2 用例名称11用例状态3 测试目的12用例设计人4 输入数据13创建时间5 测试步骤14用例评审人6 测试脚本15评审时间7 预期结果16评审结果8 响应时间17执行结果9 实际输出18相关模块3.1.3 3.1.3 测试用例的编制测试用例的编制.工程硕士27测试用例模板(示例)项目名称程序版本测试环境硬件环境软件环境网络环境编制人编制时间功能模块用户登录功能特性测试目的预置条件用例编号测试步骤输入数据预期结果测试结果DL0013.1.3 3.1.3 测试用例的编制测试用例的编制. 测试用例是测试工

15、作的核心,应该尽量设计的周密细致,这样才能更好的保证测试工作的质量。以一个实现登录功能的小程序为例,它允许用户选择城市和地区,输入自己的账号和密码。如图1-9所示,通过Alt-F4组合键和“Exit”按钮来终止程序,Tab键在区域中间移动。.操操 作作 员员 登登 录录 选 择 城 市 选 择 地 区 城 市地 区操 作 员密 码提 交退 出登录窗口 根据组成页面的具体元素,做了比较全面的测试用例。.(1)下拉框和输入框测试用例测试内容测试内容输入操作输入操作预期输出预期输出实际结果实际结果下拉框下拉框未和后台数据库绑定未和后台数据库绑定(显示列表元素固定)(显示列表元素固定)不允许列表中出不

16、允许列表中出现现NULL现象,现象,固定固定“请选择请选择-”已和后台数据库绑定已和后台数据库绑定(显示列表元素活动)(显示列表元素活动)不允许列表中出不允许列表中出现现NULL现象,现象,固定固定“请选择请选择-”输输入入框框限定字符型限定字符型输入输入12、6无无#,*等等错误提示错误提示限定型数字限定型数字输入输入测试数据测试数据无无12月、月、7*、0错误提示错误提示.(2)功能测试用例用 例应产生行为结果失败原因1.基本功能测试1.1在输入框内输入资料并且执行存储程序必须能够接受使用者的输入并且将输入值存在登录文件内1.2在输入框内不输入资料但执行储存程序必须能够检查使用者输入是否为

17、空白,同时必须能够告知使用者原因1.3检查city字段储存结果City字段输入 后存入cookies1.4检查area字段储存结果Area字段输入 后存入cookies储存结果1.5检查ID 字段储存结果ID字段输入 后存入cookies2.使用接口功能测试2.1检查输入字段的输入值必须组织使用者输入空白,同时部分字段只能输入数字.(3)各种错误数据的测试测试内容测试内容输入操作输入操作预选测试数据预选测试数据预期输出预期输出实际结果实际结果点击登录点击登录按钮按钮不完整的数据不完整的数据CityCity,areaarea,IDID,pswdpswd略略提示错误对话提示错误对话框框不正确的数据

18、不正确的数据CityCity,areaarea,IDID,pswdpswd略略提示错误对话提示错误对话框框回车操作回车操作不完整的数据不完整的数据CityCity,areaarea,IDID,pswdpswd略略提示错误对话提示错误对话框框点击点击“退退出出”按钮按钮无无无无无无关闭当前应用关闭当前应用系统系统.(4)特殊测试测试内容测试内容输入操作输入操作预选测试数预选测试数据据预期输出预期输出操作焦点逃操作焦点逃逸逸连续连续TabTab切换,察看异常切换,察看异常无无焦点可准确回归焦点可准确回归当前操作窗口当前操作窗口分配内存不分配内存不足足启动多个应用程序或模拟启动多个应用程序或模拟多个

19、程序运行多个程序运行无无是否可以正常运是否可以正常运行行网络断线网络断线切断网络连接切断网络连接无无是否可正常抛出是否可正常抛出异常异常.3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法3.2.2 3.2.2 边界分析测试边界分析测试用例设计用例设计法法3.2.3 3.2.3 决策表测试决策表测试用例设计用例设计法法3.2.4 3.2.4 因果图测试因果图测试用例设计用例设计法法3.2.5 3.2.5 错误猜测测试错误猜测测试用例设计用例设计法法3.2.6 3.2.6 业务流程图测试业务流程图测试用例设计用例设计法法3.2.7 3.2.7 黑盒测试用例设计方法的应黑盒测试用例设

20、计方法的应用用3.2 黑合测试用例的设计. 常用的黑盒测试用例设计方法主要有以下几种: 边界值分析 等价类 决策表 因果图法 错误猜测法 流程图法 3.2 3.2 黑合测试用例的设计黑合测试用例的设计. 1 1、等价类测试用例设计的基本思想、等价类测试用例设计的基本思想 等价类测试法是将不能穷举的测试过程进行合理分类,从等价类测试法是将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。而保证设计出来的测试用例具有完整性和代表性。等价类测试等价类测试法是把所有可能的输入数据法是把所有可能的输入数据(即程序的输入域)(即程序的输入域)划分成若干子划分成若干子集集(等价类

21、)(等价类),从每一个子集中选取少数具有代表性的数据作,从每一个子集中选取少数具有代表性的数据作为测试用例。为测试用例。每个子集中的输入具有相同揭示程序问题的能力,每个子集中的输入具有相同揭示程序问题的能力,进而达到尽可能完备同时又可避免冗余的测试。进而达到尽可能完备同时又可避免冗余的测试。 在分析需求规格说明书的基础上划分等价类,是在分析需求规格说明书的基础上划分等价类,是等价类测等价类测试用例设计的前提试用例设计的前提。 3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法. 所谓所谓等价类是指输入域的某个子集,所有等价类的并集就等价类是指输入域的某个子集,所有等价类的并集就是

22、整个输入域。是整个输入域。在等价类中,各个输入数据对于揭露程序中的在等价类中,各个输入数据对于揭露程序中的错误都是等效的,具有等价特性。因此,测试等价类中的代表错误都是等效的,具有等价特性。因此,测试等价类中的代表值等价于对该类中其它值的测试值等价于对该类中其它值的测试,即,即如果某如果某等价等价类中的一个用类中的一个用例发现了错误,该等价类中的其它用例也能发现同样的错误;例发现了错误,该等价类中的其它用例也能发现同样的错误;反之,如果反之,如果等价类等价类中的一个用例没有发现错误,中的一个用例没有发现错误,该等价类该等价类中的中的其它用例也不会查出错误。其它用例也不会查出错误。3.2.1 3

23、.2.1 等价类测试用例设计法等价类测试用例设计法. 2 2、有效等价类与无效等价类、有效等价类与无效等价类 软件不能只接收合理有效的数据,还应具有处理异常数据软件不能只接收合理有效的数据,还应具有处理异常数据的功能,才能确保软件具有更高的可靠性。因此,在划分等价的功能,才能确保软件具有更高的可靠性。因此,在划分等价类的过程中,不但要考虑有效等价类划分,同时也要考虑无效类的过程中,不但要考虑有效等价类划分,同时也要考虑无效等价类划分。等价类划分。 有效等价类是指对有效等价类是指对需求规格说明书需求规格说明书来说,合理、有意来说,合理、有意义的输入数据所构成的集合。义的输入数据所构成的集合。利用

24、有效等价类可以检验程序是利用有效等价类可以检验程序是否满足规格说明所规定的功能和性能。否满足规格说明所规定的功能和性能。 无效等价类则和有效等价类相反,无效等价类则和有效等价类相反,对对需求规格说明书需求规格说明书是是无意义的、不合理的输入数据所构成的集合,无意义的、不合理的输入数据所构成的集合,即不满足程序输即不满足程序输入要求或者无效的输入数据所构成的集合。利用无效等价类可入要求或者无效的输入数据所构成的集合。利用无效等价类可以检验程序异常情况的处理。以检验程序异常情况的处理。3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法.39 3 3、等价类划分的原则等价类划分的原则如

25、果输入条件规定了一个取值范围,就应确定一个有效等如果输入条件规定了一个取值范围,就应确定一个有效等价类和两个无效等价类;价类和两个无效等价类;如果输入条件规定了取值的个数,就应确定一个有效等价如果输入条件规定了取值的个数,就应确定一个有效等价类和两个无效等价类;类和两个无效等价类;如果输入条件是一个布尔表达式的条件,可以确定一个有如果输入条件是一个布尔表达式的条件,可以确定一个有效等价类和一个无效等价类效等价类和一个无效等价类如果输入条件规定了一个输入值的集合,而且程序会对每如果输入条件规定了一个输入值的集合,而且程序会对每个值进行不同处理,就应为每个输入值确定一个有效等价个值进行不同处理,就

26、应为每个输入值确定一个有效等价类和一个无效等价类;类和一个无效等价类;如果输入条件规定了如果输入条件规定了“必须是必须是”的情况,就应确定一个有的情况,就应确定一个有效等价类和若干无效等价类;效等价类和若干无效等价类;如果程序未等同地处理等价类中的元素,应将这个等价类如果程序未等同地处理等价类中的元素,应将这个等价类再划分为小一些的等价类。再划分为小一些的等价类。3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法.40 4 4、等价类测试用例设计的步骤、等价类测试用例设计的步骤划分等价类;划分等价类;为每一个有效等价类和无效等价类规定一个唯一的编号;为每一个有效等价类和无效等价类

27、规定一个唯一的编号;设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步直到所有有效等价类均被测试用效等价类,重复这一步直到所有有效等价类均被测试用例所覆盖;例所覆盖;设计一个测试用例,使其只覆盖一个无效等价类,重复设计一个测试用例,使其只覆盖一个无效等价类,重复这一步,直到所有无效等价类均被覆盖。这一步,直到所有无效等价类均被覆盖。3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法.输入条件有效等价类无效等价类5 5、等价类表示、等价类表示 在确立了等价类之后,建立等价类表,列出所有划分出在确立了等价类之后,建立等

28、价类表,列出所有划分出的等价类,如表所示。的等价类,如表所示。 等价类表3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法.42求三角形面积(仅判断是否是三角形)边长非数值小数(7)整数99(6)空白(11)空格(10)数值特殊字符(9)字母(8)199a+cb(4)b+ca(3)a+bc(2)不能构成三角形构成三角形(1)某程序实现如下功能:输入三个整数a,b,c,输出以a,b,c为三边的三角形面积(1a,b,c100),结果保留2位小数。3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法.43用例编号所属等价类输入数据预期结果11(有效等价类)A=10,B=10

29、,C=1043.6021(有效等价类)A=99,B=99,C=994364.9932(无效等价类)A=1,B=2,C=4提示“不能构成三角形”43(无效等价类)A=4,B=1,C=2提示“不能构成三角形”54(无效等价类)A=1,B=4,C=2提示“不能构成三角形”65(无效等价类)A=0,B=0,C=0提示“请输入199之间的整数”76(无效等价类)A=100,B=100,C=100 提示“请输入199之间的整数”87(无效等价类)A=ABCD,B=ABCD,C=ABCD 提示“请输入199之间的整数”3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法. 6 6、常见等价类划分

30、形式、常见等价类划分形式 针对是否对无效数据进行测试,可以将等价类分为标准等针对是否对无效数据进行测试,可以将等价类分为标准等价类、健壮等价类和对等区间价类、健壮等价类和对等区间等价类等价类。 (1) (1) 标准标准(简单)(简单)等价类等价类 标准等价类不考虑无效数据,测试用例使用每个等价类中标准等价类不考虑无效数据,测试用例使用每个等价类中的一个值。通常,标准等价类测试用例的数量和最大等价类中的一个值。通常,标准等价类测试用例的数量和最大等价类中元素的数目相等。元素的数目相等。3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法. NextDate NextDate 函数包含

31、三个变量:函数包含三个变量:monthmonth(月份)、(月份)、dayday(日期)和(日期)和 yearyear(年),函数的输出为输入日期后一天的日(年),函数的输出为输入日期后一天的日期。期。 例如,输入为例如,输入为20072007年年9 9月月9 9日,则函数的输出为日,则函数的输出为20072007年年9 9月月1010日日 。要求输入变量。要求输入变量 monthmonth、dayday和和yearyear均为整数值,并且满均为整数值,并且满足下列条件:足下列条件: (1 1)1month121month12 (2 2)1day311day31 (3 3)1912year20

32、501912year2050 3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法. NextDateNextDate函数的标准等价类有三个有效等价类:函数的标准等价类有三个有效等价类: M1 M1monthmonth:1month121month12 D1 D1dayday:1day311day31 Y1 Y1yearyear:1912year20501912year20503.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法测试用例输入期望输出monthdayyearTest Case 19920072007年9月10日. (2 2)健壮等价类)健壮等价类 Next

33、DateNextDate函数的主要特点是输入变量之函数的主要特点是输入变量之间的逻辑关系比较复杂,原因有两个:一个间的逻辑关系比较复杂,原因有两个:一个是输入域的复杂性,另一个是闰年的规则。是输入域的复杂性,另一个是闰年的规则。例如变量例如变量yearyear和变量和变量monthmonth取不同的值,对应取不同的值,对应的变量的变量dayday会有不同的取值范围,会有不同的取值范围,dayday值的范值的范围可能是围可能是1 13030或或1 13131,也可能是,也可能是1 12828或或1 12929。3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法. (2 2)健壮等价

34、类)健壮等价类 健壮等价类应考虑健壮等价类应考虑无效等价类,若三个输入中有一个条件无无效等价类,若三个输入中有一个条件无效,那么效,那么NextDate NextDate 函数都应产生一个输出,来指明相应的函数都应产生一个输出,来指明相应的变量超出取值范围,例如变量超出取值范围,例如monthmonth的值不在的值不在 1 112 12 范围当中。范围当中。显然还存在着大量的显然还存在着大量的yearyear、monthmonth、dayday的无效组合,的无效组合,NextDate NextDate 函数将这些组合统一输出为:函数将这些组合统一输出为:“无效输入日期无效输入日期”。 M2 M

35、2monthmonth:month1month12month12 D2 D2dayday:day1day31day31 Y2 Y2yearyear:year1912year2050year20503.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法. (2 2)健壮健壮等价类等价类 在标准等价类中,既没有考虑在标准等价类中,既没有考虑2 2月份的天数问题,也没有考虑闰年的月份的天数问题,也没有考虑闰年的问题,月份只包含了问题,月份只包含了3030天和天和3131天两种情况。在天两种情况。在健壮健壮等价类划分中,考虑等价类划分中,考虑2 2月份天数。关于每个月份的天数,可以详细划分为

36、以下等价类:月份天数。关于每个月份的天数,可以详细划分为以下等价类: M1 M1monthmonth:monthmonth有有3030天天 M2 M2monthmonth:monthmonth有有3131天天 M3 M3monthmonth:monthmonth是是2 2月月 D1 D1dayday:1day271day27 D2 D2dayday:dayday2828 D3 D3dayday:dayday2929 D4 D4dayday:dayday3030 D5 D5dayday:dayday3131 Y1 Y1yearyear:yearyear是闰年是闰年 Y2 Y2yearyear:y

37、earyear不是闰年不是闰年 3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法.测试用例输入期望输出monthdayyearTest Case 163020072007年7月1日Test Case 283120072007年9月1日Test Case 322720072007年2月28日Test Case 422820072007年3月1日Test Case 522920002000年3月1日(2000是闰年)Test Case 63192007不可能的输入日期Test Case 72292007 不可能的输入日期Test Case 82302007 不可能的输入日期Test

38、 Case 91592007变量month无效NextDate函数健壮健壮等价类测试用例3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法. (3)(3)弱健壮等价类测试弱健壮等价类测试 弱健壮等价类主要是考虑无效等价类。对有效输入,测试弱健壮等价类主要是考虑无效等价类。对有效输入,测试用例从每个有效等价类中取一个值;对无效输入,一个测试用用例从每个有效等价类中取一个值;对无效输入,一个测试用例有一个无效值,其他值均取有效值。例有一个无效值,其他值均取有效值。3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法.NextDate函数弱健壮等价类测试用例测试用例输入期望

39、输出monthdayyearTest Case 19920072007年9月10日Test Case 2092007 month不在112中Test Case 31392007month不在112中Test Case 4902007day不在131中Test Case 59322007day不在131中Test Case 6991911 year不在19122050中Test Case 7992051year不在19122050中3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法. (4)(4)强健壮等价类测试强健壮等价类测试 强健壮等价类则考虑更多的无效值。强健壮等价类中的无强

40、健壮等价类则考虑更多的无效值。强健壮等价类中的无效测试用例可以包含多个无效值,即含有多个缺陷假设。因为效测试用例可以包含多个无效值,即含有多个缺陷假设。因为NextDateNextDate函数有三个变量,所以对应的强健壮等价类测试用例函数有三个变量,所以对应的强健壮等价类测试用例可以包含一个无效值,两个无效值或三个无效值。可以包含一个无效值,两个无效值或三个无效值。3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法.NextDate函数强健壮等价类测试用例测试用例输入期望输出monthdayyearTest Case 1-192007 month不在112中Test Case 2

41、9-12007day不在131中Test Case 3991900 year不在19122050中Test Case 4-1-12007month、day无效,year有效Test Case 5-191900month、year无效,day有效Test Case 69-11900day、year无效,month有效Test Case 7-1-11900month、day、year无效3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法. (5) (5) 对等区间对等区间等价类等价类 对等区间对等区间等价类等价类是非常规的形式化方法是非常规的形式化方法,它将被测对象的它将被测对象的输

42、入输入/ /输出划分成一些区间,被测软件对一个特定区间的任何输出划分成一些区间,被测软件对一个特定区间的任何值都是等价的。测试区间的数据不只是函数值都是等价的。测试区间的数据不只是函数/ /过程的参数,也过程的参数,也可以是程序可以访问的全局变量、系统资源等,且变量或资源可以是程序可以访问的全局变量、系统资源等,且变量或资源可以是以时间形式存在的数据,或以状态形式存在的输入可以是以时间形式存在的数据,或以状态形式存在的输入/ /输输出序列。出序列。 对等区间对等区间等价类等价类划分的前提是位于单个区间的所有值对划分的前提是位于单个区间的所有值对测试都是对等的,应为每个区间的一个值设计一个测试用

43、例测试都是对等的,应为每个区间的一个值设计一个测试用例。3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法.输入区间输出区间=0=0BError 平方根函数要求当输入值为平方根函数要求当输入值为0 0或大于或大于0 0时,返回输入数的平时,返回输入数的平方根;当输入值小于方根;当输入值小于0 0时,显示时,显示“平方根错误平方根错误”。考虑平方根。考虑平方根函数的测试用例区间,可以划分出两个输入区间和两个输出区函数的测试用例区间,可以划分出两个输入区间和两个输出区间。间。区间划分3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法. 通过分析,可以用两个测试用例来测试

44、通过分析,可以用两个测试用例来测试4 4个区间:个区间: 测试用例测试用例1 1:输入:输入4 4,返回,返回2 /2 /区间区间和和A A 测试用例测试用例2 2:输入:输入-4-4,输出,输出“平方根错误,输入值小于平方根错误,输入值小于0” 0” / /区间区间和和B B 当软件变得更加复杂时,对等区间的确定就较难,区间之当软件变得更加复杂时,对等区间的确定就较难,区间之间的相互依赖性就越强,使用对等区间等价类划分设计测试用间的相互依赖性就越强,使用对等区间等价类划分设计测试用例技术的难度增加。例技术的难度增加。3.2.1 3.2.1 等价类测试用例设计法等价类测试用例设计法.58Nex

45、tDate(月,日,年)是三个变量的函数。函数返回输入日期的下一个日期。变量月份,日期和年都是整数值,且满足下面的条件:1月份=12,1=日期=31,1900=年=2060 两种不同的等价类划分方法 等价类测试示例:NextDate问题.59方法1l测试用例测试用例覆盖等价类1,2,3:测试输入=(2006,6,16), 预期结果=(2006,6,17)覆盖等价类4,2,3:测试输入=(1890,4,10), 预期结果=“输入错误!”覆盖等价类5,2,3:测试输入=(2062,4,10), 预期结果=“输入错误!”覆盖等价类1,6,3:测试输入=(2006,-2,16), 预期结果=“输入错误

46、!”覆盖等价类1,7,3: 测试输入=(2006,13,16), 预期结果=“输入错误!”覆盖等价类1,2,8:测试输入=(2006,6,0), 预期结果=“输入错误!”覆盖等价类1,2,9:测试输入=(2006,4,33), 预期结果=“输入错误!”条件条件有效等价类有效等价类编号编号 无效等价类无效等价类编号编号年1900,20601年20605月1,122月127日1,313日31 9.60方法2l测试用例测试用例覆盖等价类1,3,7: 测试输入=(2000,7,16), 预期结果=(2000,7,17)覆盖等价类2,4,8: 测试输入=(2006,4,29), 预期结果=(2006,4

47、,30)覆盖等价类1,5,9: 测试输入=(2000,2,30), 预期结果=“输入错误!”覆盖等价类2,6,10: 测试输入=(2001,12,31),预期结果=(2002,1,1)覆盖等价类11,3,7: 测试输入=(1830,3,19), 预期结果=“输入错误!”.61方法2(续)l测试用例(续)测试用例(续)覆盖等价类12,3,7: 测试输入=(3000,3,19), 预期结果=“输入错误!”覆盖等价类1,13,7: 测试输入=(2004,-2,10),预期结果=“输入错误!”覆盖等价类1,14,7: 测试输入=(2004,15,10),预期结果=输入错误!”覆盖等价类1,3,15:

48、测试输入=(2004,8,-2), 预期结果=“输入错误!”覆盖等价类1,3,16: 测试输入=(2004,8,38),预期结果=“输入错误!”。.62l讨论讨论l每种结果都覆盖了一些应该测试的功能点 第一种方法:过多关注无效等价类的测试,遗漏了较多NextDate问题蕴含的逻辑,如平年和闰年、二月和大小月、月底等; 第二种方法:在第一种方法的基础上,增加了对二月、年底等的测试,同时要考虑NextDate的逻辑知识,测试用例涵盖了大部分需测试的要点,但仍有些遗漏,例如年底、平年的二月等l如果程序未等同地处理等价类中的元素,应将这个等价类再划分为小一些的等价类。3.2.1 3.2.1 等价类测试

49、用例设计法等价类测试用例设计法.63等价类测试示例:加法器一个c语言程序,功能是计算1100之间的整数的和#include void main(void)int a;/加数int b;/加数int c;/和while(1)printf(“请输入两个1到100之间的整数:”);fflush(stdin);/清空输入缓冲区scanf(“%d %d”,&a,&b);if(a1&a1&b100)/判断c=a+b;printf(“两个数的和为% dn”,c);(1)无效等价类 100用例编号所属等价类加数1加数2预期结果1234043210-1提示33110101提示AB+=.64加法器等价类扩展除了考

50、虑数据的输入范围,还要考虑输入数据的类型加数数值非数值整数小数(4)字母(5)特殊字符(6)空格(7)空白(8)100(3).65加法器测试用例用例编号所属等价类加数1加数2和(预期结果)12(有效等价类)3404321 (无效等价类)0-1提示“请输入1100之间的整数”33 (无效等价类)110101提示“请输入1100之间的整数”44 (无效等价类)1.23.2提示“请输入1100之间的整数”55 (无效等价类)AB提示“请输入1100之间的整数”66 (无效等价类)#提示“请输入1100之间的整数”77 (无效等价类)空格空格提示“请输入1100之间的整数”.3. 某软件要求输入以年月

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(软件测试PPT-第三章-测试用例的设计方法课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|