WinCE::相关程序联调出现问题时,如何判断是哪个程序出现了问题?

91program
博客专家认证
2015-04-29 04:14:11
加精
例如:有 A、B 和 C 三种程序,其中 A 和 V1.00 和 V1.10 两个版本。
前提:
1) 程序之间的接口没有发现变化;
2) 两次输入到 A 的数据是相同的;
3) 三个程序在运行中都没有异常弹框,或其它问题出现。
运行结果:
A V1.00 与 B 和 C 一起运行,结果正常;重复运行,也正常;
A V1.10 与 B 和 C 一起运行,则得不到想要的结果。重复测试,也是一样的结论。
问题;
按以上条件,能否断定是 A V1.10 的程序功能实现有问题?

欢迎大家讨论,脑洞大开时间到!!!
...全文
1567 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuxuyayaya23 2016-03-10
  • 打赏
  • 举报
回复
马克Mark
nettman 2016-03-07
  • 打赏
  • 举报
回复
cattpon 2016-03-07
  • 打赏
  • 举报
回复
learning~
色郎中 2015-09-06
  • 打赏
  • 举报
回复
看描述 应该是A升级后的程序有问题,因为变动的就是这里,这是常规逻辑。 也有可能是B或C ,以前存在问题,在A没升级前没有暴露出来
91program 2015-08-28
  • 打赏
  • 举报
回复
有兴趣可以看看这个 BLOG,其中有最终的原因说明:http://blog.csdn.net/91program/article/details/45790273
  • 打赏
  • 举报
回复
引用 6 楼 linsi 的回复:
[quote=引用 4 楼 accessysq 的回复:] 程序多了,配合时候恰当很重要。其实我现在还不明白那里为啥要sleep一下,当初只是添加串口打印一些消息出来看,发现正常,一注释掉就不正常,才发现的。
你这个情况应该不是配合的问题,多半是那个线程里有个循环,全速运行时会抢占了全部的CPU,打印信息会耗时,或加了sleep后系统就有时间片来处理其它的事务了。 [/quote] 没有这种东西。我的线程很空闲,利用事件等待1秒超时作为定时器,大概1秒后与fpga通信,并与另一个设备通过网络通信。
linsi 2015-05-05
  • 打赏
  • 举报
回复
引用 楼主 91program 的回复:
例如:有 A、B 和 C 三种程序,其中 A 和 V1.00 和 V1.10 两个版本。 前提: 1) 程序之间的接口没有发现变化; 2) 两次输入到 A 的数据是相同的; 3) 三个程序在运行中都没有异常弹框,或其它问题出现。 运行结果: A V1.00 与 B 和 C 一起运行,结果正常;重复运行,也正常; A V1.10 与 B 和 C 一起运行,则得不到想要的结果。重复测试,也是一样的结论。 问题; 按以上条件,能否断定是 A V1.10 的程序功能实现有问题? 欢迎大家讨论,脑洞大开时间到!!!
按你表述的内容,绝对是A V1.10有问题,也有可能是V1.0和V1.10都有问题,只不过V1.0中巧妙的正好避过了问题,而V1.10中修改代码后bug得到放大或表现。 再提一下,B、C没有问题吗?不过为了程序的健壮性,最好B、C也都看看,确认B、C没有问题,它俩是测试的附加条件,如果条件本身存在问题,A 出现的正常或异常问题将全是假象。
linsi 2015-05-05
  • 打赏
  • 举报
回复
引用 4 楼 accessysq 的回复:
程序多了,配合时候恰当很重要。其实我现在还不明白那里为啥要sleep一下,当初只是添加串口打印一些消息出来看,发现正常,一注释掉就不正常,才发现的。
你这个情况应该不是配合的问题,多半是那个线程里有个循环,全速运行时会抢占了全部的CPU,打印信息会耗时,或加了sleep后系统就有时间片来处理其它的事务了。
91program 2015-04-29
  • 打赏
  • 举报
回复
引用 4 楼 accessysq 的回复:
程序多了,配合时候恰当很重要。其实我现在还不明白那里为啥要sleep一下,当初只是添加串口打印一些消息出来看,发现正常,一注释掉就不正常,才发现的。
是的,配合很重要!
  • 打赏
  • 举报
回复
程序多了,配合时候恰当很重要。其实我现在还不明白那里为啥要sleep一下,当初只是添加串口打印一些消息出来看,发现正常,一注释掉就不正常,才发现的。
  • 打赏
  • 举报
回复
一般的逻辑,运行环境没有变化,B和C也没有变化。只有A变了,那么出问题一般都是A。你可以先查查A时候升级是存在BUG。 但是,也可以有特殊情况。A升级后B和C配合有问题。或许你当初升级的时候无法预料的。 我上周就遇到类似的情况。改了一只程序的BUG,结果跟另一只一起做网络测试结果就不对了。通信过程根本就没变。后来另一只有个地方sleep了一下就好了。
91program 2015-04-29
  • 打赏
  • 举报
回复
引用 1 楼 zhenghn2010 的回复:
按照你想要的逻辑,整个系统只是A变了,问题就在A了。 更进一步,如果根源不在 A,也是A影响了B 和C,暴露了没有发现的问题,比如时序上。
多谢回复! 我在问题刚出现时,也是认为是 A 的问题。A 和 B、C在时序上没有什么要求。
zhenghn2010 2015-04-29
  • 打赏
  • 举报
回复
按照你想要的逻辑,整个系统只是A变了,问题就在A了。 更进一步,如果根源不在 A,也是A影响了B 和C,暴露了没有发现的问题,比如时序上。

19,518

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧