background image

软件测试用例设计方法研究

 摘要:软件测试是软件开发过程的重要阶段,而测试用例的设计是软件测试中的重要组
成部分。本文主要介绍了测试用例的白盒测试和黑盒测试技术,针对两种不同的测试方法,
分别研究了测试用例的设计技术,并通过实例介绍了具体的测试用例设计过程。

 

  关键词:软件测试;白盒测试;黑盒测试;测试用例

 

  中图分类号:

TP311.53 文献标识码:A 文章编号:1007-9599 (2012) 21-0000-02 

  软件测试在软件开发过程起着十分重要的作用,它对软件可靠性有着重大的影响。一般
情况下,软件开发周期都比较长,人的主观认识不可能完全符合客观现实,因此在软件生
命周期的每个阶段都可能或多或少的出现错误。而为了尽可能在软件投入运行之后少出错误,
就必须在运行之前就发现并改变软件中的错误,这是软件测试的主要目的。而设计测试方案
是软件测试阶段的关键技术,而软件测试中最大的困难就是设计测试用例,本文将重点讨
论软件测试中测试用例的设计方法

[1]。 

  

1 软件测试的相关概念 

  测试方案是指具体的测试目的,应该输入的测试数据和预期的输出结果。其中测试数据
和预期的输出结果称为测试用例,软件测试中如何确定测试用例中输入数据的选择方案是
最大的困难。

 

  设计测试用例的基本目标是要确定一组最可能发现某个错误或某类错误的测试数据。目
前已经研究出许多的测试数据的技术,典型的软件测试技术有白盒测试技术和黑盒测试技
术。

 

  白盒测试技术是把程序看成一个透明的盒子,根据程序内部的逻辑测试结构,检测程
序中的关键通路能否按要求正常的工作。白盒测试也称为逻辑驱动测试和结构测试。白盒测
试根据在不同程序执行点点检查程序的状态来确定运行结果与预期的状态是否一致,所设
计的测试用例要尽可能测试到程序所有的逻辑路径。

 

  黑盒测试技术则把程序看成一个不透明的黑盒子,不考虑程序的处理过程和内部结构
只检查程序的功能是否能够正常使用。黑盒测试也称为数据驱动测试和功能测试。

 

  

2 白盒测试技术中测试用例的设计方法研究 

  白盒测试方法的主要作用有:

 

  (

1)至少测试一次程序子模块的所有独立执行路径;( 2)针对所有可能的逻辑判定,

至少一次取

“真”或“假”两种情况;(3)在运行界限内和循环边界处执行循环体;(4)测

试程序内部的数据结构的有效性。

 

  在实际的数据测试中,如果程序具有多种循环嵌套的情况,不同的执行路径数目可能
是天文数字,例如一个有

5 条路径的嵌套 20 次循环的小程序,包含不同执行路径条数为

520 次方,如果每一条路径测试 1ms,全年无休时要测试完所有路径需要约 3170 年的时间。
因此,我们必须采用一些替代办法,典型的方法是有选择的执行程序中某些最有代表性的
通路。白盒测试的主要技术有:

 

  

2.1 根据程序内部的逻辑结构设计测试用例的技术

—逻辑覆盖[2] 

  (

1)语句覆盖,选择足够多的测试数据以使被测程序中每条语句都至少执行一次。语

句覆盖不考虑对程序的逻辑覆盖,它主要关心表达式的结果,却对每个条件取不同值的情
况不做测试。因此,语句覆盖是比较弱的逻辑覆盖标准。在图论中和语句覆盖对应的是点覆
盖。(

2)判定覆盖,又叫分支覆盖,它首先满足语句覆盖的条件,同时对每个判定的每种

可能的结果都至少执行一次,即对每个分支都至少执行一次每个判定,判定覆盖对程序的
逻辑覆盖程度也不高。在图论中和判定覆盖相对应的是边覆盖。(

3)条件覆盖,指的是不仅

每个语句至少执行一次,而且使判定表达式中的每个条件都取到各种可能的结果,条件覆