下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第04讲、使用等价类和边界值方法设计测试用例,2020/7/20,2020/7/20,测试用例的概念 使用等价类划分方法设计测试用例 使用边界值方法设计测试用例,本章内容,一、测试用例的概念,引例,在测试即时贴程序时遇到哪些问题,你可能遇到了下列问题,不知道是否较全面的测试了所有内容 不知道所有功能点是否都测到了? 不清楚每个功能点是否都测试全面了? 存在大量冗余测试,影响测试效率 有些功能点可能测试多次 对新版本的重复测试很难实施 每个版本测试的步骤、数据都不一样,随意性很强 测试的覆盖率无法衡量 最后测试的好与坏不得而知 ,测试用例的基本概念,测试用例主要记录了测试的过程、步骤、输入的数据
2、、预期结果等内容。它是在执行测试之前由测试人员编写的指导测试的重要文档。 解决要测什么、怎么测和如何衡量的问题 案例1-1:即时贴测试用例,测试用例用途,防止遗漏:使软件测试的实施重点突出、目的明确,确保需求功能不被遗漏。 版本重复测试:快速正确的进行版本重复测试 监督过程:可以准确、有效的评估测试的工作量 评估结果:对产品进行评估,对测试完成情况进行评价 提高效率:避免盲目测试 缩短周期:版本更新和升级时,只需修正少部分测试用例,资源复用。,准备编写测试用例,参考相关文档 需求文档 开发文档 用户手册 如果有软件的早期版本,尽快熟悉软件的使用 与相关人员讨论,获得测试用例模板,Word格式模
3、板 Excel格式模板 如果使用Quality Center测试管理工具,直接写在工具的“Test Plan”模块中即可,注意,1、在编写测试用例之前,还要明确项目对测试用例的具体要求 测试用例编号如何命名 测试用例应该提交到什么地方 测试用例中用到的附件命名规定,存放位置 2、测试用例是需要更新和维护的,是一个不断修改完善的过程 3、测试用例需要正式的评审 4、测试用例覆盖系统的程度决定测试的覆盖程度,对测试人员的要求,1、基本要求 在编写一条测试用例时,要求步骤描述清晰、准确、易读,预期结果明确 如果有特殊的设置、预置条件等,要明确写出 如果有输入数据,一般要给出输入数据取值 如果有附件,
4、要给出附件存放位置,名称 检验标准 写完用例后,让别人照着自己的用例去执行测试,可以很顺畅的执行下来,2、高标准要求 测试用例编写的有条理、逻辑性强 可以按照功能点分类、操作顺序等逻辑编写,而不要一会测试这儿一会测试哪儿 功能覆盖全面、深入,能够发现软件中更多的缺陷 检验标准 能把软件中的缺陷尽可能多的找出来,按照你的测试用例测试完的软件,遗留的缺陷最少要求测试人员最终达到的目标,是一个需要长期练习、积累的过程。,二、使用等价类划分方法编写测试用例,案例2-1,测试两位整数加法计算器 功能演示,两位整数加法计算器基本需求 第一个数和第二个数都是只能输入-99到99之间的整数 对于输入的小于-9
5、9的数据或者大于99的数据,程序应给出明确提示 对于输入的小数、字符等非法数据,程序应给出明确提示,如何编写测试用例?,遇到了什么问题 在测试了11,12,1(-1)和1(-2)之后,是否有必要测试13,14 ,1(-3)和1(-4)呢? 如果不对程序进行穷举测试,是否放心输入其他数据都能正确计算?,等价类划分的基本概念,等价类划分属于典型的黑盒测试方法,根据程序对数据的要求,把程序的输入域划分成若干个部分,区分出哪些数据是有效的,哪些数据是无效的,从每个部分中选取少数代表性数据作为测试用例。这样,每一类的代表性数据在测试中的作用都等价于这类中的其他值。,等价类划分中核心概念,有效等价类: 对
6、程序的规格说明有意义、合理的输入数据集合。 如果用户输入有效等价类中的数据,程序应该正确计算、执行 无效等价类: 对程序的规格说明不合理的或无意义的输入数据集合。 如果用户输入无效等价类中的数据,程序应该给予错误提示或者根本不允许用户输入,使用等价类划分方法设计测试用例,使用等价类划分方法对两位整数加法计算器进行测试用例的设计 说明: 刚开始学习时,我们就先针对每一个控件进行单独测试就行,也就是假设其他控件输入的数据是正确的就可以,先不考虑控件的组合情况。在实际测试时,要考虑两个文本框的组合情况,这是我们后面要讲到的内容。,对第一个文本框进行测试,在对第一个文本框测试时,先假设第二个文本框输入
7、的数据是正确的,比如:20,步骤一:划分等价类,按照功能要求,对第一个文本框的取值范围进行划分 有效等价类: 大于等于-99并且小于等于99的整数 无效等价类: 小于-99的整数 大于99的整数 小数 字符,步骤二:细化等价类,依据的一般不是显式需求 数据在计算机中按照补码方式存储,正数的补码与原码相同,负数的补码与原码不同。所以有必要对正数和负数分别进行测试。,对等价类进行编号,(1),(2),(3),(4),(5),(6),步骤三:建立等价类表,建立等价类表 假设第一个文本框取值为X,步骤四:编写测试用例,从每个等价类中至少选取一个数据作为测试数据,计算机当中整数是以补码表示的: 一个正数
8、的补码和其原码相同 对于负数,则存放补码的方法是: 将该数的绝对值二进制形式按位取反再加。 例如,求-11的补码分四步骤: 、取-11的绝对值为11 、11的二进制形式为 0000 0000 0000 0000 0000 0000 0000 1011 、对上面取反 1111 1111 1111 1111 1111 1111 1111 0100 、再加1 1111 1111 1111 1111 1111 1111 1111 0101,知识点补充补码,对第二个文本框进行测试,在对第二个文本框测试时,也假设第一个文本框输入的数据是正确的,比如:50,步骤一:划分等价类,按照功能要求,对第二个文本框的
9、取值范围进行划分,步骤二:细化等价类,步骤三:建立等价类表,对等价类进行编号,建立等价类表 假设第二个文本框取值为Y,步骤四:编写测试用例,说明: 上面编写的测试用例,满足等价类划分方法的要求,但是存在一些问题: 存在数据冗余 如:用例2和用例8 没有考虑控件之间的组合,所以会丢失一些情况 如:两个数据都是无效等价类的情况没有考虑 测试用例的设计就是一个循序渐进,逐步完善的过程,我们的课程也是循序渐进的,在后面课程中我们会加以讲解。当然,以后熟练了,可以一步到位设计出最优的用例。,步骤小结,等价类划分的步骤 划分等价类 细划等价类划分 建立等价类表 编写测试用例,等价类的特点,每一类的代表性数
10、据(也就是被选为测试用例的数据)在测试中的作用等价于这一类中的其他值。 如果等价类中的一个测试能够捕获一个缺陷,那么选择该等价类中的其他测试也能捕获该缺陷。 如果等价类中的一个测试不能捕获缺陷,那么选择该等价类中的其他测试也不会捕获缺陷。,案例2-2,用等价类划分方法编写即时帖程序的设置标题的测试用例 即时贴标题的要求 1,1、划分等价类,2、细化、整理等价类,对于有效的标题,应该同时满足下列两项: 1 )有效等价类4 也就是说,一个合法的标题应该同时满足以上两点要求,3、建立等价类表,(1)从标题长度考虑,(2)从标题允许字符考虑,(3)整体考虑,4、编写测试用例,说明: 对于需求明确提出的
11、特殊字符,最好先一个一个进行测试 最后再适当考虑特殊字符的组合 要考虑最糟糕的情况,就是在一个标题中同时出现 / : * ? “ ” 这些非法字符 ,甚至标题长度同时超长的情况,划分等价类基本原则,(1)在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类。 例如: 两位数加法计算器取值是-9999,则在此范围内的为一个有效等价类,小于-99的和大于99的为两个无效等价类。,(2)在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类。 例如: 在某软件中规定“身份”一栏只能填写“党员”、“团员”、“群众”,则这三
12、个是有效等价类,其他的输入全部为无效等价类。当然,在这种情况下,一般让用户进行选择最好。,(3)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。 例如: 用户可以输入“粗体”、“斜体”、“下划线”、“删除线”来设置字体的显示效果,那么这四种输入就是四个有效等价类,其他的可归为一个无效等价类 同样在这种情况下,最好提供取值供用户进行选择,(4)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。 例如: 要求“学生编号”必须以字母开头,后面跟4位数字,则像“A000
13、1”、“B1001”这样满足格式要求的为有效等价类,而像“12345”、“A123”、“AA123”、“!1234”等都为无效等价类,(5)在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类。 例如: 正数和负数的处理方式是不是不同 加减乘除都属于有效等价类,但由于使用不同的函数实现,所以需要把每一个运算看做一个独立的等价类进行单独测试,三、使用边界值方法设计测试用例,案例3-1,使用下列数据对两位整数加法计算器进行测试,提示错误,提示错误,提示错误,提示错误,bug,bug,bug,bug,为什么会产生这样的结果?,查看源代码,边界条件设
14、置错误,把 写成了 = 把 写成了 =,说明: 有效数据和无效数据的分界点,往往作为程序员编写程序的判断点,是程序员容易犯错误的地方,也是测试人员重点测试的内容。,如何解决这类问题? 找到测试数据的边界点,也就是有效等价类和无效等价类的边界点,对边界点数据专门进行测试。 一般情况下,需要对边界值(-99和99)以及边界值两边的数(-100和-98以及100和98)分别进行测试,针对于第一个数文本框,使用边界值方法设计如下用例:,提示错误,提示错误,-78,提示错误,提示错误,108,针对于第二个数文本框,使用边界值方法设计如下用例:,提示错误,提示错误,- 48,提示错误,提示错误,12,一般
15、结合使用等价类划分和边界值方法设计一套较为完善的测试用例,第一个数文本框测试用例-等价类,第一个数文本框测试用例-边界值,第二个数文本框测试用例-等价类,第二个数文本框测试用例-边界值,案例3-2,即时贴程序,使用边界值方法设计添加标题的测试用例 1=标题长度=40,使用边界值方法编写测试用例,结合等价类划分和边界值编写测试用例,等价类划分从标题长度考虑,边界值,等价类划分从标题允许字符考虑,案例3-3:数组溢出,执行array. exe程序,查看源代码,#include main() int data10; int i; for(i=0;i=10;i+) datai=-1; for(i=0;
16、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); ,程序实际运行结果 只有第一次
17、输出正确sum=2147483647 后面两次变为了负数 原因: C语言中,整型数据占用4个字节内存,最大表示范围是2147483647,如果超出这个范围就会造成数据溢出,边界值方法小结,(1)如果输入条件规定了值的范围,则应取边界点数据,以及边界点两边的数据进行测试。 例如: 两位整数加法器数的范围为-9999,则应测试-99,-98,-100和99,98,100(注意:有些公司规定需要测试边界点的数据和刚刚超过边界点的数据,即-99、-100和99、100) (2)如果输入条件规定了值的个数,则用最大个数及其两边的点、最小个数及其两边的点作为测试数据。 例如: 姓名要求120个字符,需要测
18、试1个字符,0个字符, 2个字符,20个字符、 19个字符、21个字符(当然也可以测试0、1个字符和20、21个字符),边界值法小结,(3)根据规格说明的每个输出条件,使用前面的原则(1)。 例如: 输出结果最大显示-10001000,我们就应该准备输入数据,使结果是-1000,1000和-1001,1001(也可以包含-999和999) (4)根据规格说明的每个输出条件,应用前面的原则(2)。 例如: 某商品信息查询系统,每页最多显示10条商品信息,我们就应该准备商品信息,使能够查询出10条、11条、1条、0条商品记录,边界值法小结,(5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度通信工程专业终端与业务《中级通信工程师》考证综合能力考试题及答案
- 2025年广川科技(广州)有限公司校园招聘模拟试题附带答案详解及完整答案
- 山东省枣庄市的三十四中学 华师大版 七年级 体育与健康第三章 球类运动之篮球行进间直线运球教学设计(第3课时)
- 新教材高中数学 第10章 复数 10.1.2 复数的几何意义教案 新人教B版必修第四册
- 人教部编版八年级下册应有格物致知精神教案设计
- 国企工程管理中层竞聘考试试题(带答案)
- 2026年院感防控管理人员培训试卷及答案
- 2026年小儿神经外科实习医生出科考试试题(含答案)
- 体育人教版第二节跑与游戏教案
- 华师大版七年级科学下册2 .1空气的存在 教学设计 (3份打包)
- 国家普通话水平测试试题及答案
- 车辆事故安全警示教育
- GB/T 45681-2025铸钢件补焊通用技术规范
- T/CNCIA 01030-2023负离子涂料
- 四年级上册语文课文必背内容
- 2025年浙江省慢阻肺病患者健康服务规范试题
- 电工(考评员、高级考评员)-练习题
- 合同签署确认
- 疼痛患者的心理支持与心理疏导
- JGJ114-2014 钢筋焊接网混凝土结构技术规程
- 怒江水电开发的工程伦理案例分析
评论
0/150
提交评论