关键词:
软件测试
UML活动图
测试用例
自动生成
测试场景
摘要:
随着软件产业的不断发展,软件测试对于软件开发产生着难以忽视的影响,软件测试能有效地保证软件质量。测试用例是软件测试的核心内容,手工设计测试用例效率较低,而自动生成测试用例能够有效地使软件测试效率提高。UML是标准化的统一建模语言。从UML模型中提取信息可以用于生成测试用例。基于UML模型生成测试用例的方法也逐渐变成了软件测试中的热门研究方向。本研究分析了UML各动态模型图的优势与缺陷,并选择基于UML活动图生成测试用例。本文研究内容主要包括:(1)对系统进行活动图建模,建模完成后,分析活动图中的不同种类结构,并且使活动图规范化。考虑到UML是半形式化语言,因此需要对活动图进行形式化定义,还要简化活动图,再依据相应的转换规则,将简化活动图转换为有向图。(2)为满足测试充分性要求同时减少测试的盲目性,借鉴白盒测试的思想,提出节点覆盖准则、转移边覆盖准则、路径覆盖准则。针对活动图中的并发结构特点,制定更适合并发结构的测试用例覆盖准则。(3)本文采用基于图论搜索算法和改进式反蚁群算法的两级测试场景架构,实现了涵盖大量并发活动的基于活动图的测试用例生成方法。首先,从活动图出发,采用图论的搜索算法形成初级测试场景。然后,结合并发活动间约束关系,使用改进式反蚁群算法,并通过划分位置带的方式搜索有向图得到次级测试场景。接下来,整合初级测试场景和次级测试场景,并加以优化,最后将测试数据和测试场景进行有机组合,从而得到相应的测试用例。(4)将本文研究的基于UML活动图的测试用例生成方法应用到系统实例中,以普通用户活动图为例,通过分析生成测试用例的结果,验证了该方法的可行性和有效性。本文的创新性工作体现在:采用两级测试场景架构来设计基于活动图的测试用例生成方法,通过改进式反蚁群算法形成并发结构的测试场景,并引入分层级划分位置带的方法。测试结果表明,本文方法不需要多次划分位置带,故而更加方便且所生成的测试用例具有更高的覆盖率。进一步说,该方法在保证效率的同时,还满足了一定的覆盖率,并能有效解决活动图中所包含的大量并发活动可能引发的路径数量爆炸问题。