机载软件适航验证技术现状及展望研究
- 作者:admin 来源:网络 日期:2010-6-26 12:09:25
- 波音777飞机成功地投入民航运营,标志着民机计算机软件设计时代的到来。
硬件可以而且通常做彻底测试,甚至直到破坏,以保证不存在设计瑕疵,飞机的静力实验、疲劳实验、甚至整机适坠性实验都可以做。软件不像硬件设备和部件,它不会破坏或消耗,但软件很难达到和硬件相同的安全等级,软件不允许存在误差,否则后果不堪设想。比如,美国在一次卫星发射实验中,由于飞行计划程序里漏掉了一个连字符而导致了火箭实验的失败。由于软件的特殊性,特别是机载软件的日益复杂,给机载软件验证带来了严峻挑战。
1.软件验证简述
验证verification不仅仅是测试test。软件验证过程典型地兼有评审、分析和测试,所以测试仅仅是验证的一种手段,软件验证过程通过评审、分析、测试用例和程序的开发、以及测试程序的实施等各种方式的组合来实现其目标。评审和分析对软件需求、软件体系架构和源代码的准确性、完整性和可验证性进行评估。测试用例的开发可对需求的内部一致性和完整性进行进一步的评估。测试程序的实施证明了对需求的符合性[1]。目前机载软件验证的主要依据是RTCA DO-178(机载系统和设备合格审定的软件考虑),DO-178B设定了软件开发和验证的原则,是世界民用航空领域在适航取证过程中所广泛采用的适航标准,也是中国民用航空局适航司认可的民用航空机载设备和系统软件的适航审查依据。
2.软件验证现状
2.1软件验证标准DO-178B
DO-178B标准不仅严格规定了软件开发的流程,而且还规定了每个流程都必须经过严格验证,光有开发过程的验证还不够,为了保证验证工作的质量,它还明确规定验证工作本身也要进行验证,如图1所示。由此可见,软件验证在整个开发过程中的极端重要性。
2.2软件验证活动
软件验证过程典型地兼有评审、分析和测试。
2.2.1软件评审
据有关资料统计,软件中的大部分缺陷是在编码之前造成的,因为软件设计人员设计不当而引入软件的缺陷占整个软件开发阶段引入缺陷的50%~65%,而软件评审技术可以发现其中75%左右的设计缺陷。软件评审作为软件管理的一项重要活动,是软件质量保证的重要一环。目前,我国软件工程化程度不高,软件评审随意性较大,相关标准缺乏规范,评审过程基本上停留在管理层面。
软件评审通常包括:管理评审、技术评审、审查、走查和审核等5种类型[5]。机载软件评审的依据有DO-178B,NASA和EASA的相关标准,中国民用航空规章和其它的咨询材料等。
2.2.2软件测试
目前,与测试相关的三个重要观点是:(1)测试是为了证明程序有错,而不是证明程序无错误;(2)一个好的测试用例是在于它能够发现至今未发现的错误;(3)一个成功的测试是发现了至今未发现的错误的测试[2]。
软件测试的方法主要有:黑盒测试、白盒测试、灰盒测试等[4]。
黑盒测试,又称功能测试。在测试时,完全不考虑程序内部结构与内部特性,测试者在程序接口进行测试。黑盒测试的主要方法有:等价类划分、边界值分析、因果图、错误推测等,主要适用于软件确认测试。
白盒测试,也称结构测试。它按照程序内部的结构测试程序,来检验程序中的每条通路是否都能按预定要求正确工作。白盒测试的主要方法有:逻辑驱动、基路测试等,这一阶段测试以软件开发人员为主。
白盒和黑盒测试,两类方法各有侧重,在测试的实践中都实用,但又各有优长,只有将二者有机结合,即进行所谓的“灰盒测试”,才能弥补二者的不足,使测试方法更加完善。
2.3机载软件测试
2.3.1机载软件测试目标
机载软件的测试有两个互补的目标。一是证明软件满足其需求;二是以高置信度证明由系统安全性评估过程确定的可能导致不可接受的失效状态的那些错误已被消除[1]。
2.3.2机载软件测试的特点
(1)机载软件多为嵌入式软件,嵌入式软件具有两个显著特点:一是软件和硬件结合紧密,软件脱离特定系统往往无法运行,软件失效与硬件故障有时难以区分,甚至相互干扰。二是开发环境和运行环境不同。因而,嵌入式软件还必须进行目标环境的测试。
嵌入式软件的这两个特性给软件测试提出了新的挑战,一些新的问题必须重视。比如,宿主环境和目标环境测试
代写论文联系方式
联系QQ:904272800

联系信箱:904272800@qq.com

代写论文导航
客户、写手申请单
最新论文
热点论文