当前位置:首页 > 编程笔记 > 正文
已解决

分享几个bug发现手段-final chk、default test、stress test、fault injection

来自网友在路上 155855提问 提问时间:2023-10-26 16:24:27阅读次数: 55

最佳答案 问答题库558位专家为你答疑解惑

本文发散式分享几个有效的bug发现手段或者验证方法。

一、final chk

final chk的思想是在执行完成一个测试用例(或者一个简单的命令)之后,然后查看下当前设计DUT的状态。比如说一个cacheline,在完成一笔read/write之后,该cacheline应该是可以被替换(evict)的。

形象一点,当你在饭店吃完饭,座位资源应该是能够被释放掉的。

这种验证方法就是验证设计DUT的自我清除能力。一个很简单的final chk方法就是在完成任何一个测试用例之后,可以随机发送一些常规操作,可能有幸能够发现这类问题。但是最完备,但可能粗暴的方法就是执行完一个测试用例之后,用探针查看DUT的状态和参考模型的状态(所有寄存器和变量的值都是一个符合预期的值)。

时间足够并且验证人员了解DUT实现的情况下,个人倾向后者即使用最完备的方式检查所有设计状态。

二、default test

设计DUT中会存在很多的default:语句,看起来不是主要分支,但很多时候default分支也做了很多非常关键的事情,甚至default分支会比一些主要分支更加复杂和繁忙。

对于一个用户,很多时候不做决定,倾向于留白,只会去配置自己会修改的寄存器配置。default test是指验证人员做尽量少的实际工作,接受默认值,然后执行一些操作。

“江湖不是打打杀杀,江湖是人情世故”。

65dcf57eae39a34c923d35747f756911.jpeg

很多时候,default test case fail,设计可能会说不符合实际约束,用户应该怎样怎样~ 这个时候就涉及到验证和设计的话语权问题了。从验证的角度看,最好是default场景下,芯片是能够work的。如果在正式发布的产品中,用户不愿再配置而希望使用默认值,就非常令人尴尬。

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"分享几个bug发现手段-final chk、default test、stress test、fault injection":http://eshow365.cn/6-25232-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!