构件技术是当前软件开发的主流技术之一。构件的高可靠性是构件能被成功复用的前提。构件测试是保障和提高构件可靠性的重要手段。本项目的主要研究内容是基于合同的构件可测试性设计方法,使设计与测试相融合,为构件开发者和复用者测试构件提供更好的支持;对构件的主动测试技术,即研究如何主动地寻找使合同被违反的输入数据以提高揭错能力,从而改善构件测试的效率和质量;建立相应的支撑工具。项目将通过把构件测试中的一些输入数据自动生成问题转化为面向路径的输入数据自动生成问题,研究构件测试中方法调用序列的可行性自动判断方法,提高构件测试过程的自动化程度。本项目把设计和测试进行统一考虑,符合基于构件的软件工程趋势,其成果将推动构件测试理论和技术的发展,能广泛地应用于构件测试活动。
构件技术是当前软件开发的主流技术之一。基于合约的构件易测试性设计是提高构件质量的一个重要研究方向。变异测试是一种行之有效的软件测试方法。本项目进行了以下方面的研究(1) 软件测试技术研究进展;(2) 基于合约的构件易测试性设计方法;(3) 针对构件的变异测试方法;(4) 对构件的主动测试技术,即研究主动地寻找使合约被违反的输入数据;(5) 软件功能点的定位方法。本项目取得了以下成果(1) 对软件测试的研究现状进行分析和总结,探讨其发展趋势;(2) 提出描述构件合约的BNF范式,提出一种基于合约的构件易测试性设计方法;(3) 提出一种构件合约变异的测试方法;(4) 提出对构件进行主动测试的方法;(5) 提出一种静态非交互式的功能点定位方法;(6) 开发相应的支持工具。本项目所提出的基于合约的构件易测试性设计方法使构件测试与构件设计、构件编码相融合,推动构件测试向构件开发的前期发展,为构件开发者和复用者测试构件提供更好的支持,改善构件测试的效率和质量。本项目所提出的构件合约变异测试方法提高构件测试过程的自动化程度和所生成测试数据的有效性。