大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
目录
一、测试用例
测试用例:
-
将要进行的测试工作,具体化,并且记录到一个文件中,一般情况下是一个excel【表格】
-
在测试用例中,明确的指定了每一步做什么操作,期望得到什么结果
测试工作
-
等程序员完成代码,此时可以进行前期准备工作,就是编写测试用例,将需要测试的每一项都填写到表格中
-
当程序员完成了代码,此时就可以开始进行测试,也就是根据表格中的内容一项一项的进行测试
测试用例的基本构成
二、黑盒测试
也称为功能测试或数据驱动测试。通过软件的外部表现来发现其缺陷和错误。在测试时,把被测程序视为一个不能打开的盒子,在完全不考虑程序内部逻辑结构和内部特性的情况下进行。它是在已知产品所应具有的功能前提下,通过测试来检测每个功能是否都能正常使用,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能够适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
2.1、等价类划分法
2.1.1、定义
-
等价类测试是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。它是一种重要的,常用的黑盒测试用例设计方法,适用范围广,可以适用于单元测试、集成测试。系统测试等,且容易扩展。
2.1.2 、等价类划分分类
-
等价类划分有两种不同的情况:有效等价类和无效等价类。在设计测试用例时,要同时考虑这两种等价类。软件不仅要能接受合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。
2.1.3 、等价类划分原则
-
如果某个输入条件规定了取值范围或值的个数。则可确定一个合理的等价类(输入值在此范围内)和两个不合理的等价类(输入值或个数小于这个范围的最小值或大于这个范围的最大值)
-
如果规定了输入数据的一组值,而且程序对不同输入值做不同的处理,则每个允许输入值是一个合理的等价类,此外还有一个不合理的等价类,即任何一个不允许输入的值。
-
如果规定了输入数据必须遵循的规则,可确定一个合理的等价类(符合规则)和若干个不合理的等价类(从各种角度违法规则)
-
如果输入是布尔表达式,可以分为一个有效的等价类和一个无效的等价类
-
如果已划分的等价类中各元素在程序中的处理方式不同,则应将此等价类进一步划分为更小的等价类
-
等价类划分还应特别注意默认值、空值、Null、0等的情形
2.2.4、等价类方法设计测试用例步骤
第一步:分析需求
-
通过分析需求,判断项目需要达到什么效果
第二步:划分等价类【找到有效/无效的数据】
案例:找6-10位长度自然数
-
有效等价类:比较好找,123456 1234567
-
无效等价类:相对复杂,可以从以下几点来思考
-
数据内容不符合 数据是否为空
-
数据长度不符合:过长、过短
-
数据是否重复
-
第三步:结合等价类设计测试用例
有几条等价类,就根据等价类设测试用例。
2.2、边界值方法
临界值位置
是经常出现
bug
的,因此这种位置就应该作为我们重点的测试对象。
2.2.1、边界值的概念
边界值:
-
有效等价类和无效等价类的边界
边界值的三个概念:
-
上点:边界值上面的这个点,就是上点
-
内点:有效等价类中的任意一个点
-
离点:边界值相邻的两个点
2.2.2 、边界值选择遵循的原则
-
如果输入条件规定了值的范围,可选择正好等于边界值的数据作为合理的测试用例,同时还要选择刚好越过边界值的数据作为不合理的测试用例。如输入值的取值范围是[0,99],可取-1,0,99,100等值作为测试数据。
-
如果输入的条件指出了输入数据的个数,则按最大个数。最小个数、比最小个数少1、比最大个数多1等情况分别设计测试用例。如,一个输入文件可包括1~255个记录。则分别设计有1个记录,255个记录,以及0个记录、266个记录的输入文件来作为测试用例。
-
如果程序的规格说明给出的输入域或输出域是有序集合(如有序列表、顺序文件等),则应选取集合的第一个元素和最后一个元素作为测试数据。例如,输出的表最多有99行,每50行为一页,则输出0行、1行、50行、51行、99行。
-
如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据。
2.2.3、边界值方法设计测试用例
确认输入、输出的边界,然后取刚好等于、大于、小于边界的参数作为测试用例测试。
等价类划分法属于确认有效区间,边界值分析法属于确认边界,它们两个的联系就是等价类划分和边界值要一起考虑,边界值分析法属于等价类划分法的补充,任何等价区间都有边界,有边界就有等价区间。
2.3 、判定表方法
考虑输入与输出变量取值之间的关系,比较复杂,需要更多的规则
在一些数据处理问题中,某些操作是否实施依赖于多个逻辑条件的取值,在这些逻辑条件取值的组合构成的多种情况下,分别执行不同的操作。处理这类问题的一个非常有力的分析和表达工具是判定表(决策表)。决策表能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。在所有的功能测试方法中,基于决策表的测试方法是最严格的决策表通常由四个部分组成。
2.3.1、判定表结构
桩 | 规则 |
---|---|
条件桩 | 条件项 |
动作桩 | 动作项 |
条件桩(Condition Stub):列出了问题的所有条件。通常认为列出的条件的次序无关紧要
动作桩(Action Stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束
条件项(Condition Entry):列出了针对它左列条件的取值。在所有可能的情况下,给出真假值。
动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作
2.3.2、判定表设计测试用例
设计测试用例的步骤
-
明确条件桩(找到所有的输入条件)
-
明确动作桩(找到所有的输出条件)
-
对条件桩进行全组合
-
明确每个组合对应的动作桩(基于每一种情况,确定本组合下的输出结果)
-
设计测试用例,每个数据对应一条测试用例
2.4、因果图方法
等价类划分和边界值分析方法都只是孤立地考虑各个输入数据的测试功能,而没有考虑多个输入条件的各种组合和输入条件之间的相互制约关系引起的错误。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例,这就需要利用因果图(逻辑模型),因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况
2.4.1、因果图法设计测试用例
因果图常用符号:
符号 | |
---|---|
~ |
相当于 NOT ,也就是逻辑非,表示当条件成立的时候,结果不成立 ; 当条件不成立的时候,结果成立 |
– |
恒等,表示当条件成立的时候,结果成立 ; 当条件不成立的时候,结果不成立 |
v |
相当于 OR ,也就是逻辑或,表示当多个条件中,有至少一个条件成立的时候,结果成立 ; 当全部条件都不成立的时候,结果不成立 |
^ |
相当于 AND ,也就是逻辑与,表示多个条必须都成立,结果成立 ; 当有任意一个条件不成立的时候,结果不成立 |
因果图法基本步骤:
-
找出所有的原因,原因即输入条件或输入条件的等价类。
-
找出所有的结果,结果即输出条件。
-
明确所有输入条件之间的制约关系以及组合关系。
-
明确所有输出条件之间的制约关系以及组合关系。
-
找出什么样的输入条件组合会产生哪种输出结果
-
把因果图转换成判定表/决策表
-
为判定表/决策表中的每一列表示的情况设计测试用例
2.5、正交表方法
能够使用最小的测试过程集合获得最大的测试覆盖率,从全面试验中挑选出有代表性的点进行测试。
适用于配置类软件,组合比较多的情况。
】:表示的是输入的条件,每列是一个因素
m
】:表示的是输入的条件所得到的结果,表格中的每个小格是一个结果
特点:均匀分散、整齐可比、高效、快速、经济
2.5.1、基于正交表法设计测试用例的步骤
-
第一步:需求分析
-
第二步:确定因素和水平【其实就是找有几个输入和几个结果】
-
第三步:根据因素和水平的数量,确定选择哪个正交表
-
第四步:将具体的值替换掉正交表中的内容
-
第五步:根据正交表填写测试用例
2.5.2、常用正交表
L4(23):3因素2水平
列号 |
1 |
2 |
3 |
试验号 |
|||
1 |
1 |
1 |
1 |
2 |
1 |
2 |
2 |
3 |
2 |
1 |
2 |
4 |
2 |
2 |
1 |
L8(27):7因素2水平
列号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
试验号 |
|||||||
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
2 |
1 |
1 |
1 |
2 |
2 |
2 |
2 |
3 |
1 |
2 |
2 |
1 |
1 |
2 |
2 |
4 |
1 |
2 |
2 |
2 |
2 |
1 |
1 |
5 |
2 |
1 |
2 |
1 |
2 |
1 |
2 |
6 |
2 |
1 |
2 |
2 |
1 |
2 |
1 |
7 |
2 |
2 |
1 |
1 |
2 |
2 |
1 |
8 |
2 |
2 |
1 |
2 |
1 |
1 |
2 |
其它的如果需要可以自行下载word文档。
链接:https://pan.baidu.com/s/1u8Nre8ot35xdl6IH-VkvAg
提取码:aulf
2.6 场景法
现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流。
2.6.1、场景法适用于测试过程的那些阶段?
-
集成测试
-
系统测试
-
验收测试
2.6.2、基于场景法设计测试用例的步骤
-
第一步:分析需求
-
第二步:绘制流程图
-
第三步:根据流程图写测试用例
2.7 错误推断法
在软件测试活动中,人们可以依靠经验和直觉推测系统中可能存在的各种错误,从而有针对性地编写检查这些错误的例子,这就是错误推测法。
基本思想:根据以往的测试经验和对系统内部知识的了解,列出系统中各种可能有的错误和容易发生错误的特殊情况,再根据它们来设计测试用例,
随着在产品测试的实践中对产品的了解的加深和测试经验的丰富,使用错误推测法设计的测试用例往往非常有效,
可以作为测试设计的一种补充手段,并且积累的经验越丰富,方法使用效率越高。
-
时间、资源不充足情况才会是使用
-
使用这种方法,通常都是做初测
总结
-
等价类:测试的内容有输入功能,而且输入的内容之间没有关系
-
边界值:输入的内容有边界,有类型、大小、长度的要求
-
判定表/因果图:有多种输入的内容,而且有多种输出结果
-
正交法:测试的数据和条件特别多
-
场景法:整合测试多个功能,需要使用场景法
-
错误推断法:时间、资源不充足;仅仅需要做初测
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/184030.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...