热门标签:代写本科论文 写作发表 工程师论文 代写一篇论文多少钱

当前位置: 代写一篇论文多少钱 > 计算机论文 > 航天软件测试的基本流程和常见问题

航天软件测试的基本流程和常见问题

时间:2020-12-29作者:周学花
本文导读:这是一篇关于航天软件测试的基本流程和常见问题的文章,本文结合自身实践,根据航天软件的特点和测试的要求,对航天软件的测试方法进行分类,制定了航天软件测试的四步走方案,同时整理了航天软件测试过程中遇到的典型问题并给出了解决办法。

  摘    要: 为了更好地保障航天软件的测试质量,本文以最新的软件测试理论为基础,结合自身的航天软件测试实践,总结了航天软件的特点及测试的基本要求,梳理了航天软件测试的类别,提出了航天软件测试的四步走流程,同时归纳了航天软件测试过程中的典型问题,并给出了相应的解决办法,形成了一种工程化的航天软件测试方案。

  关键词: 航天软件; 软件测试; 测试用例;

  Abstract: In order to better guarantee the test quality of aerospace software, this paper summarizes the characteristics of aerospace software and the basic requirements of testing based on the latest software testing theory and personal practice.The paper sorts out the categories of aerospace software testing, and proposes a four-step process for aerospace software testing. At the same time,it discusses the typical problems in the aerospace software testing process, and the corresponding solutions are given to form an engineering aerospace software testing program.

  Keyword: aerospace software; software test; test case;

  0 、引言

  航天软件的功能日益复杂、回归愈加频繁、指标要求越来越高,使得保障航天软件测试的质量成为关键。因此,为了最大程度的减少软件的不可靠、不安全因素,本文结合自身实践,根据航天软件的特点和测试的要求,对航天软件的测试方法进行分类,制定了航天软件测试的四步走方案,同时整理了航天软件测试过程中遇到的典型问题并给出了解决办法。
 

航天软件测试的基本流程和常见问题
 

  1、 航天软件的特点及测试的基本要求

  随着航天技术的不断发展,软件已经不再是硬件的附属物,而是变成了航天系统的神经中枢,发挥着至关重要的作用。相比普通软件,航天软件有很多独特的特点。航天软件多数为嵌入式软件,与实际运行环境紧密相连,通常种类多、规模大、功能复杂、信息交换频繁、回归次数多。它在性能上需要满足高实时、高可靠、高安全的要求,在质量上需要满足易用、可维护、可移植的要求。这些特点就意味着测试航天软件,需要有更高规格的要求,具体要求有五项,列举如下:

  (1)航天软件需要先进行静态测试,再进行动态测试。

  (2)单元测试时需要满足语句覆盖率、判定覆盖率和修正的判定/条件覆盖分别达到100%。特定情况下,编译后目标码的语句覆盖率和判定覆盖率分别需要达到100%。

  (3)评价被测软件的五个基本特性,具体包括接口、独立路径、错误处理路径、局部的数据结构和边界条件。

  (4)测试每个软件特性时至少需要一个正常的测试用例和一个异常的测试用例。

  (5)输出数据和它的格式都需要测试。

  2、 航天软件测试方法的分类

  由于航天软件要求高可靠、高安全、高实时,因此测试航天软件必然要比试普通的软件要更加严格。航天软件测试方法主要分为两大类:静态测试和动态测试。静态测试是在不执行源程序的情况下,找出软件缺陷和评估代码的一种测试方法。静态测试可以通过手工完成,也可以通过工具完成。依靠手工的静态测试又包括代码审查、代码走查、文档审查三种方式。依靠工具的静态测试又称为静态分析。它主要通过LDRA Testbed、QAC、C++test等自动化工具检查软件的编程规范、分析控制流、数据流和软件度量来完成静态分析。因为航天软件的编程语言以C/C++为主,所以主要参考的是《C/C++语言编程安全子集》。动态测试依据是否依赖源代码,又分为黑盒测试和白盒测试两大类。黑盒测试将被测软件看作打不开的黑盒子,不考虑程序的内部结构。它主要测试软件界面和软件功能,主要包括等价类划分法、边界值分析法、决策表法、因果图法、场景法和错误推测法共六大类方法。白盒测试将待测软件看作能打开的白盒子,主要依据程序的控制结构导出测试用例,检查程序中的每条通路是否能够按照预先的要求正确工作。白盒测试主要通过测试覆盖率来衡量测试的充分性和选取数据的依据,又可细分为语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、修正的判定/条件覆盖、条件组合覆盖和路径覆盖。这七种逻辑覆盖方法的复杂性依次增加,相应的覆盖能力也逐渐增强。通常,测试航天软件时,需要满足语句覆盖率、判定覆盖率和修正的判定/条件覆盖率或者目标码覆盖率各达到100%。

  3 、航天软件测试的基本流程

  结合自身的航天软件测试经验,本文提出了航天软件测试的四步走方案,如下图1所示,依次为搭建航天软件的测试环境,设计测试用例,执行测试用例和分析测试结果。

  图1 航天软件测试的基本流程图
图1 航天软件测试的基本流程图

  3.1、 搭建航天软件的测试环境

  首先,搭建航天软件的测试环境。按照测试可控性由低到高的顺序,测试环境又分为基于目标系统的联试环境、半实物仿真的测试环境和纯软件仿真的测试环境三种。这三种测试环境,模拟软件真实运行环境的程度越来越低,但是测试的可控性越来越高。因为不同的软件需要不同的测试环境,因此基于目标系统的测试环境不具有通用性,成本较高并且测试时难以保证覆盖性。但是,由于更接近被测软件的真实环境,所以更能评估出系统的功能和性能。半实物仿真的测试环境,指的是只有目标机是真实的,其它接口采用软件模拟,真实性不高。它的优点是基本接近真实环境,但是测试故障问题时不够全面。全数字仿真测试环境,脱离了软件实际的运行环境,真实性较低,但是成本也较低,容易操控,测试效率较高。由于航天软件嵌入式类型居多,因此,搭建测试环境,也就是将目标机模拟器与单元测试工具集成到一起,使得可以通过一个完整的过程来执行软件的编译、运行和覆盖率分析。

  3.2 、设计测试用例

  其次,针对被测软件,设计测试用例。由于被测软件的特殊性,设计用例时需要综合考量。第一,通过阅读相关文档清楚软件的运行环境和性能指标要求,了解软件的结构、功能和工作流程。第二,通过沟通了解设计思想和软件运行时可能出现的问题,从而确定测试重点和测试设备,拟定测试方案,依据方案划分软件功能。第三,针对各个功能,确定输入数据和预期输出结果。第四,还需要针对航天软件的典型故障、实时性、中断安全性等特定情况进行测试。另外,设计用例时,需要遵循一些原则,包括描述要准确、步骤要正确、用例可重用、需求可追溯、系统要适合、测试结果要独立等。

  3.3 、执行测试用例

  然后,执行测试用例。第一,将设计的测试用例转换为测试工具可以执行的测试用例。第二,依据被测函数的实际情况,打桩和编写驱动模块。第三,使用测试工具例如C++test或者QT等执行测试用例,并比较预期结果和实际的输出结果,当两者一致时,测试通过,否则测试不通过,转入测试不通过的处理流程。第四,执行完所有测试用例后,如果覆盖率满足,测试结束,否则转入覆盖率不达标的处理流程。

  3.4、 分析测试结果

  最后,分析测试结果。对于覆盖率不达标的情况,列出语句、分支、修正的判定/条件覆盖率或者目标码的覆盖率数值,指出未被覆盖的代码,并说明未被覆盖的原因。对于没有解决的测试事件,说明理由并记录在测试报告中。另外,评估软件单元的设计与实现,提出自己的改进意见,并完善测试报告。

  4 、航天软件测试常见的典型问题

  通过自身的测试实践及对航天软件单元测试报告的梳理,总结了几种航天软件单元测试中常见的典型问题并给出了相应的解决办法,如表1,用于指导航天软件单元测试中测试用例的设计。

  表1 航天软件测试的典型问题及解决办法
表1 航天软件测试的典型问题及解决办法

  5 、结语

  为了更好地保障航天软件测试的质量,本文将理论和自身的测试经验相结合,总结归纳了航天软件的特点和测试要求,对测试方法进行分类,并提出了航天软件测试的四步走方案,同时提出了航天软件测试中的典型问题并给出了解决办法,以服务航天,服务测试。

  参考文献

  [1] 郑小萌,高猛,滕俊元.一种"白黑白"盒混合型航天器软件单元测试技术[J].空间控制技术与应用,2018,044(006):69-74.
  [2] 习颖慧.航天软件测试技术的研究[C]//中国空间科学学会空间探测专业委员会第二十六届全国空间探测学术研讨会. 2013.
  [3] 杨悦,秦湘河,杨永安,等.航天测控软件测试用例标准及应用研究[J].无线电工程,2013(09):41-44.

关联标签:
联系我们
  • 写作QQ:3008635931
  • 发表QQ:3008635930
  • 服务电话:13701839868
  • 售后电话:18930493766
  • 邮箱:shlunwen@163.com
范文范例
网站地图 | 网站介绍 | 联系我们 | 服务承诺| 服务报价| 论文要求 | 期刊发表 | 服务流程