那些埋在墙里面的bug

 

最近遇到一件烦心的事情。在这样冷的冬天的某个早上6点多,被门铃声吵醒,披了件衣服出去开门,发现一个阿姨站在门口,说是我们家楼下的,然后很急促的说发现他们家漏水了。后来弄清楚了情况,是他们家小卧室的房顶渗水,甚至有少量的水滴下来,自然怀疑是我们家的水管问题。她家小孩在上高中了,难怪每天早上起这么早,也难怪之前都没怎么见过她。
他们家的小卧上面是我们家的小卧、厨房和餐厅,从外面看不出有什么异常,不过从逻辑上讲多半应该是我们家的问题,因为我们家更上面就是房顶了,而且漏水的地方在屋顶的比较中央的地方,应该也不太可能是隔壁家的问题。大概因为QA做久了,第一感觉就是一个隐藏的bug被发现了,或者说在某种条件下触发了。
好吧,既然是一个bug,那就来分析一下。
后果和对用户的影响自然不用多说了,因为当天就把物业喊了过来,聊了半天。
首先大概能确认是我们家的厨房和餐厅这一块,或者说这个模块,出了问题。因为和水有关,进一步的分析,有几个方面,进来的自来水,还有就是挂在厨房的热水器,烧好的热水会分流到洗碗池,并且通过墙内和地下的暗管,经过餐厅的地下,通到卫生间淋浴的地方。结合最近的活动来看,漏水的前一天,用过淋浴,所以可能和这一块有关,当然,冷水管也是要通过去的。所以还不能断定是那一条管路的漏水导致的,在目前的情况下也只能用黑盒的方法来分析了。
其实更精确的debug工具也是有的,物业的人提到说以前小区自来水管道出问题的时候,自来水公司的人让了检测是那一段出了问题,有听诊的工具,通过漏水的声音可以找到漏水的地方,不过据说这个方法比较昂贵,针对个人用户家里的问题他们也不一定肯上门。这个倒是很有趣的,我忽然在想有没有别的定位方法。比如红外的方法,因为有可能漏的是热水,所以在冬天里,漏出水的地方温度应该不同;或者可以在水里添加一个染色或者轻微放射性的东西,这样就可以方便定位了。不过后来想想都不太靠谱,人家修桥铺路等工程估计是有可能用这样的方法。不过说来,遇到问题的时候,debug的工具和方法还是很重要的。
在定位问题的时候,还发现一个问题:没有文档。因为房子有些年头了,而且是几年前从别人那里买的二手房,没有什么装修图纸之类的东西。不得已之下,只有去骚扰前房主了,人家还算耐心的讲了一些之前他装修的时候怎么弄的,大概是先从墙里面垂直落地,然后沿着墙走一段,然后走直线过去。不过“走一段”这种描述也是比较含糊的,也不知道一段有多长。忽然一下子能体会那些做sustain的同事了,把一些老的产品或者feature接过来,出了问题也没有文档可以查,当然,看相关的code也是一种手段,不过很难再知道一些设计的考虑和意图,特别是遇到一些奇怪的代码,而我这边就只能猜了。
这里其实还有一个问题,那就是如果这是个bug,为什么现在才报出来?是的,我也很困惑这个问题,就像那天一大早被吵醒一样,也觉得很无辜,因为住了几年,这样用都没有出那样的问题,怎么突然某一天就出问题了,老化应该也不至于这么快和突然。后来才想起另一件事情,前几天因为装管道煤气,燃气公司的人在厨房靠近热水器的地方钻了一个很大的洞,穿透了墙,为了以后管道可以进来。于是我们猜测很有可能是在钻孔的时候把墙里面水管接头的地方给震坏了,导致了漏水。当然,这也只是猜测。
既然是bug,还有一个属性就是能不能重现,重现也还是一种debug的方法,虽然有时候很麻烦。因为怀疑是热水器导致的,那就不用看看,只能到别人家去洗澡了,够惨的。然后楼下的阿姨说他们家的屋顶慢慢干了,这段时间,冷水还是照用,所以看起来和冷水管道没有关系。然后某天又用了一次热水器,后来发现又渗水了。所以看起来基本上可以大致定位问题了。
因为这个问题,还到网上搜索了一下,发现漏水还是相当普遍的问题,看了很多的帖子,也有很多的纠纷,所以因为及时的采取了措施和态度诚恳,没有和楼下闹僵,阿姨虽然比较唠叨,但是人也还好。后来和一个武汉的同学聊天,说他们家也漏,而且是被漏的,和楼上的扯了很久也没有很好的解决。他们家的房子是05年之后的高层,很新的房子了,而且据说某全国知名开发商在当地的房子一样漏水。此处略去抨击和bs开发商的话若干。聊到这些,我想到另一个问题,那就是关于质量的一个特性,房子也好,软件也好,或者别的什么,质量这个东西都是很难以快速和全面的判定的。很多的质量问题只有在正式的使用,甚至用了很久才会暴露出来。这里且不谈什么道德良心的问题,从另一个方面,作为测试人员,有时候也会面临这样的一种困境,因为对测试的重视程度很多时候是和对质量的重视程度直接相关的,而差的质量的后果和影响有些时候要等上一段时间才能发现,而这个世界上绝不缺乏急功近利的人。但是如果一个企业或者品牌要长久的发展,恐怕就不能用懈怠的方法,关于这一块,最近也又不少的感受和思考,后面再写。
好吧,我们还是拉回来说这个bug。既然后果,重现的步骤,以及可能的原因都清楚了。那么还又一个问题就是如何修。
既然要修就不能重蹈覆辙。因为以前的solution最大的问题就是可测性和可维护性太差,很多都不可见。所有决定找一个可测性和可维护性都比较好的方案,那就是再装一个走明管的电热水器。其实也不是完美的方案,但是在有些方面又改进,至少出了问题很容易定位和修正。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 高质量的bug通常包含以下内容: 1. 严重性:这个bug对用户造成的影响有多大?它是否会导致应用崩溃、数据丢失等重大问题? 2. 复现步骤:开发人员需要知道如何重现这个bug,以便于定位和修复问题。 3. 环境信息:开发人员需要知道发生bug的设备、操作系统版本、应用版本等信息,以便于快速定位问题。 4. 日志信息:如果应用生成了日志,那么包括相关日志信息也可以帮助开发人员快速定位问题。 5. 截图或录屏:如果可以提供截图或录屏,那么可以更清晰地展示问题的具体表现,帮助开发人员更快地定位问题。 6. 实际结果和期望结果:描述一下应用的实际结果和期望结果不一致的情况,这也可以帮助开发人员更好地理解问题。 7. 修复建议:如果你对如何修复这个bug有建议,可以在报告中提出,这也可以帮助开发人员更快地修复问题。 ### 回答2: App软件高质量的bug应该尽可能少,并且在开发和测试阶段就要尽量发现和修复。以下是一些高质量的bug内容: 1. 功能性错误:这包括应用未按照预期方式运行、无法实现需求、功能缺失或功能不完善等问题。这些错误会严重影响用户的体验和满意度。 2. 界面问题:这包括界面布局错乱、图标显示不正常、文本显示问题等。界面是用户与应用交互的窗口,所以任何界面问题都必须尽快解决,以确保用户能够正确地使用应用。 3. 性能问题:这包括应用运行缓慢、卡顿,甚至崩溃等性能方面的问题。应用的性能直接影响用户的体验,所以必须及时修复以提高应用的响应速度和稳定性。 4. 安全漏洞:包括应用存在的数据泄露、身份验证问题、隐私问题等安全方面的漏洞。这些漏洞可能引发用户信息被盗取、应用被攻击等危险情况。 5. 兼容性问题:应用在不同的设备、操作系统版本或网络环境下可能出现的不兼容问题。这些问题会导致应用在某些设备上无法运行或运行异常,所以必须提前测试并解决。 6. 数据错误:应用处理数据时可能出现错误,导致数据显示错误、计算错误等问题。这些错误可能导致用户对应用的信任度下降,所以必须及时修复。 总之,高质量的bug应该尽可能少,并且能够影响到用户体验、性能、安全和兼容性等方面。开发团队应该通过严格的测试和质量控制流程来保证bug的最小化。 ### 回答3: 高质量的app软件中的bug通常包含以下几个方面的内容。 首先,功能性bug。这是最常见的bug类型之一。当软件无法按照预期的方式执行核心功能时,就会出现这类bug。例如,一个社交媒体应用无法正常发送消息,或者一个在线购物应用无法正确计算付款金额。 其次,用户界面bug。这类bug会导致应用的界面显示不正确或者无法与用户进行良好的交互。比如,按钮无法点击、页面布局错乱等问题。这会严重影响用户的体验和使用流畅度。 第三,性能bug。这类bug会影响应用的整体性能,包括响应速度、内存占用和电池寿命等方面。例如,一个游戏应用在大量粒子效果出现时出现卡顿现象,或者一个电子邮件应用在处理大量附件时变得非常缓慢。 第四,安全性bug。这些bug会导致应用的敏感信息被泄露、用户数据被盗取,甚至导致应用被黑客攻击。这类bug对用户的隐私和数据安全构成严重威胁,因此需要高度重视和及时修复。 最后,兼容性bug。随着不同设备和操作系统的不断更新和发展,开发者需要确保应用在各种平台和环境下都能正常运行。兼容性bug会导致应用在某些设备或操作系统上无法正常使用,这会限制用户群体并降低用户满意度。 在开发和测试过程中,高质量的app软件应该尽可能减少以上这些不同类型的bug。通过严谨的开发和测试流程,以及及时的bug修复措施,可以提高app的质量和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值