好文档 - 专业文书写作范文服务资料分享网站

基于UML的系统测试用例自动生成

天下 分享 时间: 加入收藏 我要投稿 点赞

基于UML的系统测试用例自动生成①

胡俊豪,何 春,宗竹林

【摘 要】提出了一种新颖的基于UML图自动生成系统测试用例的方法。此方法适用于所有UML建模的系统。用创新性地结合图论知识,对用例图和序列图进行抽象,定义了相应的测试覆盖准则以生成测试用例。通过两级遍历,自动生成系统测试向量,并且达到所提的系统测试覆盖率的要求。能够覆盖所有用例、用例依赖性、以及交互中所有的消息序列。实现最大化的覆盖范围。 【期刊名称】计算机系统应用 【年(卷),期】2011(020)002 【总页数】4

【关键词】系统测试;UML;用例图;序列图;用例自动生成;图论

近年来,UML (unified modeling language)作为软件建模的标准,并得到了研究者和实践者极大的重视。随着系统的复杂化,UML 在系统测试中得到了极大的关注。

本文提出了基于 UML模型,一种新颖的自动生成系统测试测试用例的方法。这里使用用例图和序列图作为生成测试用例的信息来源。

创新地结合图论知识对 UML模型进行抽象,采用2级遍历,生成测试用例满足如下两个覆盖原则:

覆盖标准 1:所有用例和用例依赖关系标准: 假设测试集tSet 和用例图G1, tSet 必须使每个用例均发生并且使每个代表依赖性的路径执行至少一次。 覆盖标准 2:所有顺序图消息路径序列覆盖标准:假设测试集tSet 和顺序图G2,tSet 必须使每个消息序列路径执行至少一次。

此方法生成的测试集能够覆盖操作错误、用例依赖性错误、初始化错误以及交互错误。

1 引言

系统测试的目的就是要确保整个综合系统处于无错误的状态。系统测试通常被认为是所有测试类型中最为错综复杂的类型。这归结于系统测试的是一个完全综合的系统,此系统通常大型、复杂并且基于状态机,通常超出了手动测试的范围[1]。

近年来,UML ( unified modeling language)作为软件建模的标准,并得到了研究者和实践者极大的重视。UML模型在设计测试用例方面的重要性已经得到很好的验证[2-5]。Briand和Labiche[2],描述了TOTEM (Testing Object orienTed systEms w ith the unified Modeling language) 系统测试方法。系统测试需求得自于早期的 UML分析模型,比如用例图和序列图。他们通过在活动图中附加人为干涉来获得用例之间的顺序关系。基于这些顺序依赖关系,生成有效的用例序列来生成测试用例。他们这种方法实质上是一个半自动的场景覆盖方法,因为需要预先设定初始状态和测试指导方案。

Monalisa Sarma 和 Rajib Mall[1],通过使用UML的用例,序列和类(sequence and class)层次的状态图模型,来生成一个包含多种情节(scenarios)的序列的集合,该集合能够满足充分的系统状态覆盖率。所生成的测试集,由包含应用用例情景的执行序列构成。

本文提出了基于 UML模型,一种新颖的自动生成系统测试测试用例的方法。这里使用用例图和序列图作为测试用例生成的信息来源。此方法生成的测试集能够覆盖操作错误、用例依赖性错误、初始化错误以及交互错误。

在提出的方法中,使用 UML建模的时候我们结合图论的相关知识,对系统的用例图模型和序列图模型进行抽象,这有利于算法进一步的实现。

我们首先将用例图UCD和顺序图SD进行抽象;然后通过抽象出来的模型,进行用例图和顺序图两个级别意义上的遍历来自动生成测试例子,这里我们定义了两个覆盖率准则。

2 基本概念介绍

UML作为一种对软件系统进行规约、构造、可视化和文档化的语言,融合了Booth方法、OMT方法和OOSE方法的核心概念,取其精华、去其繁杂,形成了一个统一的、公用的、具有广泛适用性的建模语言。

其中用例图描述了系统提供的一个功能单元。序列图显示一个具体用例或者用例一部分的详细流程。

3 模型抽象

本文在常规 UML模型基础上,运用图论知识,对序列图和状态图进行了抽象,方便了随后算法的具体实现。 3.1 抽象用例图

我们运用图论知识实现对用例图的抽象化,得到的图命名为G1。具体方法如下: 首先,我们考虑G1的结点集合 NodeG1。

G1的结点由 UCD 里的所有用例UC={U 1, U 2,...,U i }和参与者 A={ A1, A 2 ,...,A j }的有限结点集合 NodeG1= UC ∪ A 。每个用例映射为G1的中间结点。所有参与者可以映射到 G1为开始结点集合SnodeG1 ? { A1, A 2 ,...,A j }或 最 终 结 点 集 合FnodeG1 ? { A1, A 2 ,...,A j },或者两者皆是。开始结点集合表示这些参与者扮演着数据源的角色,而最终结点的集合表示这些参与者

基于UML的系统测试用例自动生成

基于UML的系统测试用例自动生成①胡俊豪,何春,宗竹林【摘要】提出了一种新颖的基于UML图自动生成系统测试用例的方法。此方法适用于所有UML建模的系统。用创新性地结合图论知识,对用例图和序列图进行抽象,定义了相应的测试覆盖准则以生成测试用例。通过两级遍历,自动生成系统测试向量,并且达到所提的系统测试覆盖率的要求。能够覆盖所有用
推荐度:
点击下载文档文档为doc格式
3vmwv35r0v4mu7526k929d31q9p6am00e9d
领取福利

微信扫码领取福利

微信扫码分享