功能安全标准ISO 26262-6的第9部分是关于软件单元验证的的,总共三个Table(7、8、9),其中Table 7的1j要求是 Requirements-based test,无论什么功能安全级别的软件都需要进行此类测试。而在Table 9中要求ASIL B及以上等级的软件需要满足1a statement coverage即语句覆盖(又可以理解为行覆盖,只要每行代码执行过了就可以,不需要关心具体逻辑内容)。而对于ASIL D级别的软件则需要执行1b (branch coverage分支覆盖)与1c(MC/DC判定覆盖)。软件的存在的意义就是为了满足需求,所以需求测试是基础,而结构覆盖是对代码数据与控制流分析的进一步验证,保证代码除了满足需求之外没有任何意外的跳转。
说完上面这些,你就会发现功能安全标准中,并没有明确提到我们平常说的黑盒测试与白盒测试这样的术语。我们首先从字面意思来理解黑盒与白盒,我们可以将黑盒理解为验收型测试,就好比你在某宝上买了一个储物箱希望用它来存放冬天的衣服。你对箱子的体积和打开方式提出了明确的要求,你在收到箱子之后除了必要的外观检查外,最重要的是看这个箱子的体积是不是满足你的要求,盖子开闭是否和你想象的一样,如果没有问题你就可以收货了,这个过程中我们完全不需要关心,箱子里面的衣服怎么放的问题。这个过程我们可以将它理解为基于需求的验证或者说功能验证,也就是我们所说的黑盒测试。确认收货之后,我们在向箱子中放衣服的时候,我们就需要考虑衣服的摆放方式(可以横向放也可以纵向放),假如放衣服的事情是你请别人帮你做的(请不要纠结为什么不自己来这个不是重点),那么这个人放好衣服后,你过来检查衣服是否是按照你希望的层次摆放,有没有充分利用箱子的空间,这个检查过程是就可以理解为白盒测试
功能安全理论 | 黑盒 与 白盒
最新推荐文章于 2023-06-09 15:10:50 发布