牛图条码扫描仪读数据不全的问题分析

现象
这几天,测试发现牛图条码扫描仪读数据存在有时读不全的问题,分析了很久,都没有找到原因。因为是偶发,还不好模拟,测试人员反馈读二维条码不容易出现但是读一维条码容易出现,于是采用一维条码模拟很快就模拟出来了。

原因
write->read(ack两个字节)->read(条码流)
第一个read传入的长度本来应该是2,结果传入了10,导致read(条码流)的时候总是少了前面8个字节。
刚开始还总是怀疑是超时时间设置不正确导致的。可是不管怎么换超时时间参数,结果都一样。
后面想怎么就老是少了前面8个字符呢?总是少前面的,并且总是8个。于是,就想是不是前面多读了,果然看了前面传入的read长度是10,正好比期望传入的2多了8个字节。此时,直觉告诉我可能就是这里出了问题。

总结
1、要深入了解出现问题的场景、条件等,便于问题模拟。问题能模拟出来,就等于问题解决了一半。
2、要深入研究现象的规律,并大胆猜想。这个问题就是因为我发现了总是少前面8字节的规律。于是才有了大胆的猜测:“是不是前面有指令多读了8个字节”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值