收藏 分销(赏)

第01章、使用等价类和边界值方法设计测试用例.ppt

上传人:xrp****65 文档编号:13664301 上传时间:2026-04-05 格式:PPT 页数:84 大小:1.86MB 下载积分:10 金币
下载 相关 举报
第01章、使用等价类和边界值方法设计测试用例.ppt_第1页
第1页 / 共84页
第01章、使用等价类和边界值方法设计测试用例.ppt_第2页
第2页 / 共84页


点击查看更多>>
资源描述
,Title Holder,单击此处编辑母版文本样式,第二级,第三级,*,*,*,/84,*,*,单击此处编辑母版文本样式,第二级,第三级,Topics,第,1,章、使用等价类和边界值方法设计测试用例,2026/4/5 周日,2,2026/4/5 周日,2,测试用例的概念,使用等价类划分方法设计测试用例,使用边界值方法设计测试用例,本章内容,一、测试用例的概念,引例,在测试即时贴程序时遇到哪些问题,你可能遇到了下列问题,不知道是否较全面的测试了所有内容,不知道所有功能点是否都测到了?,不清楚每个功能点是否都测试全面了?,存在大量冗余测试,影响测试效率,有些功能点可能测试多次,对新版本的重复测试很难实施,每个版本测试的步骤、数据都不一样,随意性很强,测试的覆盖率无法衡量,最后测试的好与坏不得而知,测试用例的基本概念,测试用例主要记录了测试的过程、步骤、输入的数据、预期结果等内容。它是在执行测试之前由测试人员编写的指导测试的重要文档。,解决要,测什么、怎么测和如何衡量,的问题,案例,1-1,:即时贴测试用例,2026/4/5 周日,7,测试用例用途,核实需求:要使最终用户满意,首先就是要对用户的期望加以明确阐述,以便对这些期望进行核实并确认其有效性,监督过程:可以准确、有效的评估测试的工作量,评估结果:对产品进行评估,对测试完成情况进行评价,准确回归:快速的进行正确的回归,防止遗漏:使软件测试的实施重点突出、目的明确,确保需求功能不被遗漏。,提高效率:避免盲目测试,缩短周期:版本更新和升级时,只需修正少部分测试用例,资源复用。,2026/4/5 周日,7,准备编写测试用例,参考相关文档,需求文档,开发文档,用户手册,如果有软件的早期版本,尽快熟悉软件的使用,与相关人员讨论,获得测试用例模板,Word,格式模板,Excel,格式模板,如果使用,TestDirector,或,Quality Center,等测试管理工具,直接写在工具的,“,Test Plan,”,模块中即可,注意,1,、在编写测试用例之前,还要明确项目对测试用例的具体要求,测试用例编号如何命名,测试用例应该提交到什么地方,测试用例中用到的附件命名规定,存放位置,2,、测试用例是需要更新和维护的,是一个不断修改完善的过程,3,、测试用例需要正式的评审,4,、测试用例覆盖系统的程度决定测试的覆盖程度,对测试人员的要求,1,、基本要求,在编写一条测试用例时,要求步骤描述清晰、准确、易读,预期结果明确,如果有特殊的设置、预置条件等,要明确写出,如果有输入数据,一般要给出输入数据取值,如果有附件,要给出附件存放位置,名称,检验标准,写完用例后,让别人照着自己的用例去执行测试,可以很顺畅的执行下来,2,、高标准要求,测试用例编写的有条理、逻辑性强,可以按照功能点分类、操作顺序等逻辑编写,而不要一会测试这儿一会测试哪儿,功能覆盖全面、深入,能够发现软件中更多的缺陷,检验标准,能把软件中的缺陷尽可能多的找出来,按照你的测试用例测试完的软件,遗留的缺陷最少,要求测试人员最终达到的目标,是一个需要长期练习、积累的过程。,二、使用等价类划分方法编写测试用例,案例,2-1,测试两位整数加法计算器,功能演示,两位整数加法计算器基本需求,第一个数和第二个数都是只能输入,-99,到,99,之间的整数,对于输入的小于,-99,的数据或者大于,99,的数据,程序应给出明确提示,对于输入的小数、字符等非法数据,程序应给出明确提示,如何编写测试用例?,遇到了什么问题,在测试了,1,1,,,1,2,,,1,(,-1,)和,1,(,-2,)之后,是否有必要测试,1,3,,,1,4,,,1,(,-3,)和,1,(,-4,)呢?,如果不对程序进行穷举测试,是否放心输入其他数据都能正确计算?,等价类划分的基本概念,等价类划分属于典型的黑盒测试方法,根据程序对数据的要求,把程序的输入域划分成若干个部分,区分出哪些数据是有效的,哪些数据是无效的,从每个部分中选取少数代表性数据作为测试用例。这样,每一类的代表性数据在测试中的作用都等价于这类中的其他值。,等价类划分中核心概念,有效等价类:,对程序的规格说明有意义、合理的输入数据集合。,如果用户输入有效等价类中的数据,程序应该正确计算、执行,无效等价类:,对程序的规格说明不合理的或无意义的输入数据集合。,如果用户输入无效等价类中的数据,程序应该给予错误提示或者根本不允许用户输入,使用等价类划分方法设计测试用例,使用等价类划分方法对两位整数加法计算器进行测试用例的设计,说明:,刚开始学习时,我们就先针对每一个控件进行单独测试就行,也就是假设其他控件输入的数据是正确的就可以,先不考虑控件的组合情况。在实际测试时,要考虑两个文本框的组合情况,这是我们后面要讲到的内容。,对第一个文本框进行测试,在对第一个文本框测试时,先假设第二个文本框输入的数据是正确的,比如:,20,步骤一:划分等价类,按照功能要求,对第一个文本框的取值范围进行划分,有效等价类:,大于等于,-99,并且小于等于,99,的整数,无效等价类:,小于,-99,的整数,大于,99,的整数,小数,字符,-99,99,小数、字符,整数,有效等价类:,-99=,数值,数值,无效等价类:,99,数值,步骤二:细化等价类,依据的一般不是显式需求,数据在计算机中按照补码方式存储,正数的补码与原码相同,负数的补码与原码不同。所以有必要对正数和负数分别进行测试。,无效等价类:,字符,-99,99,小数、字符,整数,有效等价类:,-99=,数值,数值,无效等价类:,99,数值,0,有效等价类:,0=,数值,=99,无效等价类:,小数,对等价类进行编号,(,1,),(,2,),(,3,),(,4,),(,5,),(,6,),-99,99,小数、字符,整数,有效等价类:,-99=,数值,数值,无效等价类:,99,数值,0,有效等价类:,0=,数值,=99,无效等价类:,小数,步骤三:建立等价类表,建立等价类表,假设第一个文本框取值为,X,有效等价类,编 号,取 值,1,-99=X=0,2,0=X=99,无效等价类,编 号,取 值,3,X 99,5,小数,6,字符,步骤四:编写测试用例,从每个等价类中至少选取一个数据作为测试数据,用例编号,操作描述,预期结果,实际结果,1,1,、在,“,第一个数,”,文本框中输入:,-50,2,、在,”,第二个数,”,文本框中输入:,20,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,-30,2,1,、在,“,第一个数,”,文本框中输入:,48,2,、在,”,第二个数,”,文本框中输入:,40,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,88,3,1,、在,“,第一个数,“,文本框中输入:,-200,2,、在,”,第二个数,”,文本框中输入:,90,3,、点击,“,计算,”,按钮,提示,“,输入的第一个数超出范围,”,4,1,、在,“,第一个数,“,文本框中输入:,150,2,、在,”,第二个数,”,文本框中输入:,-50,3,、点击,“,计算,”,按钮,提示,“,输入的第一个数超出范围,”,5,1,、在,“,第一个数,”,文本框中输入:,-12.9,2,、在,”,第二个数,”,文本框中输入:,-20,3,、点击,“,计算,”,按钮,提示不能输入小数,6,1,、在,“,第一个数,”,文本框中输入:,abc,2,、在,”,第二个数,”,文本框中输入:,40,3,、点击,“,计算,”,按钮,提示不能输入字符,-30,88,提示错误,提示错误,提示错误,提示错误,对第二个文本框进行测试,在对第二个文本框测试时,也假设第一个文本框输入的数据是正确的,比如:,50,步骤一:划分等价类,按照功能要求,对第二个文本框的取值范围进行划分,-99,99,小数、字符,整数,有效等价类:,-99=,数值,数值,无效等价类:,99,数值,步骤二:细化等价类,无效等价类:,字符,-99,99,小数、字符,整数,有效等价类:,-99=,数值,数值,无效等价类:,99,数值,0,有效等价类:,0=,数值,=99,无效等价,类:小数,步骤三:建立等价类表,对等价类进行编号,无效等价类:,字符,-99,99,小数、字符,整数,有效等价类:,-99=,数值,数值,无效等价类:,99,数值,0,有效等价类:,0=,数值,=99,无效等价,类:小数,(,1,),(,2,),(,3,),(,4,),(,5,),(,6,),建立等价类表,假设第二个文本框取值为,Y,有效等价类,编 号,取 值,1,-99=Y=0,2,0=Y=99,无效等价类,编 号,取 值,3,Y 99,5,小数,6,字符,用例编号,操作描述,预期结果,实际结果,7,1,、在,“,第一个数,”,文本框中输入:,50,2,、在,”,第二个数,”,文本框中输入:,-80,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,-30,8,1,、在,“,第一个数,”,文本框中输入:,70,2,、在,”,第二个数,”,文本框中输入:,90,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,160,9,1,、在,“,第一个数,“,文本框中输入:,-20,2,、在,”,第二个数,”,文本框中输入:,-230,3,、点击,“,计算,”,按钮,提示,“,输入的第二个数超出范围,”,10,1,、在,“,第一个数,“,文本框中输入:,30,2,、在,”,第二个数,”,文本框中输入:,140,3,、点击,“,计算,”,按钮,提示,“,输入的第二个数超出范围,”,11,1,、在,“,第一个数,”,文本框中输入:,20,2,、在,”,第二个数,”,文本框中输入:,-40.58,3,、点击,“,计算,”,按钮,提示不能输入小数,12,1,、在,“,第一个数,”,文本框中输入:,90,2,、在,”,第二个数,”,文本框中输入:,a?!,3,、点击,“,计算,”,按钮,提示不能输入字符,-30,160,提示错误,提示错误,步骤四:编写测试用例,提示错误,提示错误,说明:,上面编写的测试用例,满足等价类划分方法的要求,但是存在一些问题:,存在数据冗余,如:用例,2,和用例,8,没有考虑控件之间的组合,所以会丢失一些情况,如:两个数据都是无效等价类的情况没有考虑,测试用例的设计就是一个循序渐进,逐步完善的过程,我们的课程也是循序渐进的,在后面课程中我们会加以讲解。当然,以后熟练了,可以一步到位设计出最优的用例。,步骤小结,等价类划分的步骤,划分等价类,细划等价类划分,建立等价类表,编写测试用例,等价类的特点,每一类的代表性数据,(也就是被选为测试用例的数据),在测试中的作用等价于这一类中的其他值,。,如果等价类中的一个测试能够捕获一个缺陷,那么选择该等价类中的其他测试也能捕获该缺陷。,如果等价类中的一个测试不能捕获缺陷,那么选择该等价类中的其他测试也不会捕获缺陷。,划分等价类要注意的问题,同时考虑有效等价类和无效等价类。,仔细划分,审核划分。,设计一个新的测试用例,使其,尽可能多地,覆盖未被覆盖的有效等价类,此项工作重复进行,直到所有的有效等价类都被覆盖为止。,设计一个新的测试用例,使其覆盖,一个,(,而且仅仅一个,),尚未被覆盖的无效等价类,此项工作重复进行,直到所有的无效等价类都被覆盖为止。,案例,2-2,用等价类划分方法编写即时帖程序的设置标题的测试用例,即时贴标题的要求,1=,标题字节数,40,有效等价类,1=,标题字节数,40,(1),(2),无效等价类,0,个字符,(,3,),1,、从标题长度考虑:,0,无效等价类,非法字符(,/:*?“”,),有效等价类,合法字符(除,/:*?,“”,),(4),(5),2,、从标题允许字符考虑:,2,、细化、整理等价类,对于有效的标题,应该同时满足下列两项:,1=,长度,40,有效等价类,合法字符(除,/:*?,“”,),(5),(2),有效等价类,1=,标题字节数,40,无效等价类,非法字符,/:*?“”,1,(1),40,(4),无效等价类,0,个字符,(,3,),0,3,、建立等价类表,(,1,)从标题长度考虑,有效等价类,编 号,取 值,1,1=,标题字节数,40,3,标题字节数,=0,(,2,)从标题允许字符考虑,有效等价类,编号,取 值,4,标题不包含以下非法字符:,/,:*?,“,”,无效等价类,编号,取 值,5,标题至少包含以下一个非法字符:,/,:*?,“,”,(,3,)整体考虑,有效等价类,编 号,取 值,1&4,1=,标题字节数,40,3,标题字节数,=0,5,标题至少包含以下一个非法字符:,/,:*?,“,”,4,、编写测试用例,测试用例编号,输入标题内容,预期输出,备注,1,在标题文本框中输入:,会议提醒,标题正确添加,8,个字节,2,在标题文本框中输入:,会议提醒会议提醒通知,2002&$%,会议提醒,+,你好,给出错误提示,42,个字节,3,在标题文本框中不输入任何内容,给出错误提示,0,字节,4,在标题文本框中输入:,会议提醒,/,给出错误提示,测试特殊字符,/,5,在标题文本框中输入:,会议,:,提醒,给出错误提示,测试特殊字符,:,测试用例编号,输入标题内容,预期输出,备注,6,在标题文本框中输入:,会议提醒*,给出错误提示,测试特殊字符*,7,标题文本框中输入:,会议提醒,?,给出错误提示,测试特殊字符?,8,标题文本框中输入:,会议提醒,“,给出错误提示,测试特殊字符,“,9,在标题文本框中输入:,会议提醒,”,给出错误提示,测试特殊字符,”,10,在标题文本框中输入:,会议提醒,给出错误提示,测试特殊字符,给出错误提示,测试特殊字符,测试用例编号,输入标题内容,预期输出,备注,12,在标题文本框中输入:,会议*提,?,醒,/,给出错误提示,测试特殊字符组合,13,标题文本框中输入:,会议提醒,/:*?,“”,给出错误提示,测试特殊字符组合,说明:,对于需求明确提出的特殊字符,最好先一个一个进行测试,最后再适当考虑特殊字符的组合,要考虑最糟糕的情况,就是在一个标题中同时出现,/,:*?,“,”,这些非法字符,划分等价类基本原则,(,1,)在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类。,例如:,两位数加法计算器取值是,-99,99,,则在此范围内的为一个有效等价类,小于,-99,的和大于,99,的为两个无效等价类。,(,2,)在输入条件规定了输入值的集合或者规定了,“,必须如何,”,的条件的情况下,可以确立一个有效等价类和一个无效等价类。,例如:,在某软件中规定,“,身份,”,一栏只能填写,“,党员,”,、,“,团员,”,、,“,群众,”,,则这三个是有效等价类,其他的输入全部为无效等价类。当然,在这种情况下,一般让用户进行选择最好。,(,3,)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。,例如:,如果让用户输入,“,真,”,或,“,假,”,,,“,同意,”,或,“,不同意,”,等情况下,可以认为,“,真,”,为有效等价类,,“,假,”,为无效等价类。(当然可以反过来),(,4,)在规定了输入数据的一组值,(,假定,n,个,),,并且程序要对每一个输入值分别处理的情况下,可确立,n,个有效等价类和一个无效等价类。,例如:,用户可以输入,“,粗体,”,、,“,斜体,”,、,“,下划线,”,、,“,删除线,”,来设置字体的显示效果,那么这四种输入就是四个有效等价类,其他的可归为一个无效等价类,同样在这种情况下,最好提供取值供用户进行选择,(,5,)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类,(,符合规则,),和若干个无效等价类,(,从不同角度违反规则,),。,例如:,要求,“,学生编号,”,必须以字母开头,后面跟,4,位数字,则像,“,A0001,”,、,“,B1001,”,这样满足格式要求的为有效等价类,而像,“,12345,”,、,“,A123,”,、,“,AA123,”,、,“,!,1234,”,等都为无效等价类,(,6,)在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类。,例如:,正数和负数的处理方式是不是不同,加减乘除都属于有效等价类,但由于使用不同的函数实现,所以需要把每一个运算看做一个独立的等价类进行单独测试,三、使用边界值方法设计测试用例,案例,3-1,使用下列数据对两位整数加法计算器进行测试,用例编号,操作描述,预期结果,实际结果,1,1,、在,“,第一个数,”,文本框中输入:,99,2,、在,”,第二个数,”,文本框中输入:,20,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,119,2,1,、在,“,第一个数,”,文本框中输入:,-99,2,、在,”,第二个数,”,文本框中输入:,-20,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,-119,3,1,、在,“,第一个数,”,文本框中输入:,10,2,、在,”,第二个数,”,文本框中输入:,99,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,109,4,1,、在,“,第一个数,”,文本框中输入:,10,2,、在,”,第二个数,”,文本框中输入:,-99,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,-89,提示错误,提示错误,提示错误,提示错误,bug,bug,bug,bug,为什么会产生这样的结果?,查看源代码,边界条件设置错误,把,写成了,=,把,写成了,=,说明:,有效数据和无效数据的分界点,往往作为程序员编写程序的判断点,是程序员容易犯错误的地方,也是测试人员重点测试的内容。,如何解决这类问题?,找到测试数据的边界点,也就是有效等价类和无效等价类的边界点,对边界点数据专门进行测试。,一般情况下,需要对边界值(,-99,和,99,)以及边界值两边的数(,-100,和,-98,以及,100,和,98,)分别进行测试,针对于第一个数文本框,使用边界值方法设计如下用例:,用例编号,输入数值,预期结果,实际结果,被测边界,1,-99,+50,-49,-99,2,-100,+90,提示错误,3,-98,+20,-78,4,99,+30,129,99,5,100,+40,提示错误,6,98,+10,108,提示错误,提示错误,-78,提示错误,提示错误,108,BUG,!,BUG,!,针对于第二个数文本框,使用边界值方法设计如下用例:,用例编号,输入数值,预期结果,实际结果,被测边界,7,30+,(,-99,),-69,-99,8,-10+,(,-100,),提示错误,9,50+,(,-98,),-48,10,60+,99,159,99,11,90+,100,提示错误,12,-70+,98,12,提示错误,提示错误,-48,提示错误,提示错误,12,BUG,!,BUG,!,一般结合使用等价类划分和边界值方法设计一套较为完善的测试用例,用例编号,操作描述,预期结果,实际结果,1,1,、在,“,第一个数,”,文本框中输入:,-50,2,、在,”,第二个数,”,文本框中输入:,20,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,-30,2,1,、在,“,第一个数,”,文本框中输入:,48,2,、在,”,第二个数,”,文本框中输入:,40,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,88,3,1,、在,“,第一个数,“,文本框中输入:,-200,2,、在,”,第二个数,”,文本框中输入:,90,3,、点击,“,计算,”,按钮,提示,“,输入的第一个数超出范围,”,4,1,、在,“,第一个数,“,文本框中输入:,150,2,、在,”,第二个数,”,文本框中输入:,-50,3,、点击,“,计算,”,按钮,提示,“,输入的第一个数超出范围,”,5,1,、在,“,第一个数,”,文本框中输入:,-12.9,2,、在,”,第二个数,”,文本框中输入:,-20,3,、点击,“,计算,”,按钮,提示不能输入小数,6,1,、在,“,第一个数,”,文本框中输入:,abc,2,、在,”,第二个数,”,文本框中输入:,40,3,、点击,“,计算,”,按钮,提示不能输入字符,第一个数文本框测试用例,-,等价类,用例编号,操作描述,预期结果,实际结果,7,1,、在,“,第一个数,”,文本框中输入:,-99,2,、在,”,第二个数,”,文本框中输入:,50,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,-49,8,1,、在,“,第一个数,”,文本框中输入:,-100,2,、在,”,第二个数,”,文本框中输入:,90,3,、点击,“,计算,”,按钮,提示,“,输入的第一个数超出范围,”,9,1,、在,“,第一个数,“,文本框中输入:,-98,2,、在,”,第二个数,”,文本框中输入:,20,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,-78,10,1,、在,“,第一个数,“,文本框中输入:,99,2,、在,”,第二个数,”,文本框中输入:,30,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,129,11,1,、在,“,第一个数,“,文本框中输入:,100,2,、在,”,第二个数,”,文本框中输入:,40,3,、点击,“,计算,”,按钮,提示,“,输入的第一个数超出范围,”,12,1,、在,“,第一个数,“,文本框中输入:,98,2,、在,”,第二个数,”,文本框中输入:,10,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,108,第一个数文本框测试用例,-,边界值,用例编号,操作描述,预期结果,实际结果,13,1,、在,“,第一个数,”,文本框中输入:,50,2,、在,”,第二个数,”,文本框中输入:,-80,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,-30,14,1,、在,“,第一个数,”,文本框中输入:,70,2,、在,”,第二个数,”,文本框中输入:,90,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,160,15,1,、在,“,第一个数,“,文本框中输入:,-20,2,、在,”,第二个数,”,文本框中输入:,-230,3,、点击,“,计算,”,按钮,提示,“,输入的第二个数超出范围,”,16,1,、在,“,第一个数,“,文本框中输入:,30,2,、在,”,第二个数,”,文本框中输入:,140,3,、点击,“,计算,”,按钮,提示,“,输入的第二个数超出范围,”,17,1,、在,“,第一个数,”,文本框中输入:,20,2,、在,”,第二个数,”,文本框中输入:,-40.58,3,、点击,“,计算,”,按钮,提示不能输入小数,18,1,、在,“,第一个数,”,文本框中输入:,90,2,、在,”,第二个数,”,文本框中输入:,a?!,3,、点击,“,计算,”,按钮,提示不能输入字符,第二个数文本框测试用例,-,等价类,用例编号,操作描述,预期结果,实际结果,19,1,、在,“,第一个数,”,文本框中输入:,30,2,、在,”,第二个数,”,文本框中输入:,-99,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,-69,20,1,、在,“,第一个数,”,文本框中输入:,-10,2,、在,”,第二个数,”,文本框中输入:,-100,3,、点击,“,计算,”,按钮,提示,“,输入的第一个数超出范围,”,21,1,、在,“,第一个数,“,文本框中输入:,50,2,、在,”,第二个数,”,文本框中输入:,-98,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,-48,22,1,、在,“,第一个数,“,文本框中输入:,60,2,、在,”,第二个数,”,文本框中输入:,99,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,159,23,1,、在,“,第一个数,“,文本框中输入:,90,2,、在,”,第二个数,”,文本框中输入:,100,3,、点击,“,计算,”,按钮,提示,“,输入的第一个数超出范围,”,24,1,、在,“,第一个数,“,文本框中输入:,-70,2,、在,”,第二个数,”,文本框中输入:,98,3,、点击,“,计算,”,按钮,在,”,和,”,文本框中输出:,12,第二个数文本框测试用例,-,边界值,案例,3-2,即时贴程序,使用边界值方法设计添加标题的测试用例,1=,标题长度,=40,1,40,2,39,41,0,使用边界值方法编写测试用例,测试用例编号,输入标题内容,预期输出,备注,1,在标题文本框中输入:,a,标题正确添加,1,个字节,2,在标题文本框中不输入任何内容,给出错误提示,0,个字节,3,在标题文本框中输入:好,标题正确添加,2,字节,4,在标题文本框中输入:,abcdefghijklmnopqrstuvwxyz12345678907890,标题正确添加,40,个字节,5,在标题文本框中输入:,abcdefghijklmnopqrstuvwxyz1234567890789,标题正确添加,39,个字节,6,在标题文本框中输入:,abcdefghijklmnopqrstuvwxyz123456789078901,给出错误提示,41,个字节,结合等价类划分和边界值编写测试用例,测试用例编号,输入标题内容,预期输出,备注,1,在标题文本框中输入:,会议提醒,标题正确添加,8,个字节,2,在标题文本框中输入:,会议提醒会议提醒通知,2002&$%,会议提醒,+,你好,给出错误提示,42,个字节,3,在标题文本框中不输入任何内容,给出错误提示,0,字节,等价类划分,从标题长度考虑,测试用例编号,输入标题内容,预期输出,备注,4,在标题文本框中输入:,a,标题正确添加,1,个字节,5,在标题文本框中不输入任何内容,给出错误提示,0,个字节,与用例,3,重复,去掉,6,在标题文本框中输入:好,标题正确添加,2,字节,7,在标题文本框中输入:,abcdefghijklmnopqrstuvwxyz12345678907890,标题正确添加,40,个字节,8,在标题文本框中输入:,abcdefghijklmnopqrstuvwxyz1234567890789,标题正确添加,39,个字节,9,在标题文本框中输入:,abcdefghijklmnopqrstuvwxyz123456789078901,给出错误提示,41,个字节,边界值,测试用例编号,输入标题内容,预期输出,备注,10,在标题文本框中输入:,会议提醒,/,给出错误提示,测试特殊字符,/,11,在标题文本框中输入:,会议,:,提醒,给出错误提示,测试特殊字符,:,12,在标题文本框中输入:,会议提醒*,给出错误提示,测试特殊字符*,13,标题文本框中输入:,会议提醒,?,给出错误提示,测试特殊字符?,14,标题文本框中输入:,会议提醒,“,给出错误提示,测试特殊字符,“,15,在标题文本框中输入:,会议提醒,”,给出错误提示,测试特殊字符,”,等价类划分,从标题允许字符考虑,测试用例编号,输入标题内容,预期输出,备注,16,在标题文本框中输入:,会议提醒,给出错误提示,测试特殊字符,给出错误提示,测试特殊字符,18,在标题文本框中输入:,会议*提,?,醒,/,给出错误提示,测试特殊字符组合,19,标题文本框中输入:,会议提醒,/:*?,“”,给出错误提示,测试特殊字符组合,案例,3-3,:数组溢出,执行,array.exe,程序,查看源代码,#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);,原因:,把“,”,写成“,=”,,使循环多执行一次,导致程序试图引用一个不存在的数组元素,data10,案例,3-4,:隐含边界,源代码:,#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);,system(pause);,程序实际运行结果,只有第一次输出正确,sum=2147483647,后面两次变为了负数,原因:,C,语言中,整型数据占用,4,个字节内存,最大表示范围是,2147483647,,如果超出这个范围就会造成数据溢出,边界值方法小结,(,1,)如果输入条件规定了值的范围,则应取刚达到这个范围的边界值,以及刚刚超越这个范围边界的值作为测试输入数据。,例如:,两位整数加法器数的范围为,-99,99,,则应测试,-99,,,-100,和,99,100,(注意:有些公司规定需要测试边界值的点及其两边的点,即,-99,、,-98,、,-100,和,99,、,98,、,100,),(,2,)如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少,1,、比最大个数多,1,的数作为测试数据。,例如:,姓名要求,1,20,个字符,需要测试,1,个字符,,0,个字符,,20,个字符、,21,个字符(当然也可以测试,0,、,1,、,2,个字符和,19,、,20,、,21,个字符),边界值法小结,(,3,)根据规格说明的每个输出条件,使用前面的原则(,1,)。,例如:,输出结果最大显示,-1000,1000,,我们就应该准备输入数据,使结果是,-1000,1000,和,-1001,1001,(也可以包含,-999,和,999,),(,4,)根据规格说明的每个输出条件,应用前面的原则(,2,)。,例如:,某商品信息查询系统,每页最多显示,10,条商品信息,我们就应该准备商品信息,使能够查询出,10,条、,11,条、,1,条、,0,条商品记录,边界值法小结,(,5,)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。,注意:,下列情况就应该每个选项都要进行测试,因为每个选项对应不同的代码,边界值法小结,(,6,)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构边界上的值作为测试用例。,如案例,3-4,,程序使用整型存储数据,我们应该找到整型变量的最大边界值和最小边界值作为测试数据,2026/4/5 周日,83,2026/4/5 周日,83,测试用例的概念,使用等价类划分方法设计测试用例,使用边界值方法设计测试用例,本章小结,2026/4/5 周日,84,Q&A,Thank You!,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服