BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

2012.3.15 微博热报:Azure闰年Bug、Google如何测试和Grizzly

| 作者 郑柯 关注 3 他的粉丝 发布于 2012年3月15日. 估计阅读时间: 6 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

闰年bug导致微软Azure故障

2月29,微软的云计算平台出现故障,现在原因出来了 http://t.cn/zOVFOtS 很简单,无证程序员在计算日期的时候偷懒了 :需求是要算出第二年的今日,码农实现的时候直接取了当前日期,然后把年份加一,结果2013年2月29号悲剧了。

新浪网研发中心总经理符庆明指出:

这个故障报告写的很全面,可以学习他们对故障的分析和处理改进思路,值得一读

Wang_Hong_也说:

出问题后的Root cause analysis 做的不错,针对Prevention, Detection, Response, Recovery 四个方面做出了改进计划。

发生问题的不只是微软,杜安放-SHA提到:

我们的系统也出现了这个问题,js里面简单的给年份加上1,导致js出错,导致整个业务流程中断。

揭巴说:

很多bug都是这样产生的,测试不够充分吧。但这个bug完全可以避免,把年份+1这种操作很多高级语言的Datetime类中都应该有DateAdd之类的函数,而不是把日期的年份拆出来单独加1再拼回去

iSwanliu指出:

顺便贴个软件随想录里关于微软和闰年的典故。1991年Joel同学在微软当vba的程序经理,比尔盖茨来开review会,问你们有人真地看 过有关实施的所有细节吗?比如,所有这些日期和时间函数。Joel答,是的,比如1900年的2月要特别处理,1900不是闰年。。。http://t.cn/zOIHpqR

淘宝日照的点评很到位:

单点相关的逻辑需要全盘代码review,严格控制代码质量,这些地方不适合多人协作。另外一点就是手自一体,不仅仅需要自动化,也应该考虑关闭自动化提供手动模式

闯车了的总结是:

事实证明,一个小小闰年bug,就能让你标榜高可用的云计算平台,像多米诺骨牌一样迅速坍塌。一个仓促的决定就能让一切瞬间成为泡影。

Google如何做测试?

伯乐在线官方微博发布的一条微博说:

《Google是如何做测试的》James Whittaker是Google工程师。在他所有被问及的问题中,最多的就是问Google是如何做测试的。尽管在博客中(google testing blog)中有过零碎的解释说明,但 James 特意写了一篇文章,以解答这个问题。(其实Google也没有真正的测试部门,全文……http://t.cn/zOI7W65

接下来,伯乐在线官方微博在评论中又推荐了另一篇文章:

前两周有篇介绍文章:《Facebook是如何做自动化测试的?》(http://t.cn/zOGIwtX

HuZhenbo总结:

Google 的做法:1 测试没有独立的部门,他们是产品团队的一部分;2 软件质量更多是开发人员而不是测试的责任,整个团队都有责任保障软件的质量 3 软件测试工程师主要的工作是自动化测试框架的搭建和代码编写 4 除了软件测试工程师,还有软件测试开发工程师,他们的工作就是保证软件的可测试性!

walking熊说:

James Whittaker貌似最近回微软了。完全靠Dev去保证代码和产品质量是不合理的, 人总是有避免发现自己的错误的倾向。保证可测性其实需要PM、Dev、Test共通协作,剩下的Test工作主要安排在tester角色, google的开发测试和测试有合并的可行性。所以个人认为, PM、SDE、SDET还是比较高效的工程组合。

虞卿一言指出:

开发同学本身需要拥有良好的测试思想和实施测试的各种能力

老喵猪回复@虞卿一言的话看起来有些悲催:

有了能如何,现实中有多少家公司,多少项目组在做?由于工期紧张,有多少开发是从实现市场价值的角度去写代码的呢?

welkinwalker给出参考:

how google tests software 是一个系列,都在http://t.cn/GV8fL。现在都写到 part seven 了,这个是part one的翻译版

Memcached客户端grizzly评测

SinaAppEngineSina App Engine的官方微博,昨天发表微博,推荐grizzly:

《Introduction to GrizzlyMemcached》由于memcached是集中式的缓存,所以他的客户端就很重要了。这篇文章介绍了使用grizzly(一个用java 语言实现的NIO框架)作为memcache客户端,以及这种客户端的I/O模型,跟其他客户端的连接模式对比,并做了一些性能对比测试。http://t.cn/zOIGfat

PiouseLeo指出:

看了一下benchmark的结果,没有看错的话,GrizzlyMemcached除了在multi-set上有优化,性能脱颖而出之外,其他操作的性能都与JavaMemcached不相上下。不知道GrizzlyMemcached的稳定性,以及作为一款开源组件的生命力如何。

今日微博推荐

时蝇喜箭

推荐理由:关注并经常推荐很多国外的编程资源,可以通过“【关注】”关键字搜索他的微博。


欢迎读者关注@InfoQ,推荐热门话题,可私信@InfoQ,同时请您说明推荐理由。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

值得一读 by 金 鑫

故障报告有参考价值,值得一读

各种虫 by 贾 国清

曾几何时,闰年虫也成了问题

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

2 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT