论文部分内容阅读
提高软件质量是计算机软件行业的重要课题,而软件测试则是保障软件质量的重要手段。随着软件工程和面向对象技术的发展,软件建模越来越受到重视,因此也给软件测试带来了新的研究课题:如何根据模型来进行软件测试。
UML是一种可视化的通用的面向对象建模语言,它被用于描述和构建复杂的软件系统。UML自1997年被OMG接纳为标准以来,得到了工业界、科技界和应用界的广泛支持,日前已经成为建模语言事实上的标准,目前软件建模的研究主要集中在UML相关领域。因此,针对UML模型来进行软件测试也成为当前研究的一个热点。
本文较为深入地研究了UML中的两种模型图:活动图和顺序图,提出了基于这两种模型图的软件测试方法并实现了两个相应的支撑工具,主要的工作有:
(1)给出了活动图和顺序图的形式化描述,并针对软件测试对这两种模型图进行了扩充。对于活动图,为了针对活动图上所有可能路径设计测试用例,提出了测试场景的定义。对于顺序图,提出了预期执行轨迹的定义来描述系统的设计时期望行为,我们可以根据预期执行轨迹来设计测试用例,并提出了运行时执行轨迹的定义来描述系统的实际运行时行为。
(2)提出了一种从UML活动图直接生成测试用例的灰盒方法。该方法首先分析活动图得到所有可能的执行路径,然后收集每条执行路径上的系统输入/输出变量以及路径中的转换及活动的信息来生成测试用例。
(3)提出了一种UML顺序图的运行时验证方法。该方法首先分析顺序图,得到预期执行轨迹,然后收集预期执行轨迹上的系统输入变量及其约束,设计测试用例,再根据预期执行轨迹来插装源代码使之运行时可以记录运行信息,然后使用测试用例运行插装后的源代码得剑描述系统动态行为的运行时执行轨迹,最后将预期执行轨迹和运行时执行轨迹比较,得到设计和实现的一致性检验。
(4)基于以上的定义和方法,我们设计和开发了一个从活动图自动生成测试用例的工具UMLTGF和一个对UML顺序图进行运行时验证的工具UMLTGV,软件提供了丰富的图形界面和友好的用户交互方式,能够帮助软件开发人员提高软件测试的效率。