浅谈测试用例分析和设计

开发 测试
测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。本文主要介绍的是测试用例的设计和分析。

测试用例的重要性是毋庸置疑的,它是软件测试全部过程的核心,是测试执行环节的基本依据。下面我们来浅谈下测试用例的分析和设计过程。

一、测试用例分析阶段

测试用例设计的基础文档是需求文档,如果测试人员能拿到一份完整的准确的需求文档,那么对测试人员来说,工作量可以减轻大半,工作效果会大幅提高。但是我们在需求分析阶段,即便是在需求评审之后,我们拿到的需求文档,仍然是存在一些疑义的或者是分析不透,表达不清的一些需求文档。这样的时候,测试人员是否有自己的分析方法,显得尤为重要。

测试人员对付需求文档,从操作策略上来说,可以从以下两点出发:

(一)、对于需求规格全面、完整的需求文档来说,我们可以采取“切割策略”,把需求按一定的粒度进行分解,来编写测试用例。

(二)、对于简单不全面、需求规格含糊的需求文档,我们可以采取的策略:“联想策略”。这点还是主要来自工作经验及对该行业的理解,把一些含糊的内容补充起来。

在参与需求文档阅读的过程中,我们还可以采用一些小方法,把需求吃透。例如:

1、在参与需求阅读的过程中,我们可以把需求中的一些边界或者异常的情况列出来,这些往往是以后bug的多发地带。

2、对于需求文档中的一些隐式缺陷,我们需要补充清楚质量属性,例如一些安全性、性能、UI等的一些质量属性内容,我们需要补充清楚。

3、对需求文档的阅读,我们还可以采用一些工具:思维导图工具及UI界面设计工具,把图给画出来,有助于我们理解需求,找到测试点。例如思维导图工具,通过名词+动词的方法,可以把测试数据和操作动作列出来,有利于理清测试的要点。

通过以上的一些策略和方法,我们大致上可以把需求测试分析做的比较到位了。

测试人员对需求文档分析后,接下去还需要对设计文档进行分析,大部分的测试人员,不是太注重开发组的这份设计文档,觉得与己无关,其实,理解设计文档,有利于降低我们的测试规模,降低劳动负荷。一般来说缺陷会与内部结构映射,如果你了解了代码的结构,一般来说,我们都可以找到缺陷出现的真正原因了。这里有一种工具,可以帮助我们进行这方面的工作,就是UML的反向工程获得设计模型,该工具网上大家也可以找到。

二、测试用例设计阶段

通过以上对需求文档和设计文档的分析,下面我们来浅谈下测试用例的设计,测试用例一般由三部分内容组成:步骤、数据、标准。步骤一般与需求规格说明书相对应,对于某些共享步骤,可以进行参数化,或借用工具进行管理,步骤的描述应该无二义性。测试标准,主要为预期值与结果值的对比方式。

对于测试数据的设计,这里我们讲解以下几种方法:

1、最原始的方法:排列组合。

通过排列组合,把所有的数据都遍历过,这样的穷举的方法,尽可能的把系统都测试到位。但数据庞大,这样穷举的方法,会让测试陷入困境。

2、边界值和等价类的方法。

通过边界值和等价类划分,可以大大的缩小测试范围,提高了测试效率。在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发现程序错误的能力最强。必要时用等价类划分方法补充一些测试用例。

3、因果图表和决策表法。

如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法。因果图分析法,是为了解决边界值分析和等价划分的一个弱点:未对输入条件的组合进行分析。而因果图恰恰有助于用一个系统的方法选择出此类高效的测试用例集,并且可以指出规格说明的不完整性和不明确之处。步骤如下:

1)将规格说明分解为可执行的片段;

2)确定规格说明中的因果关系;

3)分析规格说明的语义内容,并将其转换为连接因果关系的布尔图,即:因果图;

4)给图加上注解符号,说明由于语法或环境的限制而不能联系起来的“因”和“果”;

5)经过仔细地跟踪图中的状态变化情况,将因果图转换成一个有限项的判定表;

6)将判定表中的列转换成测试用例。

4、“猜”技术。

为特殊测试点准备测试数据。

看完了上面的测试用例设计方法,我们来看下测试用例的设计步骤:

1)构造根据设计规格得出的基本功能测试用例;

2)边界值测试用例;

3)状态转换测试用例;

4)错误猜测测试用例;

5)异常测试用例;

6)性能测试用例;

7)压力测试用例。

以上我主要讲解了一些平时比较常用的测试用例设计方法,如果更细化,还可以找出更多的测试用例设计方法。其实,这些方法和设计步骤通过我们的加工,都融入到了测试用例中去了,所以测试用例是测试的灵魂,一点都不为过。有时可以不需要很完美的测试用例模板,但是一定要有完美的覆盖率的测试用例。

 【编辑推荐】

  1. 软件测试接口测试的测试用例类型
  2. 如何有效减少测试用例数目
  3. 测试用例设计方法1 等价类边界值
  4. 测试用例设计方法2 因果图判定表
责任编辑:于铁 来源: 51Testing软件测试网采编
相关推荐

2011-06-08 17:23:12

测试用例

2011-05-16 15:09:20

测试用例

2011-11-02 09:54:37

测试

2011-12-23 17:03:29

性能测试用例设计

2011-09-01 10:05:24

PhoneGap应用程序测试

2021-03-04 15:43:29

前端测试工具开发

2011-06-03 16:58:03

测试用例

2011-05-16 15:18:18

测试用例

2011-06-14 14:04:11

测试用例

2011-05-16 14:38:53

测试用例

2011-05-16 14:46:19

测试用例

2022-05-10 14:54:13

验收标准测试用例

2021-12-22 10:19:47

鸿蒙HarmonyOS应用

2011-04-18 10:46:39

接口测试

2012-04-11 11:21:57

ibmdw

2017-03-16 15:38:39

设计策略开发技术测试

2023-06-09 15:24:50

UiTest接口鸿蒙

2011-07-04 18:06:52

测试用例

2022-01-19 17:48:57

测试用例开发

2020-08-25 08:03:59

测试Sharness结构
点赞
收藏

51CTO技术栈公众号