免费下载!由 O’Reilly 出版的《NGINX 完全指南》中文版已正式上线 了解详情
写点什么

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

  • 2012-03-14
  • 本文字数:1783 字

    阅读完需:约 6 分钟

闰年 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 评测

SinaAppEngine Sina 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 ,同时请您说明推荐理由。

2012-03-14 20:011513
用户头像

发布了 479 篇内容, 共 145.9 次阅读, 收获喜欢 45 次。

关注

评论

发布
暂无评论
发现更多内容

电脑安全小知识

喀拉峻

黑客 网络安全 安全 计算机基础

工业机器视觉系统的构成与开发过程(理论篇—1)

不脱发的程序猿

计算机视觉 机器视觉 图像处理 LabVIEW 工业自动化

2021的科技卦象·震·到元宇宙玩“躲猫猫”

脑极体

实现macOS热门功能,我只用了60行代码!

Jackpop

Holos: 我来了,我是个大块头。

mtfelix

28天写作

【Redis核心原理专题】(1)「技术提升系列」分析探究如何实现LFU的热点key发现机制以及内部的Scan扫描技术的原理

洛神灬殇

redis 12月日更 Redis Scan Redis 热点key Redis服务

设计模式的提出

卢卡多多

28天写作 12月日更

【架构师训练营】模块二作业

樰巳-堕~Horry

架构实战营 「架构实战营」

架构模块二作业

Vincent

「架构实战营」

解决问题

Nydia

JavaScript操作 DOM 的这些事件基础

你好bk

JavaScript 前端 DOM BOM WebApi

开源轻量级 IM 框架 MobileIMSDK v6.1.2 发布

JackJiang

TCP websocket 即时通讯 IM MobileIMSDK

如何在 AWS 云中从 Amazon EC2 启动 RHEL 8?

Ethereal

云计算 AWS RHEL 8 Amazon EC2

低代码助推生物制药企业CDMO的“数字化转型”之路

优秀

低代码 制药企业CDMO

云原生新边缘:火山引擎边缘计算最佳实践

火山引擎边缘云

云计算 云原生 边缘计算

46 K8S之集群高可用

穿过生命散发芬芳

k8s 28天写作 12月日更

读《思辨与立场》-04自我理解

wood

28天写作 批判性思维 思辨与立场

什么是Kubernetes?Kubernetes是怎样工作的?

Ethereal

云计算 Kubernetes

Go+ XML 编码和解码处理教程(5.5)

liuzhen007

28天写作 12月日更

链路分析 K.O “五大经典问题”

阿里巴巴云原生

负载均衡 阿里云 云原生 流量 链路分析

LabVIEW软件、驱动安装及编程方法(理论篇—2)

不脱发的程序猿

机器视觉 LabVIEW 工业自动化

Hystrix Dashboard

李子捌

微服务 28天写作 12月日更

5分钟认识802.11标准,言简意赅!

Ethereal

网络技术 无线技术 网络技术联盟站 802.11

增长方法论:五步验证法

石云升

产品经理 28天写作 产品增长 12月日更

重磅|火山引擎边缘计算节点服务正式发布!

火山引擎边缘云

边缘计算 网络 云计算,

数据库牛人是如何进行SQL优化的?

Ethereal

数据库 sql SQL优化

15.  《重学JAVA》--Lambda表达式

杨鹏Geek

Java 25 周年 28天写作 12月日更

东数西算,风起中原

脑极体

2012.3.15 微博热报:Azure闰年Bug、Google如何测试和Grizzly_Google_郑柯_InfoQ精选文章