第04讲、使用等价类和边界值方法设计测试用例_第1页
第04讲、使用等价类和边界值方法设计测试用例_第2页
第04讲、使用等价类和边界值方法设计测试用例_第3页
第04讲、使用等价类和边界值方法设计测试用例_第4页
第04讲、使用等价类和边界值方法设计测试用例_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Copyright Tarena Technologies Inc., 2008. All rights reserved.Tarena High-End IT T中国北京中国北京电话:(010)62135687、62136369地址:北京市海淀区北三环西路甲18号 中鼎大厦B座7层中国上海中国上海电话:(021)61202630、61202603地址:上海市北京东路668号 上海科技京城B区9层 加拿大多伦多加拿大多伦多电话:(416)491-6456 地址:Suite 1208, Deerford Road, Toronto, Ontario, Canada邮编:M2J 3J3中国广州中国

2、广州电话:(020)85518868、85518898 地址:广州天河区岗顶侨鑫教育主楼三层第第0404讲、使用等价类和边讲、使用等价类和边界值方法设计测试用例界值方法设计测试用例Topics2022-6-112022-6-11l 测试用例的概念l 使用等价类划分方法设计测试用例l 使用边界值方法设计测试用例本章内容本章内容3/82一、测试用例的概念一、测试用例的概念4/82引例引例l在测试即时贴程序时遇到哪些问题在测试即时贴程序时遇到哪些问题5/82你可能遇到了下列问题你可能遇到了下列问题l 不知道是否较全面的测试了所有内容不知道是否较全面的测试了所有内容u不知道所有功能点是否都测到了?不知

3、道所有功能点是否都测到了?u不清楚每个功能点是否都测试全面了?不清楚每个功能点是否都测试全面了?l 存在大量冗余测试,影响测试效率存在大量冗余测试,影响测试效率u有些功能点可能测试多次有些功能点可能测试多次l 对新版本的重复测试很难实施对新版本的重复测试很难实施u每个版本测试的步骤、数据都不一样,随意性很强每个版本测试的步骤、数据都不一样,随意性很强l 测试的覆盖率无法衡量测试的覆盖率无法衡量u最后测试的好与坏不得而知最后测试的好与坏不得而知l 6/82测试用例的基本概念测试用例的基本概念l 测试用例主要记录了测试的过程、步骤、输入的数据、预期结果等内测试用例主要记录了测试的过程、步骤、输入的

4、数据、预期结果等内容。它是在执行测试之前由测试人员编写的指导测试的重要文档。容。它是在执行测试之前由测试人员编写的指导测试的重要文档。l解决要解决要测什么、怎么测和如何衡量测什么、怎么测和如何衡量的问题的问题u案例案例1-1:即时贴测试用例:即时贴测试用例7/82测试用例用途测试用例用途l 防止遗漏:使软件测试的实施重点突出、目的明确,确保需求功防止遗漏:使软件测试的实施重点突出、目的明确,确保需求功能不被遗漏。能不被遗漏。l 版本重复测试:快速正确的进行版本重复测试版本重复测试:快速正确的进行版本重复测试l 监督过程:可以准确、有效的评估测试的工作量监督过程:可以准确、有效的评估测试的工作量

5、l 评估结果:对产品进行评估,对测试完成情况进行评价评估结果:对产品进行评估,对测试完成情况进行评价l 提高效率:避免盲目测试提高效率:避免盲目测试l 缩短周期:版本更新和升级时,只需修正少部分测试用例,资源缩短周期:版本更新和升级时,只需修正少部分测试用例,资源复用。复用。8/82准备编写测试用例准备编写测试用例l 参考相关文档参考相关文档u需求文档需求文档u开发文档开发文档u用户手册用户手册l 如果有软件的早期版本,尽快熟悉软件的使用如果有软件的早期版本,尽快熟悉软件的使用l与相关人员讨论与相关人员讨论9/82获得测试用例模板获得测试用例模板l Word格式模板格式模板l Excel格式模

6、板格式模板l 如果使用如果使用Quality Center测试管理工具,直接写在工具的测试管理工具,直接写在工具的“Test Plan”模块中即可模块中即可10/82注意注意l 1、在编写测试用例之前,还要明确项目对测试用例的具体要、在编写测试用例之前,还要明确项目对测试用例的具体要求求u测试用例编号如何命名测试用例编号如何命名u测试用例应该提交到什么地方测试用例应该提交到什么地方u测试用例中用到的附件命名规定,存放位置测试用例中用到的附件命名规定,存放位置l 2、测试用例是需要更新和维护的,是一个不断修改完善的过、测试用例是需要更新和维护的,是一个不断修改完善的过程程l 3、测试用例需要正式

7、的评审、测试用例需要正式的评审l 4、测试用例覆盖系统的程度决定测试的覆盖程度、测试用例覆盖系统的程度决定测试的覆盖程度11/82对测试人员的要求对测试人员的要求l 1、基本要求、基本要求u在编写一条测试用例时,要求步骤描述清晰、准确、易读,预期结果明确在编写一条测试用例时,要求步骤描述清晰、准确、易读,预期结果明确l 如果有特殊的设置、预置条件等,要明确写出如果有特殊的设置、预置条件等,要明确写出l 如果有输入数据,一般要给出输入数据取值如果有输入数据,一般要给出输入数据取值l 如果有附件,要给出附件存放位置,名称如果有附件,要给出附件存放位置,名称l 检验标准检验标准u写完用例后,让别人照

8、着自己的用例去执行测试,可以很顺畅的执行下来写完用例后,让别人照着自己的用例去执行测试,可以很顺畅的执行下来12/82l 2、高标准要求、高标准要求u测试用例编写的有条理、逻辑性强测试用例编写的有条理、逻辑性强l 可以按照功能点分类、操作顺序等逻辑编写,而不要一会测试这儿一会测可以按照功能点分类、操作顺序等逻辑编写,而不要一会测试这儿一会测试哪儿试哪儿u功能覆盖全面、深入,能够发现软件中更多的缺陷功能覆盖全面、深入,能够发现软件中更多的缺陷l 检验标准检验标准u能把软件中的缺陷尽可能多的找出来,按照你的测试用例测试完的软件能把软件中的缺陷尽可能多的找出来,按照你的测试用例测试完的软件,遗留的缺

9、陷最少,遗留的缺陷最少要求测试人员最终达到的目标,是一个需要长期要求测试人员最终达到的目标,是一个需要长期练习、积累的过程。练习、积累的过程。13/82二、使用等价类划分方法编写测试用例二、使用等价类划分方法编写测试用例14/82案例案例2-12-1l 测试两位整数加法计算器测试两位整数加法计算器u功能演示功能演示15/82l 两位整数加法计算器基本需求两位整数加法计算器基本需求u第一个数和第二个数都是只能输入第一个数和第二个数都是只能输入-99到到99之间的整数之间的整数u对于输入的小于对于输入的小于-99的数据或者大于的数据或者大于99的数据,程序应给出明确提示的数据,程序应给出明确提示u

10、对于输入的小数、字符等非法数据,程序应给出明确提示对于输入的小数、字符等非法数据,程序应给出明确提示16/82l 如何编写测试用例?如何编写测试用例?17/82l 遇到了什么问题遇到了什么问题u在测试了在测试了11,12,1(-1)和)和1(-2)之后,是否有必要测试)之后,是否有必要测试13,14 ,1(-3)和)和1(-4)呢?)呢?u如果不对程序进行穷举测试,是否放心输入其他数据都能正确计算?如果不对程序进行穷举测试,是否放心输入其他数据都能正确计算?18/82等价类划分的基本概念等价类划分的基本概念l 等价类划分属于典型的黑盒测试方法,根据程序对数据的要求等价类划分属于典型的黑盒测试方

11、法,根据程序对数据的要求,把程序的输入域划分成若干个部分,区分出哪些数据是有效,把程序的输入域划分成若干个部分,区分出哪些数据是有效的,哪些数据是无效的,从每个部分中选取少数代表性数据作的,哪些数据是无效的,从每个部分中选取少数代表性数据作为测试用例。这样,每一类的代表性数据在测试中的作用都等为测试用例。这样,每一类的代表性数据在测试中的作用都等价于这类中的其他值。价于这类中的其他值。19/82等价类划分中核心概念等价类划分中核心概念l 有效等价类:有效等价类:u对程序的规格说明有意义、合理的输入数据集合。对程序的规格说明有意义、合理的输入数据集合。u如果用户输入有效等价类中的数据,程序应该正

12、确计算、执行如果用户输入有效等价类中的数据,程序应该正确计算、执行l 无效等价类:无效等价类:u对程序的规格说明不合理的或无意义的输入数据集合。对程序的规格说明不合理的或无意义的输入数据集合。u如果用户输入无效等价类中的数据,程序应该给予错误提示或者根本不如果用户输入无效等价类中的数据,程序应该给予错误提示或者根本不允许用户输入允许用户输入20/82使用等价类划分方法设计测试用例使用等价类划分方法设计测试用例l 使用等价类划分方法对两位整数加法计算器进行测试用例的设计使用等价类划分方法对两位整数加法计算器进行测试用例的设计u说明:说明:l 刚开始学习时,我们就先针对每一个控件进行单独测试就行,

13、也就是假设刚开始学习时,我们就先针对每一个控件进行单独测试就行,也就是假设其他控件输入的数据是正确的就可以,先不考虑控件的组合情况。在实际其他控件输入的数据是正确的就可以,先不考虑控件的组合情况。在实际测试时,要考虑两个文本框的组合情况,这是我们后面要讲到的内容。测试时,要考虑两个文本框的组合情况,这是我们后面要讲到的内容。21/82对第一个文本框进行测试对第一个文本框进行测试l 在对第一个文本框测试时,先假设第二个文本框输入的数据是在对第一个文本框测试时,先假设第二个文本框输入的数据是正确的,比如:正确的,比如:2022/82步骤一:划分等价类步骤一:划分等价类l 按照功能要求,对第一个文本

14、框的取值范围进行划分按照功能要求,对第一个文本框的取值范围进行划分u有效等价类:有效等价类:l 大于等于大于等于-99并且小于等于并且小于等于99的整数的整数u无效等价类:无效等价类:l 小于小于-99的整数的整数l 大于大于99的整数的整数l 小数小数l 字符字符23/82-9999小数、字符小数、字符整数整数有效等价类:有效等价类:-99=数值数值数值数值无效等价类:无效等价类:99数值数值24/82步骤二:细化等价类步骤二:细化等价类l 依据的一般不是显式需求依据的一般不是显式需求u数据在计算机中按照补码方式存储,正数的补码与原码相同,数据在计算机中按照补码方式存储,正数的补码与原码相同

15、,负数的补码与原码不同。所以有必要对正数和负数分别进行测负数的补码与原码不同。所以有必要对正数和负数分别进行测试。试。无效等价类:无效等价类:字符字符-9999小数、字符小数、字符整数整数有效等价类:有效等价类:-99=数值数值 数值数值无效等价类:无效等价类:99数值数值0有效等价类:有效等价类:0=数值数值=99无效等价无效等价类:小数类:小数25/82n对等价类进行编号对等价类进行编号(1)(2)(3)(4)(5)(6)-9999小数、字符小数、字符整数整数有效等价类:有效等价类:-99=数值数值 数值数值无效等价类:无效等价类:99数值数值0有效等价类:有效等价类:0=数值数值=99无

16、效等价无效等价类:小数类:小数步骤三:建立等价类表步骤三:建立等价类表26/82l 建立等价类表建立等价类表u假设第一个文本框取值为假设第一个文本框取值为X有效等价类有效等价类 编编 号号 取取 值值1-99= X =020= X =99无效等价类无效等价类 编编 号号 取取 值值3X 995小数6字符27/82步骤四:编写测试用例步骤四:编写测试用例l 从每个等价类中至少选取一个数据作为测试数据从每个等价类中至少选取一个数据作为测试数据28/82用例编号用例编号用例描述用例描述预期结果预期结果实际结果实际结果11、在“第一个数”文本框中输入:-502、在”第二个数”文本框中输入:203、点击

17、“计算”按钮在”和”文本框中输出:-3021、在“第一个数”文本框中输入:482、在”第二个数”文本框中输入:403、点击“计算”按钮在”和”文本框中输出:8831、在“第一个数“文本框中输入:-2002、在”第二个数”文本框中输入:903、点击“计算”按钮提示“输入的第一个数超出范围”41、在“第一个数“文本框中输入:1502、在”第二个数”文本框中输入:-503、点击“计算”按钮提示“输入的第一个数超出范围”51、在“第一个数”文本框中输入:1.92、在”第二个数”文本框中输入:-203、点击“计算”按钮提示不能输入小数61、在“第一个数”文本框中输入:abc2、在”第二个数”文本框中输入

18、:403、点击“计算”按钮提示不能输入字符29/82计算机当中整数是以补码表示的:计算机当中整数是以补码表示的:一个正数的补码和其原码相同对于负数,则存放补码的方法是:将该数的绝对值二进制形式按位取反再加。例如,求-11的补码分四步骤:、取-11的绝对值为11、11的二进制形式为 0000 0000 0000 0000 0000 0000 0000 1011、对上面取反1111 1111 1111 1111 1111 1111 1111 0100、再加11111 1111 1111 1111 1111 1111 1111 0101知识点补充补码30/82对第二个文本框进行测试对第二个文本框进行

19、测试l 在对第二个文本框测试时,也假设第一个文本框输入的数据是在对第二个文本框测试时,也假设第一个文本框输入的数据是正确的,比如:正确的,比如:5031/82步骤一:划分等价类步骤一:划分等价类l 按照功能要求,对第二个文本框的取值范围进行划分按照功能要求,对第二个文本框的取值范围进行划分-9999小数、字符小数、字符整数整数有效等价类:有效等价类:-99=数值数值数值数值无效等价类:无效等价类:99数值数值32/82步骤二:细化等价类步骤二:细化等价类无效等价类:无效等价类:字符字符-9999小数、字符小数、字符整数整数有效等价类:有效等价类:-99=数值数值 数值数值无效等价类:无效等价类

20、:99数值数值0有效等价类:有效等价类:0=数值数值=99无效等价无效等价类:小数类:小数33/82步骤三:建立等价类表步骤三:建立等价类表l 对等价类进行编号对等价类进行编号无效等价类:无效等价类:字符字符-9999小数、字符小数、字符整数整数有效等价类:有效等价类:-99=数值数值 数值数值无效等价类:无效等价类:99数值数值0有效等价类:有效等价类:0=数值数值=99无效等价无效等价类:小数类:小数(1)(2)(3)(4)(5)(6)34/82l 建立等价类表建立等价类表u假设第二个文本框取值为假设第二个文本框取值为Y有效等价类有效等价类编编 号号 取取 值值1-99= Y =020=

21、Y =99无效等价类无效等价类编编 号号取取 值值3Y 995小数6字符35/82用例编号用例描述预期结果实际结果71、在“第一个数”文本框中输入:502、在”第二个数”文本框中输入:-803、点击“计算”按钮在”和”文本框中输出:-3081、在“第一个数”文本框中输入:702、在”第二个数”文本框中输入:903、点击“计算”按钮在”和”文本框中输出:16091、在“第一个数“文本框中输入:-202、在”第二个数”文本框中输入:-2303、点击“计算”按钮提示“输入的第二个数超出范围”101、在“第一个数“文本框中输入:302、在”第二个数”文本框中输入:1403、点击“计算”按钮提示“输入的

22、第二个数超出范围”111、在“第一个数”文本框中输入:202、在”第二个数”文本框中输入:-40.583、点击“计算”按钮提示不能输入小数121、在“第一个数”文本框中输入:902、在”第二个数”文本框中输入:a?!3、点击“计算”按钮提示不能输入字符步骤四:编写测试用例步骤四:编写测试用例36/82l 说明:说明:u上面编写的测试用例,满足等价类划分方法的要求,但是存在一些上面编写的测试用例,满足等价类划分方法的要求,但是存在一些问题:问题:l 存在数据冗余存在数据冗余 如:用例2和用例8l 没有考虑控件之间的组合,所以会丢失一些情况没有考虑控件之间的组合,所以会丢失一些情况 如:两个数据都

23、是无效等价类的情况没有考虑u测试用例的设计就是一个循序渐进,逐步完善的过程,我们的课程测试用例的设计就是一个循序渐进,逐步完善的过程,我们的课程也是循序渐进的,在后面课程中我们会加以讲解。当然,以后熟练也是循序渐进的,在后面课程中我们会加以讲解。当然,以后熟练了,可以一步到位设计出最优的用例。了,可以一步到位设计出最优的用例。37/82步骤小结步骤小结l 等价类划分的步骤等价类划分的步骤u划分等价类划分等价类u细划等价类划分细划等价类划分u建立等价类表建立等价类表u编写测试用例编写测试用例38/82等价类的特点等价类的特点l每一类的代表性数据每一类的代表性数据(也就是被选为测试用例的数据)(也

24、就是被选为测试用例的数据)在测试中的作用等价于这一类中的其他值在测试中的作用等价于这一类中的其他值。l如果等价类中的一个测试能够捕获一个缺陷,那么选择如果等价类中的一个测试能够捕获一个缺陷,那么选择该等价类中的其他测试也能捕获该缺陷。该等价类中的其他测试也能捕获该缺陷。l如果等价类中的一个测试不能捕获缺陷,那么选择该等如果等价类中的一个测试不能捕获缺陷,那么选择该等价类中的其他测试也不会捕获缺陷。价类中的其他测试也不会捕获缺陷。39/82案例案例2-22-2l 用等价类划分方法编写即时帖程序的设置标题的测试用例用等价类划分方法编写即时帖程序的设置标题的测试用例u即时贴标题的要求即时贴标题的要求

25、l 1=标题字节数标题字节数40l 字符中不能包含字符中不能包含 / : * ? “ ” 40/821 1、划分等价类、划分等价类140无效等价类无效等价类标题字节数标题字节数40有效等价类有效等价类1=标题字节数标题字节数40(1)(2)无效等价无效等价类类0个字个字符符(3)1、从标题长度、从标题长度考虑:考虑:0无效等价类无效等价类非法字符非法字符( /:*?“” )有效等价类有效等价类合法字符(除合法字符(除/:/:* *? ?“” )(4)(5)2、从标题允许字符、从标题允许字符考虑:考虑:41/822 2、细化、整理等价类、细化、整理等价类l 对于有效的标题,应该同时满足下列两项:

26、对于有效的标题,应该同时满足下列两项:u1=长度长度=40 有效等价类有效等价类1u字符中不包含非法字符(字符中不包含非法字符(/ : * ? “ ” )有效等价类有效等价类4l 也就是说,一个合法的标题应该同时满足以上两点要求也就是说,一个合法的标题应该同时满足以上两点要求42/82无效等价类无效等价类标题字节数标题字节数40有效等价类有效等价类合法字符(除合法字符(除/:/:* *? ?“” )(5)(2)有效等价类有效等价类1=标题字节数标题字节数40无效等价类无效等价类非法字符非法字符 /:*?“”1(1)40(4)无效等价无效等价类类 0个个字符字符(3)043/823 3、建立等价

27、类表、建立等价类表l (1)从标题长度考虑)从标题长度考虑有效等价类有效等价类编编 号号取取 值值11= 标题字节数 403标题字节数=044/82l (2)从标题允许字符考虑)从标题允许字符考虑有效等价类有效等价类编号编号取取 值值4标题不包含以下非法字符:/ : * ? “ ” 无效等价类无效等价类编号编号取取 值值 5标题至少包含以下一个非法字符:/ : * ? “ ” 45/82l (3)整体考虑)整体考虑有效等价类有效等价类编编 号号 取取 值值1&41= 标题字节数 =40标题不包含以下非法字符:/ : * ? “ ” 无效等价类无效等价类编编 号号取取 值值2标题字节数403标题

28、字节数=05标题至少包含以下一个非法字符:/ : * ? “ ” 46/824 4、编写测试用例、编写测试用例用例用例编号编号 用例描述用例描述预期结果预期结果备注备注1在标题文本框中输入:会议提醒标题正确添加8个字节2在标题文本框中输入:会议提醒会议提醒通知2002abs会议提醒+你好 给出错误提示42个字节3在标题文本框中不输入任何内容给出错误提示0字节4在标题文本框中输入:会议提醒/给出错误提示测试特殊字符/5在标题文本框中输入:会议:提醒给出错误提示测试特殊字符:47/82用例用例编号编号 用例描述用例描述预期结果预期结果备注备注6在标题文本框中输入:会议提醒*给出错误提示测试特殊字符

29、*7标题文本框中输入:会议提醒?给出错误提示测试特殊字符?8标题文本框中输入:会议提醒“给出错误提示测试特殊字符“9在标题文本框中输入:会议提醒”给出错误提示测试特殊字符”10在标题文本框中输入:会议提醒给出错误提示测试特殊字符给出错误提示测试特殊字符48/82用例用例编号编号 用例描述用例描述预期输出预期输出备注备注12在标题文本框中输入:会议*提?醒/给出错误提示测试特殊字符组合13标题文本框中输入:会议提醒/:*?“”给出错误提示测试特殊字符组合49/82l 说明:说明:u对于需求明确提出的特殊字符,最好先一个一个进行测试对于需求明确提出的特殊字符,最好先一个一个进行测试u最后再适当考虑

30、特殊字符的组合最后再适当考虑特殊字符的组合u要考虑最糟糕的情况,就是在一个标题中同时出现要考虑最糟糕的情况,就是在一个标题中同时出现 / : * ? “ ” 这这些非法字符些非法字符 ,甚至标题长度同时超长的情况,甚至标题长度同时超长的情况50/82划分等价类基本原则划分等价类基本原则l (1)在输入条件规定了取值范围或值的个数的情况下,可以)在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类。确立一个有效等价类和两个无效等价类。u例如:例如:l 两位数加法计算器取值是两位数加法计算器取值是-9999,则在此范围内的为一个有效等价,则在此范围内的为一个有效等价类

31、,小于类,小于-99的和大于的和大于99的为两个无效等价类。的为两个无效等价类。51/82l (2)在输入条件规定了输入值的集合或者规定了)在输入条件规定了输入值的集合或者规定了“必须如何必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价的条件的情况下,可以确立一个有效等价类和一个无效等价类。类。u例如:例如:l 在某软件中规定在某软件中规定“身份身份”一栏只能填写一栏只能填写“党员党员”、“团员团员”、“群众群众”,则这三个是有效等价类,其他的输入全部为无效等价类。当然,则这三个是有效等价类,其他的输入全部为无效等价类。当然,在这种情况下,一般让用户进行选择最好。在这种情况下,一

32、般让用户进行选择最好。52/82l (3)在规定了输入数据的一组值)在规定了输入数据的一组值(假定假定n个个),并且程序要对每,并且程序要对每一个输入值分别处理的情况下,可确立一个输入值分别处理的情况下,可确立n个有效等价类和一个个有效等价类和一个无效等价类。无效等价类。u例如:例如:l 用户可以输入用户可以输入“粗体粗体”、“斜体斜体”、“下划线下划线”、“删除线删除线”来设置来设置字体的显示效果,那么这四种输入就是四个有效等价类,其他的可归字体的显示效果,那么这四种输入就是四个有效等价类,其他的可归为一个无效等价类为一个无效等价类l 同样在这种情况下,最好提供取值供用户进行选择同样在这种情

33、况下,最好提供取值供用户进行选择53/82l (4)在规定了输入数据必须遵守的规则的情况下,可确立一)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类个有效等价类(符合规则符合规则)和若干个无效等价类和若干个无效等价类(从不同角度违反从不同角度违反规则规则)。u例如:例如:l 要求要求“学生编号学生编号”必须以字母开头,后面跟必须以字母开头,后面跟4位数字,则像位数字,则像“A0001”、“B1001”这样满足格式要求的为有效等价类,而像这样满足格式要求的为有效等价类,而像“12345”、“A123”、“AA123”、“!1234”等都为无效等价类等都为无效等价类54/82l (5

34、)在确知已划分的等价类中,各元素在程序处理中的方式)在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价不同的情况下,则应再将该等价类进一步地划分为更小的等价类。类。u例如:例如:l 正数和负数的处理方式是不是不同正数和负数的处理方式是不是不同l 加减乘除都属于有效等价类,但由于使用不同的函数实现,所以需要加减乘除都属于有效等价类,但由于使用不同的函数实现,所以需要把每一个运算看做一个独立的等价类进行单独测试把每一个运算看做一个独立的等价类进行单独测试55/82三、使用边界值方法设计测试用例三、使用边界值方法设计测试用例56/82案例案例3-1

35、3-1l 使用下列数据对两位整数加法计算器进行测试使用下列数据对两位整数加法计算器进行测试用例编号用例编号 操作描述操作描述预期结果预期结果实际结果实际结果11、在“第一个数”文本框中输入:992、在”第二个数”文本框中输入:203、点击“计算”按钮在”和”文本框中输出:11921、在“第一个数”文本框中输入:-992、在”第二个数”文本框中输入:-203、点击“计算”按钮在”和”文本框中输出:-11931、在“第一个数”文本框中输入:102、在”第二个数”文本框中输入:993、点击“计算”按钮在”和”文本框中输出:10941、在“第一个数”文本框中输入:102、在”第二个数”文本框中输入:-

36、993、点击“计算”按钮在”和”文本框中输出:-89提示错误提示错误提示错误提示错误提示错误提示错误提示错误提示错误bugbugbugbug57/82l 为什么会产生这样的结果?为什么会产生这样的结果?58/82l 查看源代码查看源代码边界条件设置错误边界条件设置错误把把 写成了写成了 =把把 写成了写成了 =说明:说明:有效数据和无效数据的分界有效数据和无效数据的分界点,往往作为程序员编写程点,往往作为程序员编写程序的判断点,是程序员容易序的判断点,是程序员容易犯错误的地方,也是测试人犯错误的地方,也是测试人员重点测试的内容。员重点测试的内容。59/82l 如何解决这类问题?如何解决这类问题

37、?u找到测试数据的边界点,也就是有效等价类和无效等价类的找到测试数据的边界点,也就是有效等价类和无效等价类的边界点,对边界点数据专门进行测试。边界点,对边界点数据专门进行测试。u一般情况下,需要对边界值(一般情况下,需要对边界值(-99和和99)以及边界值两边的数)以及边界值两边的数(-100和和-98以及以及100和和98)分别进行测试)分别进行测试60/82l 针对于第一个数文本框,使用边界值方法设计如下用例:针对于第一个数文本框,使用边界值方法设计如下用例:用例编号用例编号输入数值输入数值预期结果预期结果实际结果实际结果被测边界被测边界1-99 +50-49-992-100 +90提示错

38、误3-98 +20-78499 +30129995100 +40提示错误698 +10108提示错误提示错误提示错误提示错误-78提示错误提示错误提示错误提示错误108BUG!BUG!61/82l 针对于第二个数文本框,使用边界值方法设计如下用例:针对于第二个数文本框,使用边界值方法设计如下用例:用例编号用例编号输入数值输入数值预期结果预期结果实际结果实际结果被测边界被测边界730+(-99)-69-998-10+(-100)提示错误950+(-98)-481060+ 99159991190+ 100提示错误12-70+ 9812提示错误提示错误提示错误提示错误- 48提示错误提示错误提示错误

39、提示错误12BUG!BUG!62/82l 一般结合使用等价类划分和边界值方法设计一套较为完善的测试一般结合使用等价类划分和边界值方法设计一套较为完善的测试用例用例63/82用例编号用例编号用例描述用例描述预期结果预期结果实际结果实际结果11、在“第一个数”文本框中输入:-502、在”第二个数”文本框中输入:203、点击“计算”按钮在”和”文本框中输出:-3021、在“第一个数”文本框中输入:482、在”第二个数”文本框中输入:403、点击“计算”按钮在”和”文本框中输出:8831、在“第一个数“文本框中输入:-2002、在”第二个数”文本框中输入:903、点击“计算”按钮提示“输入的第一个数超

40、出范围”41、在“第一个数“文本框中输入:1502、在”第二个数”文本框中输入:-503、点击“计算”按钮提示“输入的第一个数超出范围”51、在“第一个数”文本框中输入:-12.92、在”第二个数”文本框中输入:-203、点击“计算”按钮提示不能输入小数61、在“第一个数”文本框中输入:abc2、在”第二个数”文本框中输入:403、点击“计算”按钮提示不能输入字符n第一个数文本框测试用例第一个数文本框测试用例-等价类等价类64/82用例编号用例编号用例描述用例描述预期结果预期结果实际结果实际结果71、在“第一个数”文本框中输入:-992、在”第二个数”文本框中输入:503、点击“计算”按钮在”

41、和”文本框中输出:-4981、在“第一个数”文本框中输入:-1002、在”第二个数”文本框中输入:903、点击“计算”按钮提示“输入的第一个数超出范围”91、在“第一个数“文本框中输入:-982、在”第二个数”文本框中输入:203、点击“计算”按钮在”和”文本框中输出:-78101、在“第一个数“文本框中输入:992、在”第二个数”文本框中输入:303、点击“计算”按钮在”和”文本框中输出:129111、在“第一个数“文本框中输入:1002、在”第二个数”文本框中输入:403、点击“计算”按钮提示“输入的第一个数超出范围”121、在“第一个数“文本框中输入:982、在”第二个数”文本框中输入:

42、103、点击“计算”按钮在”和”文本框中输出:108n第一个数文本框测试用例第一个数文本框测试用例-边界值边界值65/82用例编号用例编号用例描述用例描述预期结果预期结果实际结果实际结果131、在“第一个数”文本框中输入:502、在”第二个数”文本框中输入:-803、点击“计算”按钮在”和”文本框中输出:-30141、在“第一个数”文本框中输入:702、在”第二个数”文本框中输入:903、点击“计算”按钮在”和”文本框中输出:160151、在“第一个数“文本框中输入:-202、在”第二个数”文本框中输入:-2303、点击“计算”按钮提示“输入的第二个数超出范围”161、在“第一个数“文本框中输

43、入:302、在”第二个数”文本框中输入:1403、点击“计算”按钮提示“输入的第二个数超出范围”171、在“第一个数”文本框中输入:202、在”第二个数”文本框中输入:-40.583、点击“计算”按钮提示不能输入小数181、在“第一个数”文本框中输入:902、在”第二个数”文本框中输入:a?!3、点击“计算”按钮提示不能输入字符n第二个数文本框测试用例第二个数文本框测试用例-等价类等价类66/82用例编号用例编号用例描述用例描述预期结果预期结果实际结果实际结果191、在“第一个数”文本框中输入:302、在”第二个数”文本框中输入:-993、点击“计算”按钮在”和”文本框中输出:-69201、在

44、“第一个数”文本框中输入:-102、在”第二个数”文本框中输入:-1003、点击“计算”按钮提示“输入的第一个数超出范围”211、在“第一个数“文本框中输入:502、在”第二个数”文本框中输入:-983、点击“计算”按钮在”和”文本框中输出:-48221、在“第一个数“文本框中输入:602、在”第二个数”文本框中输入:993、点击“计算”按钮在”和”文本框中输出:159231、在“第一个数“文本框中输入:902、在”第二个数”文本框中输入:1003、点击“计算”按钮提示“输入的第一个数超出范围”241、在“第一个数“文本框中输入:-702、在”第二个数”文本框中输入:983、点击“计算”按钮在

45、”和”文本框中输出:12n第二个数文本框测试用例第二个数文本框测试用例-边界值边界值67/82案例案例3-23-2l 即时贴程序,使用边界值方法设计添加标题的测试用例即时贴程序,使用边界值方法设计添加标题的测试用例u1=标题长度标题长度=4014023941068/82使用边界值方法编写测试用例使用边界值方法编写测试用例用例编号用例编号 用例描述用例描述预期结果预期结果备注备注1在标题文本框中输入:a标题正确添加1个字节2在标题文本框中不输入任何内容给出错误提示0个字节3在标题文本框中输入:好标题正确添加2字节4在标题文本框中输入:abcdefghijklmnopqrstuvwxyz12345

46、678907890标题正确添加40个字节5在标题文本框中输入:abcdefghijklmnopqrstuvwxyz1234567890789标题正确添加39个字节6在标题文本框中输入:abcdefghijklmnopqrstuvwxyz123456789078901给出错误提示41个字节69/82结合等价类划分和边界值编写测试用例结合等价类划分和边界值编写测试用例用例编号用例编号 用例描述用例描述预期结果预期结果备注备注1在标题文本框中输入:会议提醒标题正确添加8个字节2在标题文本框中输入:会议提醒会议提醒通知2002&$%会议提醒+你好 给出错误提示42个字节3在标题文本框中不输入任何内容给

47、出错误提示0字节等价类划分等价类划分从标题长度考虑从标题长度考虑70/82用例编号用例编号 用例描述用例描述预期结果预期结果备注备注4在标题文本框中输入:a标题正确添加1个字节5在标题文本框中不输入任何内容给出错误提示0个字节与用例3重复,去掉6在标题文本框中输入:好标题正确添加2字节7在标题文本框中输入:abcdefghijklmnopqrstuvwxyz12345678907890标题正确添加40个字节8在标题文本框中输入:abcdefghijklmnopqrstuvwxyz1234567890789标题正确添加39个字节9在标题文本框中输入:abcdefghijklmnopqrstuvw

48、xyz123456789078901给出错误提示41个字节边界值边界值71/82用例编号用例编号 用例描述用例描述预期结果预期结果备注备注10在标题文本框中输入:会议提醒/给出错误提示测试特殊字符/11在标题文本框中输入:会议:提醒给出错误提示测试特殊字符:12在标题文本框中输入:会议提醒*给出错误提示测试特殊字符*13标题文本框中输入:会议提醒?给出错误提示测试特殊字符?14标题文本框中输入:会议提醒“给出错误提示测试特殊字符“15在标题文本框中输入:会议提醒”给出错误提示测试特殊字符”等价类划分等价类划分从标题允许字符考虑从标题允许字符考虑72/82用例编号用例编号 用例描述用例描述预期结

49、果预期结果备注备注16在标题文本框中输入:会议提醒给出错误提示测试特殊字符给出错误提示测试特殊字符18在标题文本框中输入:会议*提?醒/给出错误提示测试特殊字符组合19标题文本框中输入:会议提醒/:*?“”给出错误提示测试特殊字符组合73/82案例案例3-33-3:数组溢出:数组溢出l 执行执行array. exe程序程序74/82l 查看源代码查看源代码#include main()int data10;int i;for(i=0;i=10;i+)datai=-1;for(i=0;i10;i+)printf(data%d=%dn,i,datai);system(pause);原因:原因:把把“”写成写成“=”,使循环多执行一次,使循环多执行一次,导致程序试图引用一导致程序试图引用一个不存在的数组元素个不存在的数组元素data1075/82案例案例3-43-4:隐含边界:隐含边界l 源代码:源代码:#include void main()int sum=2147483646; int i=0;sum=sum+1;printf(1、sum =%dn,sum);sum=sum+1;printf(2、sum =%dn,sum);sum=sum+1;printf(3、sum =%dn,sum);s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论