论文部分内容阅读
随着信息技术的发展,软件规模不断扩大,如何保证和提高软件质量成为软件工程最为关心的问题之一。软件测试能够有效地发现软件中的缺陷和故障,是保证软件质量的关键技术。随着UML模型的广泛使用,基于UML模型的软件测试越来越受到人们的关注。本文对基于UML设计模型的生成集成测试线索方法和程序多态性的测试问题进行了深入研究。首先,根据集成测试线索提供的两层测试统一视图,针对在不同层次上提取测试线索遇到的问题,提出了生成集成测试线索的框架。该框架是由一系列解决方案构成的,系统地展示在用例间层次和用例层次上提取线索的详细方案。在系统用例间层次上,针对集成测试线索容易产生组合爆炸、生成线索冗余的问题,本文利用用例图和活动图,并在用例间引入商业逻辑,从而构造了用例间顺序依赖关系的活动图(UCSDAD)。该图包含用例的商业逻辑信息,有效地减少了线索的冗余,降低了产生组合爆炸的可能性。由于要达到判定覆盖的要求,并且进一步控制线索的冗余,所以用DD路径作为UCSDAD测试覆盖的准则,从而可有效解决在用例间之间集成测试线索生成中遇到的问题。在用例层次上,由于UML协作图侧重于以图形化的方式从空间的角度展示对象的交互,导致了从UML协作图直接生成测试线索并不方便,因此将其转化为等价的形式――函数间约束的控制流图(IRCFG)。但是函数间约束的控制流图模型没有结合类图信息,不能对程序中包含的多态信息进行测试,所以本文提出了多态性扩展的结合类信息的函数间约束的控制流图(PCIRCFG)模型,并对其进行了形式化的描述。同时给出了适用于PCIRCFG的四种测试覆盖准则,根据实际需要,可以灵活的采用不同的覆盖准则从相应的PCIRCFG模型生成集成测试线索,以达到不同的测试要求。其次,根据提取集成测试线索的框架,本文实现了一个自动化生成集成线索工具。该工具基于目前成熟的商业建模工具PowerDesinger上,通过解析模型文件自动提取系统的集成测试线索,证明了该方法的可行性。最后,通过图书馆管理系统的例子说明了该基于UML模型的集成测试线索的提取方法的有效性。