论文部分内容阅读
测试是软件开发过程中重要和不可或缺的部分。随着软件开发方法和软件工程过程的发展,软件测试技术和方法也不断演化进步。80年代以来,随着面向对象技术的广泛应用和CASE工具的飞速发展,软件工程过程也由传统的瀑布模型发展到支持增量开发和功能迭代的USDP,RUP和XP。这都对传统的软件测试方法和技术提出挑战,迫切需要研究面向对象软件测试和测试自动化。考虑到面向对象图形化的分析设计方式,基于模型的软件测试的研究才能从根本上解决测试领域面临的问题。 现在,统一建模语言已经受到业界的广泛认可,OMG也在不断改进UML使其能更好地支持测试。因此,基于被测系统(SUT)的UML模型的测试及其自动化方法和技术的研究是当前测试界研究的热点。目前,相关研究大都处于理论和试验阶段,而且大都是针对类测试和集成测试。国外部分IT企业的基于UML的自动化软件测试CASE工具也还处于研发期间。在这种背景下,本课题的研究对于提高我国软件测试理论和技术有着重要的学术和实用意义。 系统测试是基于系统描述测试整个系统。对基于面向对象技术和UML分析设计方法开发的软件系统而言,这意味着系统测试需求源于UML分析文档,如用例及其相应的时序图、协作图、活动图、类图及所有这些UML模型中必要的对象约束。 因此,为研究基于UML提取系统测试线索的方法,本文首先分析了当前基于UML的各种软件测试研究的现状,探讨了各种UML图对测试的支持状况,并根据这些分析选择用例图和活动图做为获取系统测试线索的基本依据。随后,深入探讨了用例图、活动图和OCL语义,及以它们为依据提取系统测试线索必须解决的问题。然后,本文提出了一种针对交互式系统(如:基于命令行和图形用户界面的系统)的基于UML提取系统测试线索的方法。该方法通过扩展用例图和描述用例实现的活动图,构建描述系统用例间顺序依赖关系的活动图UCSDAD,以及限定覆盖准则为获取系统测试线索提供充足的支持。从中提取的系统测试线索由含参数的用户/系统的交互方法序列和保证系统按线索执行的相关参数的约束序列组成。 本文最后用图书管理系统演示了该方法的实施过程,验证了根据该方法可以提取的较为完整的、合理的、充分的、高效的测试线索。从而证实了该方法的有效性及其对系统测试的指导作用。