铁路联锁系统测试:方法与实践
1. 案例背景
在铁路运输系统中,联锁系统的安全性至关重要。以德国铁路核心网络的联锁系统为例,该产品的使用寿命超过25年,采用了符合CENELEC EN 50128标准的开发流程,具备独立的验证、评估和准入环节。
铁路基础设施主要是由一系列相互连接的铁轨组成的铁路站场,配备了信号、道岔和平交道口等设施。该系统采用专用的硬件/软件系统,具备三重冗余(2选3)以实现自动故障检测,所有I/O接口也都是冗余的。铁路控制系统必须确保安全,即保证不会发生事故,只有在命令安全的情况下才允许执行用户给出的命令,不安全的命令将被拒绝。关键软件的安全完整性等级(SIL)为3和4,这意味着必须避免诸如弹跳、碰撞、脱轨以及列车追尾、正面或斜向碰撞等事故。这些危险故障可能源于以下几个方面:
- 系统、硬件或软件的错误规范;
- 安全要求规范中的遗漏;
- 测试不够严格。
2. 测试面临的问题
联锁系统的测试需要解决以下问题:
- 为不同铁路组织开展多个项目(具体的适配、不同类型的联锁系统),且各项目的领域知识水平不同;
- 测试成本不断增加,例如在宣布版本完成之前,需要在12台计算机上运行约7000个测试用例,测试时长约28小时,在目标系统上运行7000个测试用例,测试时长约190小时;
- 需求规范书写非常精确,但大多仍采用非形式化或半形式化的符号表示,因此自动推导测试用例并不容易;
- 风险评估方面,例如在源代码级别进行单元测试时,覆盖了95%的路径,但对于剩余5%的执行路径,在生产前检测所有相关错误存在不确定性,需要给出未覆盖的理由;
- 复杂系统中变更的副作用难以预
超级会员免费看
订阅专栏 解锁全文
993

被折叠的 条评论
为什么被折叠?



