论文部分内容阅读
软件测试是为了发现程序中的错误而执行程序的过程,是目前保障软件质量最主要和最有效的方法,因此改进软件测试过程,提高软件测试的效率,降低软件测试的成本,是软件测试实践和发展中的重要目标。
测试用例集的规模可能会随着软件的维护和修改而飞速地增长,由于测试过程中时间和资源的限制,测试用例集约简技术试图移除那些冗余的测试用例,即它们满足的测试需求已经被其他测试用例所满足。测试用例集约简的目标是使用尽可能少的测试用例充分满足给定的测试目标,有助于提高测试效率,降低成本。因此对现有的测试用例集进行约简成为一项有意义的工作。
另一方面,测试用例集约简和测试用例集的缺陷检测能力是两项相互制约的因素。直观上看,由于测试用例集约简方法删除了冗余的测试用例,很可能导致某些具有一定缺陷检测能力的测试用例被约简。研究发现,测试用例集的约简不一定是以明显降低其缺陷检测能力为代价的,如何在测试用例集的规模及其缺陷检测能力中取得平衡,即在满足一定测试充分性准则的前提下,减小测试用例集规模并尽可能地保持测试用例集的缺陷检测能力,成为当前测试用例集约简问题的重要研究课题。
现有的测试用例集约简主要是围绕需求或变更的需求、代码分别开展,取得了一定的进展,许多方法得到了具体的应用。统一建模语言(Unified Modeling Language,UML)是一种标准化的可视化建模语言,被广泛地用于软件开发过程中设计建模,这些UML设计模型作为软件系统的设计规约己被用于系统的测试和验证工作。本文意在探索UML设计模型在测试用例约简中的作用,以及综合多层次需求的多维度约简方法,主要工作包括:
(1)提出了一种基于UML模型图的测试用例集约简方法。该方法从软件系统的UML模型图出发,设定需要达到的既定测试目标,并生成相应的测试需求集,以及与测试用例集之间的满足矩阵;接着利用包含关系,获取较小规模的测试需求集;最后应用基于模型的约简算法,得到精简的测试用例集。
(2)提出了一种多需求驱动的测试用例集约简方法。该方法根据瀑布模型中需求规约、设计模型和代码的关系,分别设定相应的测试目标,在多测试需求集的基础上,精简现有的测试用例集,以达到既能够约简测试用例集,又能提高软件系统的缺陷检测能力的目的。
(3)基于本文的研究工作,进行了实例研究,展示了本文方法的可行性。