[转帖]如何高效找出软件中存在的问题_OpenStack, 云计算等杂项讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  OpenStack, 云计算等杂项讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4313 | 回复: 1   主题: [转帖]如何高效找出软件中存在的问题        上一篇   下一篇 
weiwei.fu
注册用户
等级:上尉
经验:661
发帖:47
精华:0
注册:2013-12-12
状态:离线
发送短消息息给weiwei.fu 加好友    发送短消息息给weiwei.fu 发消息
发表于: IP:您无权察看 2013-12-17 14:05:03 | [全部帖] [楼主帖] 楼主

原文摘自: http://blog.chinaunix.net/uid-33065-id-4040215.html

作为一名程序员,很多时候面对的就是要找出软件中存在的一个又一个的问题。基于工作中遇到与解决的形形色色的问题,总结出如下几条原则:

1.这真的是一个问题么?

在《你的灯还亮着么》这本小册子中,将问题描述为“人们的期望与实际不

符时,问题就出现了”。当人们对软件功能的期望是错误的时候,软件的运行可能就是正常的,我们要做的只需要更正人们的期望即可,无须对软件进行任何的改动,这也是我们最希望遇到的一类问题。

  2.改变条件,使问题更容易出现。

多数情况下,再现问题比解决问题要更困难。有些问题很长时间才会出现一次,出现了还不一定马上就会被发现。通过研究问题出现时留下的蛛丝马迹,适当的改变运行条件,使问题能较快的出现,从而可以更容易的去观测并解决问题。如解决内存泄漏的问题时,增加调用可能存在问题的模块的次数。

 3.什么样的变化导致了问题的出现?还能恢复到以前的状态么?

在一个投运的系统中,问题的出现往往是伴随着运行环境的改变,或某些特定的操作产生的。了解运行环境的变化和用户的操作就显得至关重要。因为这里面的某一个因素可能就是问题产生的直接原因。如果还能恢复到以前的正常状态,则可以通过比较两者之间的区别来定位问题所在。

   4.剥茧抽丝,构造最小化运行的问题/正常模型。

如果通过去掉各个因素,构造出一个最小化运行的问题模型,那么当前的运行条件就是问题出现的原因。反之,如果能构造一个最小化运行的正常模型,然后通过不断添加各个实际运行因素进行测试,直到问题出现,则最后添加的那个因素就可能是问题出现的原因。

  5.问题的解决不仅仅需要技术和方法,更需要决心和毅力。

实际运行系统中,很多问题的出现是网络、节点、系统等各方面因素共同作用的结果。出现的几率很小。如果抱着可能以后不会再出现这类问题的心态来处理,很可能就不了了之了。但现实中,“可能发生的事情就一定会发生”。心存侥幸,只能是坑了用户,拖累了自己。

解决问题最好的方法当然是预防问题的发生,防患于未然。但现实世界中,使用软件的人每天都在变化,科技每天都在更新,今天觉得是无懈可击的方案,明天就可能��漏洞百出,掌握一定查找和解决问题的方法对工作会有很大的裨益。




赞(0)    操作        顶端 
weiwei.fu
注册用户
等级:上尉
经验:661
发帖:47
精华:0
注册:2013-12-12
状态:离线
发送短消息息给weiwei.fu 加好友    发送短消息息给weiwei.fu 发消息
发表于: IP:您无权察看 2013-12-17 14:06:06 | [全部帖] [楼主帖] 2  楼

北京联动北方科技有限公司北京联动北方科技有限公司



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论