基于UML顺序图的场景测试用例生成方法

发表于:2009-03-06来源:作者:点击数: 标签:umlUML顺序
引言 本文提出了一个基于 UML 模型图来 测试 场景的方法,它以顺序图为主要测试模型,结合类图和状态图导出所有的场景,并将与场景相关的环境条件与方法序列、输入、输出合理组合作为覆盖该场景的 测试用例 。我们的 工作 具有两方面的优点: 测试方法 完全

引言

        本文提出了一个基于UML模型图来测试场景的方法,它以顺序图为主要测试模型,结合类图和状态图导出所有的场景,并将与场景相关的环境条件与方法序列、输入、输出合理组合作为覆盖该场景的测试用例。我们的工作具有两方面的优点:测试方法完全基于UML模型,以便已经使用UML的软件系统能方便地采用,另一方面生成的测试用例数量少,减少工作量。

1、实例

        本文以DHCP[2]作为一个实例,使用UML的类图、状态图和顺序图[3]来说明我们提出的一个场景测试用例生成方法。DHCP是由IETF进行标准化的一个协议,提供一种动态指定IP地址和配置参数的机制。我们选取了DHCP协议的一个子集,协议的一般过程如下:

1.客户端广播一个DHCP_DISCOVER消息。

2.每个具有网络地址的服务可能响应一个DHCP_ OFFER消息,如果都没有响应,则表示超时失败。

3.如果客户端接收到一个或多个DHCP_OFFER消息,则选择其中一个,然后广播一条DHCP_REQUEST消息给所有的服务器,并附上选择参数及指明哪一个服务器。

4.所有服务器接收到客户的广播信息,只有被选中的服务器才绑定地址给这个客户,并发送确认消息DHCP_ACK,连接成功;如果要求的地址不可得(可能分配给其它用户),则服务器发送一个DHCP_NAK给客户,连接失败。

                                                       图1显示了DHCP协议的部分类图。

javascript:return big(this)" title=点击图片可在新窗口打开 style="CURSOR: pointer" alt=q src="http://www.ltesting.net/uploads/2009/03/54376_200903061804471MMu3.jpg" onload="javascript:if(this.width>498)this.style.width=498;">
图1:DHCP的部分类图

                                                     图2是实例中请求IP的顺序图。

w
图2:请求IP的顺序图

                                      

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