单元测试用例设计方法

发表于:2009-09-25来源:作者:点击数: 标签:设计单元
1. 前言: 1.1 三角形问题和NextDate函数(贯穿讲座的两个例子) 1.1.1三角形问题 1.1.2 NextDate函数 1.2 软件 测试 的重要性 2. 软件测试 介绍: 2.1 软件测试的一些常用术语 2.2 软检 测试流程 :代码审查; 单元测试 ; 集成测试 ; 系统测试 ; 验收测

1. 前言:                                                       

1.1 三角形问题和NextDate函数(贯穿讲座的两个例子)

1.1.1三角形问题

1.1.2 NextDate函数

1.2 软件测试的重要性

2. 软件测试介绍:                                           

2.1 软件测试的一些常用术语

2.2 软检测试流程:代码审查;单元测试集成测试系统测试验收测试

2.3 单元测试方法白盒测试(结构测试)和黑盒测试功能测试);单元测试以白盒测试                 为主

3. 测试用例的设计方法:

3.1 等价类划分                                            

3.1.1 等价类划分法介绍

     等价类划分法是将程序的输入域划分为若干部分,然后从每个部分中选取少数代表性数据当作测试用例

3.1.2 等价类划分法原则

     (1) 按照区间划分(举例)

     (2) 按照数值划分(举例)

     (3) 按照数值集合划分(举例)

     (4) 按照限制条件或规格划分(举例)

     (5) 细分等价类

3.1.3 等价类划分法的测试用例设计

3.1.4 常见等价类划分测试形式

     (1) 标准等价类测试(举例)

     (2) 健壮等价类测试(举例)

     (3) 对等区间划分

3.1.5 等价类划分测试的实例

     三角形问题的标准等价类测试用例和健壮等价类测试用例

3.2 边界值分析法                                                

3.2.1 边界值分析法介绍

     边界值分析法的测试用例来自等价类的边界。

     输入等价类和输出等价类的边界就是要测试的情况。

     基本思想:选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

3.2.2 边界值分析法设计测试用例的原则:

     (1) 输入条件取值范围界定时:

     (2) 对取值个数界定时:

     (3) 输出条件同上两原则。

     (4) 输入或输出要求是有序集合时:

3.2.3 边界值分析法测试的实例

     (1) 三角形问题的边界值分析测试用例设计

     (2) NextDate函数的边界值分析测试用例设计

3.3 因果图法                           

3.3.1 因果图法介绍

     因果图法是基于这样的一种思想:一些程序的功能可以用判定表的形式来表示,并根据输入条件的组合情况规定的操作。因此,可以考虑为判定表中的每一列设计一个测试用例,以便测试程序在输入条件的某种组合下的输出是否正确。

    特点:这种方法考虑到输入情况的各种组合以及各个输入情况之间的相互制约关系。

  适用情况:测试时必须考虑条件的各种组合

3.3.2 因果图的编制、分析以及判定树的转换和测试用例设计步骤

     (1) 根据程序规格说明书,确定“因”、“果”,表示成因果图

     (2) 将因果图转换为判定表

     (3) 为判定树中的每一列所表示的情况设计一个测试用例

3.3.3 因果图法举例

     修改个人信息的例子

3.4 决策表法(简单介绍)                                    

3.4.1 决策表法的介绍

     一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,也就是说,针对不同逻辑条件的组合值,分别执行不同的操作,决策表很适合于处理这类问题。

3.4.2 决策表示例

     例子:阅读指南

3.4.3 决策表的组成

     条件桩、条件项、动作桩、动作项

3.4.4 决策表的生成

     主要讲解决策表的简化,相似规则的合并

3.4.5 决策表的适用范围

     (1) 决策表适用的应用程序:

     (2) 适用于使用决策表设计测试用例的情况:

4. 白盒测试用例设计的覆盖标准:

4.1 覆盖测试的示例程序                                                

4.1.1 经典示例程序

4.1.2 实例程序流程图和流图

4.2 六种覆盖方法 

示例程序

IF  ( (A>1) AND (B=0) )  THEN

    X=X/A

IF  ( (A=2) OR  (X>1) )  THEN

    X=X+1

4.2.1 语句覆盖

4.2.2 判定覆盖

4.2.3 条件覆盖

4.2.4 判定/条件覆盖

4.2.5 组合覆盖

4.2.6 路径覆盖

原文转自:http://www.ltesting.net