中国测试平台网

 

 

软件测试管理 按照用例(Use Case)设计测试用例
查看: 6675|回复: 11
go

按照用例(Use Case)设计测试用例

Rank: 3Rank: 3Rank: 3

按照用例(Use Case)进行测试是以前翻译的一篇文章,感觉原稿向读者提供了一种工程方法去设计测试用例,文章中提到的测试场景对测试比较有帮助。和这篇文章配套的还有一个PPT文件,请看跟帖。

[center]按照用例(Use Case)进行测试
路径分析技术的使用[/center]

摘要
Use Case现在成为了一种指定用户和系统交互活动的工业标准。因此它也是软件项目中需求定义阶段中的一个组成部分。Use Case是用来推导,构建一个应用程序的有效界面、对象、关系和过程的方法。同时Use Case也是构建
测试用例的有效方法。本文的作者参加了若干软件项目,这些项目是用例驱动的并且被要求从Use Case生成测试用例来执行有效的应用程序测试。撇开纯粹的必要性和已定义的那些方法论,作者设计一个新的测试方法论――Use Case 路径分析。该测试方法被成功的应用到两个基于EJB的项目的测试工作中。作者同时将该方法教授给部分测试专家,并且希望和他人共享该方法。

什么是Use Case
Use Case是一个关于用户和系统之间交互活动的描述。它也可以被描述成为一种使用系统某一指定功能的方法。一个完整的Use Case 集合描述了用户操作一个软件系统的时候使用的所有方式。
Use Case是一个功能强大的需求描述工具,它构成了以下几个方面的基础
        软件设计
        测试用例
        用户文档
        GUI设计(图形界面设计)
Use Case是在软件
开发过程中的需求阶段开始的。用例是用纯文字的方式来书写的,这样用户就可以很容易的理解Use Case。那些经过特别培训的分析人员开发Use Case,并将Use Case书写下来。Rational Rose是一种有效的塑模,编写Use Case的工具。不过很多的Use Case还是使用微软的Word编写出来的这样每个人就能很容易的去访问这些Use Case.

Use Case基本上分为2种类型
        具体类型:具体类用例指的是那些可独立完成一个目标的用例。
        抽象类型:抽象类用例指那些可以被多个Use Case引用,但是没有指定面向用户的目标
Use Case有以下要素
名称
描述
执行者/角色
前置条件
基本事件流
备选事件流
异常事件流
后置条件
问题
注释
一个简单Use Case的实例
附录A 中提供了一个简单的Use Case 例子

路径分析
路径分析是将Use Case转换为测试用例的一个过程。它是测试者的一种工具,这些测试者将Use Case视为需求,并且使用这些需要来测试应用程序。一个Use Case可以在多种可能的方式下执行,Use Case中每一条执行的线程被称为路径。每一条Use Case路径都可以从下列Use Case要素的可能组合中推导出来。
        基本事件流
        备选事件流
        异常事件流
        扩展和使用关系
于是一个Uses Case会拥有多条路径,贯穿Use Case的每条路径都是一个潜在的测试用例。
路径分析是一种科学的技术用来识别所有可能的测试用例,而不是依靠测试者的直觉和经验来识别可能的用例。路径分析方法可以减少测试用例,测试数据的数量。同时路径分析可以减少测试用例和测试数据之间的耦合程度。举个例子,如果我们有一个拥有10条路径Use Case ,每个路径需要经过5套数据的测试,在传统的方法中,我们需要写5*10个测试用例,在使用路径分析,我们可以为每条路径写10个测试用例(每个路径一个用例)和10个数据表(每个表有5列)。路径分析方法的优点可以概括为:
        更好的覆盖率。
        “正面”用例和“负面”用例在路径分析中可以比较容易的被识别出来。
        简化路径和数据的耦合。
        减少测试用例的数量。
        更好的管理测试风险。
        非常有效的识别和更改测试用例中的错误。

路径分析过程
路径分析过程有4个主要的部分组成
        按照Use Case画一个流程图。
        确定所以可能的路径。
        分析,归类发现的路径
        决定用于测试的路径

按照Use Case画一个流程图
Use Case 是一个文字性的文档,因此分析起来不是一件容易的事情。第一个任务就是将Use Case 转化为图形格式即流程图。首先我们需要定义几个概念
Flow Diagram:图形化的Use Case
Node:流(Flow)分离或者汇集的点
Branch:两个Node之间的连接。每条分支都有一个箭头。节点在这个意义上也可以理解为一条以上分支相遇的地方。
为了演示这个过程,我们将使用附录A中的Use Case作为例子。
每个Use Case只有一个起点,但是能拥有多个结束点。使用
UML中的表示方法,一个起点用一个圆形来表示,而终点使用一个带点的圆形来表示。

为了画出Use Case的流图,最好能按照下列步骤来进行
        首先将基本的流给画出来
        识别出节点
        将连续的步骤合并为一个分支
        用简明的文字来标明分支代表的行为
        连接各个节点,并且表明流的方向。
        为每一条备选路径和异常路径重复上面的步骤

一个完整的过程在附录B图中被演示出来。附录A中的例子被用来演示该过程。正如在前面解释到的,流程图在识别Use Case流程和早期的一些其他问题是一种非常好的工具

Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

还行!

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

支持一下下!

Rank: 1

我顶!

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

写的不错!

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

楼主辛苦了!

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

很好!

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

学习了!

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

盖楼了!

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

:lol:lol:lol:lol:lol

Copyright (C) 1997-2013 Chinabyte.com, All Rights Reserved

GMT,

Powered by Discuz!

© 2001-2010 Comsenz Inc.