黑盒测试用例设计二
正交试验法
正交表的由来
n阶拉丁方
正交设计的基本概念
- 在一项试验中 ,把影响试验结果的量称为试验因素(因子) ,简称因素。因素可以理解为试验过程中的自变量,试验结果可以看成因素的函数。在试验过程中,每一个因素可以处于不同的状态或状况,把因素所处的状态或状况,称为因素的水平,简称水平。
- 每列中不同数字出现的次数相等。这特点表明每个因素的每个水平与其它因素的每个水平参与试验的几率是完全相同的,从而保证了在各个水平中最大限度地排除了其它因素水平的干扰,能有效地比较试验结果并找出最优的试验条件。
- 在任意2列其横向组成的数字对中,每种数字对出现的次数相等。这个特点保证了试验点均匀地分散在因素与水平的完全组合之中,因此具有很强的代表性。
正交表的概念和性质
- 正交表:一种特制的表,一般的正交表记为
- M是水平数,k是因素数,n是需要进行试验的行数
- 行数:正交表中的行的个数,即试验的次数,也是通过正交实验法设计的测试用例的个数。
- 因素数:正交表中列的个数,即要测试的功能点。
- 水平数:任何单个因素能够取得的值的最大个数,即要测试功能点的输入值。
场景法
场景法原理
- 现在的软件几乎都是用事件触发来控制流程的。测试时,可以生动地描绘出事件触发时的情景,有利于设计测试用例,同时使测试用例更容易理解和执行。
- 基本流:软件功能按照正确的事件流实现的一条正确流程。 通常一个业务仅存在一 个基本流,且基本流仅有一个起点和一个终点。
- 备选流:除了基本流之外的各支流,包含多种不同的情况。
场景列表
- 场景1基本流。
- 场景2基本流备选流1。
- 场景3基本流备选流1备选流2。
- 场景4基本流备选流3。
- 场景5基本流备选流3备选流1。
- 场景6基本流备选流3备选流1备选流2。
- 场景7基本流备选流4。
- 场景8基本流备选流3备选流4。
场景法的基本设计步骤
- 根据说明,描述出程序的基本流及各项备选流。
- 根据基本流和各项备选流生成不同的场景。
- 对每一个场景生成相应的测试用例。
- 对生成的所有测试用例重新复审,去掉多余的测试用例。
- 测试用例确定后, 对每一个测试用例确定测试数据值
- 场景法适用于解决业务流程清晰的系统或功能
状态迁徙图法
测试中遇到的问题
在遇到有事务流或由于某种条件成立导致状态改变的软件项目时,如何进行测试用例的设计就比较麻烦。以前所讲的各种方法,每个被测对象之间是没有相互的关联或数据流向发生,遇到这样的事务流软件就要考虑用其他方法进行测试用例设计。
状态迁徙图法的目标
设计足够多的测试用例达到对系统状态的覆盖、状态-条件组合的覆盖以及状态迁移路径的覆盖。
状态图法步骤
- 列出所以可能的输入事件,以ipN的方式命名(N为1,2,3,4……)。
- 把软件的打开的初始状态,定义为“空闲”状态。
- 在“空闲”状态上加所有可能的输入(只加一次!)。
- 为上一步产生的所有新状态,分别加所有可能的输入(只加一次!)。
- 循环执行上一步。
- 直到再没有任何新状态产生,列出所有的状态,生成状态表。
- 组合任意可能的状态组合,写出相应的测试用例。
错误猜测法
错误推测法是指:在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。
错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结。还有, 输入数据和输出数据为0的情况。输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例.
总之,就是进行错误的操作。
随机测试法
探索性测试
基于测试人员经验与直觉的测试方法
是对测试用例设计的有效补充。
探索性测试也必须生成测试用例。
猴子测试
一种没有书面测试用例、记录期望结果、检查列表、脚本或指令的测试
根据测试者的经验对软件进行功能和性能抽查
随机测试的缺点
测试往往不太真实
不能达到一定的覆盖率
许多测试都是冗余的
需要使用同样的随机数种子才能重建测试
测试大纲(提纲)法
应用场合
在程序要有多个窗口,窗口中有若干操作,不同窗口操作之间存在联系,为了理清窗口之间的关系,使用测试大纲法。常用应用有:
测试窗口之间的跳转关系2)测试软件的安装、删除程序3)理清需求间的层级关系。
测试步骤
步骤1:分析需求,列大纲
列大纲:将窗口和窗口中的操作按照层级关系列出。
说明:可以用不同方式列大纲,不要拘泥于形式。(文字、画图等都ok)
步骤2:分析大纲,理清窗口间关系,编写用例。
说明:
1、在测试窗口跳转关系时,如果某个跳转路线中所功能点,在之前都已经测过(没有未测功能点),那么该路线可以省略。如果时间充足,最好还是测。
2、在测试下拉列表或列表框控件时,至少要测试3项:第一项(最小值) ,最后一项(最大值),中间某项(有效等价类)。
测试方法选择的综合策略
- 首先进行等价类划分。
- 在任何情况下都必须使用边界值分析方法。
- 可以用错误推测法追加一-些测试用例。
- 对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,应当再补充足够的测试用例。
- 如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法和判定表驱动法。
- 对于参数配置类的软件,要用正交试验法选择较少的组合方式达到最佳效果。
- 功能图法也是很好的测试用例设计方法,我们可以通过不同时期条件的有效性设计不同的测试数据。
- 对于业务流清晰的系统,可以利用场景法贯穿整个测试案例过程,在案例中综合使用各种测试方法。