目录结构
一、认识测试用例
二、测试用例设计方法(黑盒)
1、等价类划分法
2、边界值分析法
3、错误推断法
4、判定表驱动法
5、因果图法
6、场景分析法
三、测试用例设计综合策略
四、测试用例设计原则
五、测试用例管理
一、认识测试用例
(1)测试用例(Test Case)目前没有经典的定义。比较通常的说法是:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。
(2)不同类别的软件,测试用例是不同的。测试用例更趋于是针对软件产品的功能、业务规则和业务处理所设计的测试方案。对软件的每个特定功能或运行操作路径的测试构成了一个个测试用例。
(3)软件测试用例的基本要素包括测试用例编号、测试标题、前提条件、测试输入、操作步骤、预期结果、重要级别等。
二、测试用例设计方法(黑盒)
![](https://img.haomeiwen.com/i5350030/43760b96e2cd2261.png)
1、等价类划分法
(1)定义
是一种典型的、重要的黑盒测试方法,等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。
(2)等价类划分思想
完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例;在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。
![](https://img.haomeiwen.com/i5350030/047392f520a63eab.png)
(3)等价类划分原则
![](https://img.haomeiwen.com/i5350030/e7d299efe94cd41d.png)
(4)等价类转化成测试用例
![](https://img.haomeiwen.com/i5350030/ff4ce45ef6dd47b7.png)
2、边界值分析法
(1)定义
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
(2)与等价划分的区别:
通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。
边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。
(3)边界值分析法原则
![](https://img.haomeiwen.com/i5350030/c2d3968976e45178.png)
3、错误推断法
(1)概念
基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。
(2)思想
列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例
(3)举例
1) 无SIM 卡插入时进行呼出(非紧急呼叫)
2) 插入已欠费SIM卡进行呼出
3)射频器件损坏或无信号区域插入有效SIM卡呼出
4) 网络正常,插入有效SIM卡,呼出无效号码(如1、888、333333、不输入任何号码等)
5) 网络正常,插入有效SIM卡,使用“快速拨号”功能呼出设置无效号码的数字
4、判定表驱动法
(1)概念
判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。
(2)判定表组成如图
![](https://img.haomeiwen.com/i5350030/3de8d7cdc4930d50.png)
(3)判定表的建立步骤
1)确定规则的个数。假如有n个条件,每个条件有两个取值(0,1),故有2n种规则。
2) 列出所有的条件桩和动作桩。
3)填入条件项。
4)填入动作项。得到初始判定表。
5) 简化。合并相似规则(相同动作)。
例如:若手机用户欠费或停机,则不允许主被叫。表示为判定表如下。
![](https://img.haomeiwen.com/i5350030/486a11ff57491dc1.png)
5、因果图法
(1)概念
因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。
(2)因果图法应用必要性:
1)这样虽然各种输入条件可能出错的情况已经测试到了,等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合,多个输入条件组合起来可能出错的情况却被忽视了。
2)测试时必须考虑输入条件的各种组合,但可能的组合数目很大,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。
(3)举例
![](https://img.haomeiwen.com/i5350030/e32464cda551a0c4.png)
6、场景分析法
(1)基本原理
现在的软件几乎都是用事件触发来控制流程的。像GUI软件、游戏等。事件触发时的情景形成了场景,而同一事件不同的触发顺序和处理结果就形成了事件流。这种在软件设计方面的思想可以引入到软件测试中,可以生动地描绘出事件触发时的情景,有利于设计测试用例,同时使测试用例更容易理解和执行。
(2)基本流与备选流
基本流——采用直黑线表示,是经过用例的最简单的路径(无任何差错,程序从开始直接执行到结束)
备选流——采用不同颜色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中,也可以起源于另一个备选流,或终止用例,不在加入到基本流中;(各种错误情况)
![](https://img.haomeiwen.com/i5350030/90814c3adbca0eb6.png)
(3)场景法设计步骤及实例
第一步确定基本流和备选流
![](https://img.haomeiwen.com/i5350030/1fd3d9cf2dec0259.png)
第二步根据基本流和备选流来确定场景
![](https://img.haomeiwen.com/i5350030/a2ee41680084815b.png)
第三步设计用例
![](https://img.haomeiwen.com/i5350030/5e7ad386b340b3db.png)
第四步来设计数据,填入上面的用例表中
三、测试用例设计综合策略
1、使用各种测试方法的综合策略:
(1)在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发现程序错误的能力最强。
(2)必要时用等价类划分方法补充一些测试用例。
(3)用错误推测法再追加一些测试用例。
(4)如果功能说明中含有输入条件的组合情况,则一开始就可选用因果图法。
2、测试用例的设计步骤:
(1)构造根据设计规格得出的基本功能测试用例;
(2)边界值测试用例;
(3) 错误猜测测试用例;
(4)异常测试用例;
(5)性能测试用例;
(6) 压力测试用例。
四、测试用例设计原则
1、正确性
输入用户实际数据以验证系统是满足需求规格说明书的要求;测试用例中的测试点应首先保证要至少覆盖需求规格说明书中的各项功能,并且正常。
2、全面性
覆盖所有的需求功能项;设计的用例除对测试点本身的测试外,还需考虑用户实际使用的情况、与其他部分关联使用的情况、非正常情况(不合理、非法、越界以及极限输入数据)操作和环境设置等。
3、整体连贯性
用例组织有调理、主次,尤其体现在业务测试用例上;用例执行粒度尽量保持每个case有个测点,不能同时覆盖很多功能点,否则执行起来牵连太大,所以每个用例间保持连贯性很重要;
4、深入挖掘隐藏需求
有部分隐含的测试需求,是业内通知的规范,也需要写测试用例验证是否实现;
5、可操作性
从执行者的角度去写case,最好不要有太多的术语在里面,如果要有最好指明具体位置
五、测试用例管理
1、编写用例:
测试工程师根据需求规约、概要设计、详细设计等文档编写测试用例。
2、用例评审:
原则上用例象程序一样,要经过多次的修改才可以通过,实际工作中通常进行一次。
3、用例修改:
评审结束后,您需要根据评审意见进行修改,修改后通常不再进行评审。
4、执行用例:
执行测试用例,并记录到测试用例执行报告中。
5、用例升级 / 维护:
随着软件产品不断修改、升级,对应的用例也需要升级维护。针对同一个项目,可以根据需求的变更不断进行维护;如果是产品,用例的维护更加重要,要达到用例和产品的版本一一对应。
网友评论