python代码设计测试⽤例的⽅法_刚⾯完的字节跳动Python软
件测试⽤例编写(含思路)...
测试⽤例编写是软件测试的基本技能;也有很多⼈认为测试⽤例是软件测试的核⼼;软件测试中最重要的是设计和⽣成有效的测试⽤例;测试⽤例是测试⼯作的指导,是软件测试的必须遵守的准则。
在这⾥我们不讨论以上的各种观点,但是综上所述,⼤家可以看出,测试⽤例编写这项软技能⾮常重要且是测试⼈的必备技能,相信很多⼈没有质疑。
下⾯我们介绍下测试⽤例编写。
我们将⽤例编写分为⿊盒⽤例编写和⽩盒⽤例编写两⼤类。
标题总体编写思路:
⿊盒测试⽤例(优先)+⽩盒测试⽤例(补充)=完整测试⽤例
总体编写策略:
对于测试⽤例编写来说,常⽤的四种⽅法基本就够⽤了,等价类、边界值、正交实验法、错误推断法,
辅以场景测试法、需求/设计转换法、探索式测试思想,可以应付绝⼤多数产品的测试。个别的产品还需要在某⼀点细化和扩充,需要就事论事。
使⽤各种编写⽅法的综合设计策略;
1)在任何情况下都必须使⽤边界值分析⽅法,经验表明⽤这种⽅法设计出测试⽤例发现程序错误的能⼒最强。
2)必要时⽤等价类划分⽅法补充⼀些测试⽤例,尤其注意⽆效等价类情况。
3)如果程序的功能说明中含有输⼊条件的组合情况,则⼀开始就可选⽤因果图法(或判定表法、正交试验法)。
4)⽤错误推测法再追加⼀些测试⽤例,主要是利⽤测试经验。
5)对照程序逻辑,检查已设计出的测试⽤例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当再补充⾜够的测试⽤例;参照⽩盒⽤例编写。
6)对程序的应⽤场景进⾏研究和思考,增加不同场景下的测试⽤例;⽤户场景测试必须重视,很⼤⼀部分程序错误就是因为测试场景与⽤户真实场景的差异性带来的。
7)对业务和程序有更深的理解之后,可以充分发挥发散思维和探索式想法;⼤家不要误解探索式测试就是漫⽆⽬的的测试,其实探索式测试有⾮常详细的测试指导思路。
第⼀部分:⿊盒⽤例编写
常见的⽅法如下:
(1)等价类
(2)边界值
(3)因果图
(4)判定表驱动法
(5)正交实验法
(6)功能图法
(7)场景实验法
(8)错误推断法
(9)需求转化
(10)设计⽂档
(11)探索式测试
1、⿊盒-等价类
python怎么读取桌面上的文件等价类:选取少数有代表性的数据,这⼀类数据等价于这⼀类的其它值;出最⼩的⼦集,可以发现最多的错误;
两⼤特性:必须设计的⽤例;涵盖了⼤部分情况;
两类情况:有效等价类;⽆效等价类;
转化为测试⽤例
1、按照输⼊条件、有效等价类、⽆效等价类建⽴等价类列表,列出所有的等价类;
2、为每⼀个等价类固定⼀个编号;
3、设计⼀个测试⽤例,使其覆盖⼀个或多个有效的等价类;
4、设计⼀个或更多的测试⽤例以覆盖剩余的有效等价类;
使⽤场景:输⼊条件(取值范围/值个数;必须值集合;布尔值;⼀组处理值;必须遵守的规则;再细分更⼩等价类;)
等价类举例:
以三⾓形测试为例:输⼊3个整数做为三⾓形的三个边,通过程序判定三⾓形的类型。
2、⿊盒-边界值
边界值:所谓边界条件,是指输⼊和输出等价类中那些恰好处于边界、超过边界、或在边界以下的状态 ;
两个特征:选择⼀个或多个元素,以便等价类的每⼀个边界都经过了测试;与仅仅关注输⼊条件不同,还需要考虑结果空间(输出等价类)设计测试⽤例;
边界条件可能⾮常微妙,因此把他们确定下来煞费⼼思;
使⽤场景:输⼊+输出都需要考虑(值的范围;值个数;有序集合;内部数据结构;分析规格说明;)
边界值举例:
以三⾓形测试为例:输⼊3个整数做为三⾓形的三个边,1
3、⿊盒-因果图
因果图:输⼊条件的组合进⾏分析。⽤⼀个系统的⽅法选择出⾼效的测试⽤例集;
分析思路:
1、分析规格说明描述,确定原因和结果,并赋予标识符;
2、分析规格说明语义,出原因与原因之间,原因与结果之间关系,画出因果图;
3、有些原因与原因之间,原因与结果之间组合不会出现,⽤记号表明约束或限制条件;
4、因果图转换为判定表;
5、判定表的每⼀列作为依据,设计测试⽤例;
使⽤场景:必须考虑输⼊条件的各种组合(⼀种适合于描述多种条件的组合、相应产⽣多个动作的形式来进⾏设计);
4、⿊盒-判定表
判定表:分析和表达多逻辑条件下执⾏不同操作的情况的⼯具 ;略过因果图的绘制,直接列出所有组合进⾏筛选;
分析思路:判定表通常有四个部分组成:条件桩、动作桩、条件项、动作项;
判定表的建⽴步骤:(根据软件规格说明)
确定规则个数;列出所有条件桩和动作桩;填⼊条件项;填⼊动作项,得到初始判定表;简化合并相似规则;
==使⽤场景:控制类和游戏。优点是能把复杂的问题按各种可能的情况⼀⼀列举出来,简明⽽易于理解,也可避免遗漏。缺点是不能表达重复执⾏的动作,例如循环结构。
5、⿊盒-正交试验法
正交实验法:利⽤因果图来设计测试⽤例时, 输⼊原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到;往往因果关系⾮常庞⼤,以⾄于测试⽤例数⽬巨⼤,为了有效地、合理地减少测试的⼯时与费⽤,可利⽤正交实验设计⽅法进⾏测试⽤例的设计。
分析思路:
(1)提取功能说明,构造因⼦–状态表 ;
(2)加权筛选,⽣成因素分析表 ;
(3)利⽤正交表构造测试数据集 ;
使⽤场景:必须考虑输⼊条件的各种组合(从⼤量的数据中挑取适量、有代表性的点,合理有效的测试);
6、⿊盒-场景实验法
场景实验法:软件⼏乎都是由事件触发来控制流程的,事件触发时的情景便形成了场景,⽽同⼀事件不同的触发顺序和处理结果形成事件流;⽣动的描绘出事件触发时的情景,有利于设计⽤例,同时测试⽤例也更容易的得到理解和执⾏。
分析思路:
每条路径都反映了基本流和备选流;基本流是最简单的路径;备选流⾃基本流开始,会有特定条件下加⼊并执⾏,可能有多种情况;
使⽤场景(0代表基本流):0;0+1;0+1+2;0+3;0+3+1;0+3+1+2;0+4;0+3+4;…
7、错误推断法
错误推断法:基于经验和直觉推测程序中所有可能存在的各种错误,从⽽有针对性的设计测试⽤例的⽅法;更多的与⽤户的使⽤习惯及测试程序中的常见问题为主。
分析思路:
(1)列举出程序中所有可能有的错误和容易发⽣错误的特殊情况,根据这些情况选择测试⽤例;
(2)注意积累与分享;
使⽤场景:任何测试、任何情景下都会⽤到的⽅法。
有常⽤的测试⽤例集,可以参照。
举例:数字输⼊验证,分别输⼊数字(正数、负数、零值、单精度、双精度)、字符串、空⽩值、空值、临界数值;不合法的输⼊,系统给出必要的判断提⽰信息;
8、⿊盒-需求转换法
需求转换法:根据需求,执⾏需求分析,并编写测试⽤例。
分析思路:
(1)将需求转换为思维导图;
(2)仔细推敲每⼀个字的含义;
(3)与⽤户的使⽤场景和⽬的结合;
(4)严格设计每⼀个⽤例;
(5)可以建⽴⼀种模型,进⾏需求转换;
使⽤场景:任何测试、任何情景下都会⽤到的⽅法。
注意:需求的变更带来的影响;需求理解偏差带来的影响;需求含糊不清带来的影响等;
9、⿊盒-设计⽂档
设计⽂档:参照设计⽂档,可以理解软件系统内部设计流程及处理机制,对⽐写好的测试⽤例,可以在对应功能及模块处新增;
分析思路:
(1)仔细阅读设计⽂档;
(2)与相关⼈员沟通实现机制;
(3)结合测试⽤例编写⽅法,对⽐之前写好的⽤例;
使⽤场景:任何测试、任何情景下都会⽤到的⽅法。
注意:设计⽂档的编写正确性;设计⽂档的理解偏差;
10、⿊盒-探索式测试法
探索式测试法:⽆限创意的测试点,永⽆⽌境的探索测试;我们要在测试的最前沿发挥洞察⼒、技术及应变措施,出产品的缺陷;分析思路:
局部探索式测试;全局探索式测试;混合探索式测试;
使⽤场景:任何测试、任何情景下都会⽤到的⽅法。像漫游⼀样,⾃由地寻软件中的缺陷,软件测试的未来必然有探索式测试。第⼆部分:⽩盒⽤例编写
基本思路:
第⼀步需要绘制流程图;
第⼆步根据路径分析法确定测试⽤例;
第三步使⽤等价类/边界值的⽅法确定测试⽤例的数据
第四步根据实际情况补充(如默认流程、特殊流程等)
基本策略:
1、语句覆盖准则基本上没啥⽤,⽐较强的逻辑覆盖准则是判定覆盖或者条件覆盖;通常判定覆盖可以满⾜语句覆盖;语句覆盖
2、循环覆盖来说,完全的路径测试并不符合实际;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论