← 2022 · ZEKU 笔试

推荐答案 测试一下

报文处理设计规格:

A.因为填充PAD是任意数据,因此随便挑一组特殊值,例如全0验证即能够保证功能正确 B.因为大于256B的报文被丢弃了,所以不需要验证该点 C.因为小于36B的报文被丢弃了,所以不需要验证该点 D.该报文处理长度的边界点包含两个值,分别为36和256
单选题 中等 笔试真题单选

参考答案

我们分析题目:报文处理设计规格有多个要求。选项A:填充PAD是任意数据,验证时随便挑一组特殊值如全0就能保证功能正确?这是错误的,因为PAD虽然是任意数据,但验证时需要覆盖不同填充值,比如全0、全1、随机等,不能只测一组特殊值。选项B:大于256B的报文被丢弃了,所以不需要验证该点?错误,边界值256本身需要验证,以及稍大于256的报文需要验证丢弃,不能说不验证。选项C:小于36B的报文被丢弃了,所以不需要验证该点?错误,同样需要验证边界36和稍小于36的报文丢弃。选项D:报文处理长度的边界点包含两个值,分别为36和256。错误,还有64这个边界点(填充PAD的边界),以及36和256是丢弃的边界,但64是填充的边界。具体:报文长度36-256字节正常处理,小于36丢弃,大于256丢弃;另外,小于64的报文要填充到64再转发。所以边界点包括36、64、256。D说只包含两个值,错误。综合,错误的描述有A、B、C、D?但题目是单选题,问“下面描述错误的是”,需要选一个。实际上A、B、C、D都有错误?再细看:A: "因为填充PAD是任意数据,因此随便挑一组特殊值,例如全0验证即能够保证功能正确" — 这是错误的,验证需要覆盖多种情况。B: "因为大于256B的报文被丢弃了,所以不需要验证该点" — 错误,需要验证边界。C: "因为小于36B的报文被丢弃了,所以不需要验证该点" — 错误,需要验证边界。D: "该报文处理长度的边界点包含两个值,分别为36和256" — 错误,还包含64。所以四个选项都错?但单选题只能选一个。可能题目要求选出最明显错误或唯一错误?需要看题意。通常这种题是让选“错误的”,并且只有一个选项是错误的。可能我对A、B、C的理解有误?验证策略:A说用全0验证就能保证功能正确,这肯定不对,因为功能正确需要覆盖所有可能吗?但实际验证中,对于填充PAD,由于是任意数据,通常只需要验证填充功能(即长度小于64的报文被填充到64),至于填充内容是什么通常不影响转发,所以只要填充操作正确,填充值任意选一组验证即可?这里存在歧义。但是从严格验证角度,不能只测一组特殊值,因为设计可能对填充值有依赖?但规格说“任意数据”,所以设计应该对填充值无依赖,所以测一组全0理论上可以验证填充长度是否正确。但A是“能够保证功能正确”,功能包括填充长度正确以及后续转发正确,填充内容不影响转发,所以确实可以。但A表述是“随便挑一组特殊值,例如全0验证即能够保证功能正确”,这种说法过于绝对,但也许在测试中是可以的。实际上,填充PAD的验证不需要覆盖多种数据,因为数据无意义。所以A可能是正确的?B和C:不需要验证该点?显然不对,边界必须验证,所以B和C错误。D:边界点包含两个值?少了一个64,也错误。所以三个错误?单选题,可能只有一个错误:注意题目说“下面描述错误的是”,可能只有一个选项描述是错误的。重新审视:A说“因为填充PAD是任意数据,因此随便挑一组特殊值,例如全0验证即能够保证功能正确”。在工程实践中,对于填充数据,因为不关心内容,所以通常用全0或随机数据验证即可,只要填充长度正确。所以A其实是正确的做法?但如果从验证完备性角度,还是需要覆盖不同数据?但A的表述是“能够保证功能正确”,功能正确包括填充长度正确,不关心内容,所以全0可以。所以A可能正确。B和C显然错误,因为边界需要验证。D:边界点包含两个值?实际上对于丢弃的边界是36和256,但对于填充的边界是64,所以边界点应该包括36、64、256。D说只包含两个,错误。所以B、C、D都错误?但单选题通常只有一个选项错误。可能题目是选“错误的是”并且选项A是正确描述?或者我理解错了“边界点”的意思。也许“报文处理长度的边界点”是指丢弃的边界点,即36和256,而64是填充的边界但不是丢弃边界,所以D正确?因为规格说“支持的报文长度为36-256字节”,那么处理长度边界就是36和256,而填充是另一个功能。所以D正确。那么A、B、C中哪个错误?A可能错误因为填充PAD虽然是任意数据,但验证时不能只测一组特殊值,因为如果设计有bug,比如在填充时只对全0处理正确,对其他值错误,则全0验证不能保证功能正确。所以A是错误的。B和C也是错误的,但B和C很直白地错了。那么哪个是“描述错误的是”?可能是多选?但题干是单选题。我查一下常见笔试题目:这种题通常四个选项有三个正确一个错误,或者反之。需要仔细分析每个选项的措辞。 选项A:“因为填充PAD是任意数据,因此随便挑一组特殊值,例如全0验证即能够保证功能正确”。这个“保证功能正确”太绝对了。验证中,对于填充PAD,通常需要验证填充长度和填充后的报文是否正常转发,填充内容虽然任意,但验证时通常会用随机数据来增加覆盖率,而不是只挑一组特殊值。所以从验证工程角度,A是错误的。选项B:“因为大于256B的报文被丢弃了,所以不需要验证该点”。错误,必须验证丢弃功能。选项C:“因为小于36B的报文被丢弃了,所以不需要验证该点”。错误,必须验证。选项D:“该报文处理长度的边界点包含两个值,分别为36和256”。这个说法是否正确?从报文长度支持范围看,边界确实是36和256。而填充的64是另一个功能边界,但题目问的是“报文处理长度的边界点”,可能就是指支持的长度范围边界,不包括填充边界。所以D可能是正确的。那么错误的有A、B、C三个,但单选题可选一个?或者题目可能要求选出“描述错误的是”中错误最明显或唯一的?也可能A是正确的,因为填充数据任意,选一组特殊值验证可以覆盖功能。我查阅网络类似题目

涉及知识点

  • 综合
← 上一题
登录后反馈错题
下一题 →