分析法、错误推测法、因果图法
测试⽤例设计:将软件测试的⾏为活动,作为⼀个科学化的组织归纳。
测试⽤例:设计⼀个情况,软件程序在这种情况下,必须能够正常运⾏并且达到程序所设计的执⾏结果。
因为我们不可能进⾏穷举测试,为了节省时间和资源、提⾼测试效率,必须从数量极⼤的可⽤测试数据精⼼挑选出具有代表性或者特殊性的测试数据来进⾏测试。
在开始实施测试之前设计好测试⽤例,可以避免盲⽬测试并提⾼测试效率。测试⽤例的使⽤令软件测试的实施重点突出、⽬的明确。在软件版本更新后只修正少部分的测试⽤例便可展开测试⼯作,降低⼯作强度,缩短项⽬周期。功能测试模块的通⽤化和复⽤化使软件易于开发,⽽测试⽤例的通⽤化和复⽤化则会使软件测试易于开展,并随着测试⽤例的不断精化其效率也不断攀升。
⿊盒测试⽤例设计⽅法包括:等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景图法等。⼀、等价类划分法1、定义:
等价类划分法是把所有可能输⼊的数据,即程序的输⼊域划分为若⼲部分(⼦集),然后从每⼀个⼦集中选取少数具有代表性的数据作为测试⽤例。
该⽅法是⼀种重要的、常⽤的⿊盒测试⽤例设计⽅法。
等价类是指某个输⼊域的⼦集合。在该⼦集合中,各个输⼊数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这⼀类其他值的测试,因此,可以把全部输⼊数据合理划分为若⼲等价类,在每⼀个等价类中取⼀个数据作为测试的输⼊条件就可以⽤少量代表性的测试数据取得较好的测试结果。2、等价类划分有两种不同的情况:有效等价类和⽆效等价类。
有效等价类,是指对于程序的规格说明来说是合理的、有意义的输⼊数据构成的集合。利⽤有效等价类可检验程序是否实现了规格说明所规定的功能和性能。
⽆效等价类,是指对程序的规格说明是不合理的或⽆意义的输⼊数据所构成的集合。对于具体的问题,⽆效等价类⾄少应有⼀个,也可能多个。
3、等价类的划分原则:
1. 如果输⼊是⼀个取值范围或者值的个数,则划分成⼀个有效等价类和两个⽆效等价类;
2. 如果输⼊是⼀个有限的集合或者必须如何的条件,则划分成⼀个有效等价类和⼀个⽆效等价类; 3. 如果输⼊是⼀个布尔量,则划分成⼀个有效等价类和⼀个⽆效等价类;
4. 如果输⼊已经划分等价类,针对具体的值处理⽅式会有所不同更加细化,则划分成多个有效等价类和⼀个⽆效等价类;5. 如果输⼊要同时满⾜多个条件,则划分成⼀个有效等价类和多个⽆效等价类;4、等价类划分的使⽤步骤:
1. 将需求规格划分成需求⼦⽚段;2. 分析需求⼦⽚段,找出输⼊条件;
3. 分析输⼊条件,结合等价类划分原则进⾏等价类划分;4. 对划分的等价类进⾏编号;
5. 从划分的等价类中选取数据结合测试⽤例写作规范⽣成最终的测试⽤例; ⼀条测试⽤例尽量覆盖多个有效等价类;⼀条测试⽤例只覆盖⼀个⽆效等价类。5、等价类划分法例题:(⼀)⼀个有效&两个⽆效 取值范围:驾照年龄18-65周岁 ⼀个有效(18-65之间) 两个⽆效(17,66)(⼆)⼀个有效&⼀个⽆效 取值范围:第三期学员 ⼀个有效(第三期学员)
⼀个⽆效(⾮第三期学员)(三)⼀个有效&⼀个⽆效 取值范围:男性 ⼀个有效(男性) ⼀个⽆效(⼥性)(四)多个有效&⼀个⽆效
英语考试,60以上合格(含60分) ⼀个有效:60分以上 60-79:合格 80-89:良好 90-100:优秀 ⼀个⽆效:60分以下(五)⼀个有效&多个⽆效
个⼈信息注册:⾝⾼,体重,年龄 ⼀个有效:三个资料都填写 三个⽆效: ⾝⾼填写X 体重填写Y 年龄填写Z⼆、边界值分析法
1、定义:边界值分析法就是对输⼊或输出的边界值进⾏测试的⼀种⿊盒测试⽅法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试⽤例来⾃等价类的边界。2、与等价类区别:
(1)边界值分析不是从某等价类中随便挑⼀个作为代表,⽽是使这个等价类的每个边界都要作为测试条件。(2)边界值分析不仅考虑输⼊条件,还要考虑输出空间产⽣的测试情况。3、分析⽅法:
⼤量的错误是发⽣在输⼊或输出范围的边界上,⽽不是发⽣在输⼊输出范围的内部。因此针对各种边界情况设计测试⽤例,可以查出更多的错误。
使⽤边界值分析⽅法设计测试⽤例,⾸先应确定边界情况。通常输⼊和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚⼤于或刚刚⼩于边界的值作为测试数据,⽽不是选取等价类中的典型值或任意值作为测试数据。4、常见边界值:
(1)对16Bit的整数⽽⾔,32767和32768是边界(2)屏幕上光标在最左上、最右下位置(3)报表的第⼀⾏和最后⼀⾏(4)数组元素的第⼀个和最后⼀个
(5)循环的第0次、第1次和倒数第2次、最后⼀次5、边界值分析法例题:
(⼀)取值范围:计算器计算100以内正数加减法:1-100 取值:有效:1,100 ⽆效:0,101
值的个数(固定是⼏):处理三个数是否能组成三⾓形
有效:3个 ⽆效:2个,4个
(⼆) 值的个数是取值范围:密码6-16 取值:有效:6,16 ⽆效:5,17(三)有序的集合:01-12⽉ 取值:有效:01,12 ⽆效:00,13
(四)内部数据结构:栈:储存10个数据 取值:有效:10 ⽆效:11三、错误推测法
1、定义:基于经验和直觉推测程序中所有可能存在的各种错误,从⽽有针对性的设计测试⽤例的⽅法。2、基本思想:列举出程序中所有可能有的错误和容易发⽣错误的特殊情况,根据他们选择测试⽤例。3、例如,测试⼀个对线性表(⽐如数组)进⾏排序的程序,可推测列出以下⼏项需要特别测试的情况:(1)输⼊的线性表为空表;(2)表中只含有⼀个元素;(3) 输⼊表中所有元素已排好序;(4)输⼊表已按逆序排好;
(5)输⼊表中部分或全部元素相同。四、因果图法
1、定义:因果图法是⼀种利⽤图解法分析输⼊的各种组合情况,从⽽设计测试⽤例的⽅法,它适合于检查程序输⼊条件的各种组合情况。2、应⽤:
等价类划分法和边界值分析⽅法都是着重考虑输⼊条件,但没有考虑输⼊条件的各种组合、输⼊条件之间的相互制约关系。这样虽然各种输⼊条件可能出错的情况已经测试到了,但多个输⼊条件组合起来可能出错的情况却被忽视了。
如果在测试时必须考虑输⼊条件的各种组合,则可能的组合数⽬将是天⽂数字,因此必须考虑采⽤⼀种适合于描述多种条件的组合、相应产⽣多个动作的形式来进⾏测试⽤例的设计,这就需要利⽤因果图(逻辑模型)。五、判定表驱动法
1、定义:判定表是分析和表达多逻辑条件下执⾏不同操作的情况的⼯具。
2、优点:能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利⽤判定表能够设计出完整的测试⽤例集合。在⼀些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执⾏不同的操作。判定表适合于处理这类问题。
⽩盒测试常见的⽤例设计⽅法有:代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径覆盖测试法、域测试、符号测试。
详细可见这篇博客:
因篇幅问题不能全部显示,请点此查看更多更全内容
怀疑对方AI换脸可以让对方摁鼻子 真人摁下去鼻子会变形
女子野生动物园下车狼悄悄靠近 后车司机按喇叭提醒
睡前玩8分钟手机身体兴奋1小时 还可能让你“变丑”
惊蛰为啥吃梨?倒春寒来不来就看惊蛰
男子高速犯困开智能驾驶出事故 60万刚买的奔驰严重损毁