登录 EN

添加临时用户

载人航天型号软件测试数据自动生成研究及应用

Research on Automatic Test Data Generation for Manned Spaceflight Armament Software and Application

作者:曹洋
  • 学号
    2007******
  • 学位
    博士
  • 电子邮箱
    cao******com
  • 答辩日期
    2010.09.08
  • 导师
    李路明
  • 学科名
    力学(可授工学、理学学位)
  • 页码
    157
  • 保密级别
    公开
  • 培养单位
    031 航天航空学院
  • 中文关键词
    航天型号软件;软件测试;测试数据自动生成;遗传算法;路径测试
  • 英文关键词
    space armament software;software testing;automated test data generation;genetic algorithm;path testing

摘要

航天航空、国防军工等领域的关键系统软件对安全性和可靠性都有着苛刻的要求。目前软件测试仍是保障软件质量最主要的技术措施,而我国关键系统软件主要依靠人工测试,使得测试质量容易产生波动且不易控制,自动化测试是解决这一问题最有效的方法。本文以载人航天型号软件自动化测试作为研究背景,研究制约其发展的测试数据自动生成技术。通过将软件的结构测试数据生成转化为优化问题,贯穿始终地以提高算法的生成效率为目标,结合遗传算法设计并优化测试数据生成算法。在与大量实际项目结合应用试验的基础上,探讨合适的测试数据生成策略。本文首先为解决现有算法难以对复杂程序生成测试数据的突出问题,并以平衡优化算法收敛效率和消耗时间的矛盾为目的,提出了一种可描述程序路径的重叠路径结构,在此基础上设计了两种适应值算法SPS和NPS实现单路径测试数据的自动生成。应用于型号软件测试且两算法都表现出良好的适用性。其次,论文选择典型的对照算法进行对比研究,深入分析SPS和NPS算法的特性和作用机理。对表现较好的算法采用静态和动态两种优化策略优化,优选出算法适宜的遗传算子组合及控制参数,并提出了一种自适应的测试数据自动生成算法。各种优化策略与相应未优化算法比较,对于验证对象平均生成时间都缩短65%以上。再次,论文提出了一种多路径测试数据自动生成算法,提高了传统路径测试一次搜索至多完成一条路径数据的效率。试验证明,该算法并非简单的单路径算法叠加,与表现最好的单路径算法相比,平均生成时间有54%左右改善。最后,集成本文对于程序路径测试的研究成果,开发了测试数据自动生成工具框架,补充了航天型号软件从静态分析到结构动态测试的中间自动化工具空白。并针对其中一款航天型号产品研制了一套功能自动测试系统,以功能测试自动产生的失效数据作为结构测试数据充分性的重要补充。软件测试自动化作为提高软件测试效率和质量的关键技术,本文的研究对于航天军工等关键系统领域的软件质量保障应用具有重要价值。

There are highly strict requirements to the security and reliability of the safety-critical software in aerospace, defense and military industry. Software testing is still the most important guarantee for its quality. However, the software relies mainly on manual testing currently, which may be not easy to control and often cause differences in qualities. Automated software testing is the most effective method to solve the problem. This dissertation focuses on the space armament software and automated test data generation that restricts the development of automated software testing. Test data generation can be converted to optimization problem and the dissertation studies the generation algorithms design and optimization with genetic algorithms to improve the efficiency and effectiveness. The appropriate strategy for test data generation is researched deeply based on amounts of applications with practical software projects.First, based on the analysis of problem that typical existing algorithms couldn’t generate test data for complex program effectively, a special overlapped paths structure and two fitness algorithms, named Sequence Priority Overlapped Path Similarity (SPS) and Node Priority Overlapped Path Similarity (NPS), for test data generation were proposed to solve the problem as well as balance the effectiveness of convergency and time consumption. These two algorithms showed good suitability for realitic space armament software.Second, the characteristics of SPS and NPS were studied thoroughly with comparing with several typical algorithms which were selected as control group. There were both static and dynamic strategies optimizing the outperformed algorithms to match them better operators and control parameters. An adaptive algorithm for test data generation was presented within the dynamic strategy. All the optimization strategies decreased the time consumption at least by 65% compared with non optimized algorithms.Third, a multiple paths test data generation algorithm was proposed, improving the efficiency of conventional methods that one path would be searched once mostly. The results of experiments indicated that the algorithm was not a simple stack of single path algorithms. On average, it decreased the time consumption by 54% compared with the best single path algorithm.At last, an automated test data generation platform was developed, which could supply a gap between automated tools of static analysis for codes and dynamic testing. And another application progress is an automated function testing tool was also developed for one space product to provide failure data as the important supplement for completing the structural testing.Automated software testing, as a key technology for enhancing the efficiency and quality of software testing, presented in the dissertation provides valuable information about software quality insurance for the safety-critical software in the fields of aerospace and defense.