VS 2005 Team Suite 轻松搞定白盒测试

上一篇 / 下一篇  2007-11-21 13:09:30 / 个人分类:原创

VS 2005 Team Suite轻松搞定白盒测试

(此文已于《测试天地》杂志发表,如需转载,请与作者联系:QuickTest@yahoo.cn

摘要】本文将介绍VSTS强大的单元测试创建功能和具体实例,结合黑盒测试与白盒测试的测试用例设计方法,有效完成单元测试,在软件研发前期就发现缺陷,从而有力保证软件质量的具体操作方法。

 

关键词: VSTS 单元测试 缺陷 软件质量

 

在开始本文之前,我们有必要先探讨几个问题:

²       为什么需要做单元测试?

²       单元测试应该让谁来完成?

²       做单元测试的工具有哪些?

 

.引言

笔者就自己对于单元测试的认识,简单做如下回答:

ü        我们熟知的“软件测试10大原则”中第一条就是“测试是一个持续进行的过程,而不是一个阶段”,就是说软件测试需要尽早的参与研发投入,V&V模型就很好的为我们描述了这个观点。根据缺陷放大理论,在白盒测试阶段发现BUG是投入成本最低也是最高效的。

ü        51testing的论坛上有一个贴,讨论过这个问题,笔者发现大多数的公司根本不进行白盒测试,或者进行白盒测试的也是开发人员完成的。更为奇怪的是,我在几年前参加的程序员考试竟然也认为应该把单元测试的任务移交给开发人员。

笔者认为,测试人员之所以选择测试,就是因为我们比开发人员更加具有对于缺陷的敏感性,并且对缺陷的认识程度远高于开发人员;另外,开发人员对于自己开发的程序具有很显著的思维定势,单元测试的职责理所应当让测试人员来完成。

ü        单元测试的工具主流的是XUnit,还有C++TestInsure++CompuwareDevParternerPurifyPC-LintLogiScopeTestBed等也是很强大的单元测试工具,另外基于Java也有自己的工具:Agitator。此外,笔者曾用高级语言调用TCL编译器,在TCL脚本语言环境创建单元测试用例也是个不错的选择。

 

二.VSTS单元测试简介

Team版的VS2005里面包含了完整的Test功能,具体有:Unit TestWebTestLoadTest。这一整套的测试基本涵盖了软件开发会使用到的测试功能。

今天要介绍的是VSTS自带的单元测试工具(Unit Test),它最大的好处就是与开发的代码无缝连接,并且能自动创建单元测试环境,能够让不懂编程的测试人员也轻松进行单元测试。

 

.测试实战

下面我们就通过一个实例来具体体验VSTS单元测试。

在测试过程中,将按照如下顺序进行:

被测系统简介->被测试函数分析->测试用例的编写(黑盒/白盒测试方法)->进行单元测试

 

1.     被测系统简介

被测系统是“快速价格查询系统”,通过选定座位号的两个值,系统自动算出价格(界面如下图)。“座位号”下拉框的可选范围分别为“A”~“F”和“0”~“9

如上图所示,“应付价格”=“价格基数”ד座位号权值”

 

2.     被测试函数分析

我们需要测试的就是权值计算的函数,开发人员在函数申明中是这样描述的:

       //权值计算

       ///<summary>

       ///如果XAF,则靠窗,纵向权值=1.8

       ///如果XBE,则靠中间,纵向权值=1.2

       ///如果XCD,则靠走廊,纵向权值=0.9

       ///如果Y0~2,则靠头部,横向权值=1.6

       ///如果Y7~9,则靠尾部,横向权值=0.7

       ///如果Y3~6,则靠中间,横向权值=1.1

       ///权值=纵向权值*横向权值

       ///</summary>

       ///<param name="x">纵列值</param>

///<param name="y">横列值</param>

staticdoubleposition(charx,inty)

{

……

}

 

3.     测试用例的编写(黑盒测试方法)

也许有人会产生疑问:单元测试怎么可以用黑盒测试方法设计测试用例呢?黑盒测试不是做系统测试的吗?

      其实我觉得测试方法都是一家,我们在设计用例的时候要秉承一个原则,那就是:测试是无穷尽的,我们要以尽量少(20%)的测试用例发现尽量多(80%)的缺陷。在设计用例的时候大可以集成天下,只要是为高效发现缺陷的用例设计思路都可以采纳,不必拘泥于特定的条条框框。我们只要把函数具体的实现方式抽象成一个黑盒,即可用黑盒设计思路。

      根据开发人员提供的描述,我脑海中即刻浮现出一幅图:

限于篇幅有限,且重点不在于用例设计上,笔者在这里象征性的用划分等价类的方法设计了5个测试用例:

注:实际测试过程中可以结合边界值、正交法、错误猜测、因果图等方法设计出更多测试用例进行测试

 

4.     测试用例的编写(白盒测试方法)

白盒测试用例设计方法少不了函数流程图:

限于篇幅有限,且重点不在于用例设计上,笔者在这里象征性的用语句覆盖的方法设计了3个测试用例:

注:实际测试过程中可以结条件覆盖、判定覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖等方法设计出更多测试用例进行测试

 

 

5.     进行单元测试

...... ......


(谢谢关注,这里显示尚存在BUG,可以去http://blog.csdn.net/quicktest/archive/2007/11/20/1895390.aspx 查看全文,thx)


TAG: 原创

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-03  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 3693
  • 日志数: 7
  • 建立时间: 2007-06-13
  • 更新时间: 2009-04-01

RSS订阅

Open Toolbar