● 摘要
自从计算机应用于飞行控制以来,人们就开始关注飞行控制软件的可靠性问题。飞行控制软件一旦失效,往往会造成灾难性的后果。为了保证飞行控制软件的可靠性,需要对其进行严格地软件测试。结构测试是飞行控制软件测试的重要组成部分,但是人工生成结构测试数据不仅费时费力,而且可能会引入人为的干扰。因此,飞行控制软件的结构测试数据自动生成方法具有重大的研究意义。本文首先综述了现有的四类结构测试数据自动生成方法,并重点分析了搜索法。搜索法的实质是将结构测试数据的生成过程转变为对评价函数求最值的过程。其次,采用搜索法,设计并实现了一个飞行控制软件的结构测试数据自动生成平台。该平台可以为C语言编写的飞行控制软件生成单元测试的结构测试数据。然后,使用平台对飞行控制软件的结构测试数据生成方法进行了实验研究。主要研究了爬山法、梯度下降法、模拟退火算法以及遗传算法等搜索法的结构测试数据生成效率。实验结果表明遗传算法与其他方法相比,具有更好的结构测试数据生成能力。最后,针对修正条件判定覆盖的特殊性,提出了一种基于最小堆的测试数据生成过程,并通过实验验证了该方法的有效性。