2003年11月12日,罗比站在一群双眼通红,头发蓬松的技术人员之中,看着面前的ibk300型号测试机工作台,显示器上监视软件中跳动着的数字是那么的晃眼,已经连续加班半年之久的微软技术人员们,没有人可以长时间盯着它,否则他们一定会昏倒在地的。——
但他们不得不去关心这些指标,半年的心血,谁都不愿意事到临头出大问题。
“操作系统连续30个小时强负荷工作,cpu计算性能损失30,符合线性设计安全预期!”一名监控员汇报着。
众人皱眉,30小时强负荷工作理论上是玩家最长的游戏时间,99.9的玩家都不会连续运行游戏主机,但他们最怕的就是那0.1的变/态们,做这种测试就是为了保证连续工作不出问题,但似乎它的表现并不好,时间越长,cpu运行效率就越低,30的损失已经相当大了。
“5000亿次极限计算耗能计算完毕,低于安全阀域10。”另一名监控员汇报道。
这是瞬时能耗计算,也就是cpu运算能力峰值表现,看看是否会突破cpu的计算阀域造成cpu计算溢出,这个10的数据实在是太危险,要是当cpu已经疲惫不堪时再这么冲击一下,说不定就直接崩溃了。
“《光晕》测试结束,高参数运行45分钟未见cpu锁死,电路板监控正常。50台测试机通过率是……98!”这个98听起来相当刺耳,每个人心中都是一揪。
罗比有些粗暴地推开人群。来到那个监控员身后,问道:“那一台没通过的出了什么问题?”
“监控诊断系统提示。该测试机电源附近编号为的红灯不断闪烁,那是我们的主板故障诊断示意灯,意味着cpu在自动修正,它陷入到一个冗余计算中,正在清除多余浮点,对数据链进行回流修改,需要一小段时间。”
监视员操作着工作台,然后将激光笔点亮,找到旁边玻璃房中50台测试机对应的那个编号。将激光射上去,罗比和硬件工程师推开隔壁的玻璃门门走进去,找到了那个出故障的测试机。
测试间温度很高,空气中散发着难闻的松香焊接剂和橡胶过热发出的气味,罗比下意识地用手在鼻子底下扇了扇,但这是无济于事的,大家确实看到这个插在公共电路板上的裸/露360主机和旁边的其他机器运行不一样,它正处于自检状态。
罗比当然清楚这意味着什么,50台测试机里面有一台出了问题。这样的通过率绝对不够,他们微软要求合格率高于99.99。
“继续监控测试,并且将最后的结论告诉我。詹姆斯,半个小时后到我的办公室向我汇报!”罗比没有当场大发雷霆。而是压着怒火对硬件部分负责人詹姆斯下达命令,然后他一个人回到了自己的办公室。
现场测试监控处有十几个人都看到了这一幕,每个人心中都忐忑不安。詹姆斯在送走罗比后,重新回到闪着故障灯的测试机旁。问自己的几个副手:“故障代码是多少?具体原因是什么?有没有规避的方法?”
下面很快就将故障代码和对应的说明书拿过来,这是一个工业设计的标准查看库。0a401的故障代码对应的解释正是“cpu处于高负荷计算修正状态”。
“我觉得这应该是偶然事件,就如同我们的操作系统一样,有时候在主板上面的一些松动或者是灰尘,都有可能让cpu信号传递错误,操作系统崩溃,最终导致蓝屏。”硬件工程师觉得这是很正常的,他没有规避方法的建议。
詹姆斯觉得这话也有道理,于是将这台测试机关闭,拿着旁边的清洁毛刷在主板上扫动几遍,又扶了扶可能会发生松动的内存与几个重要接线口,重启后让测试员继续模拟最高设定重新测试。
经过20多分钟,这台机器并未出现相同的故障,所有人都松了一口气。
拿着一堆打印好的报告单,詹姆斯来到罗比的办公室,他知道罗比身上的压力很大,他自己的压力也很大,微软游戏部门都快被逼上绝路了,每个人都如同惊弓之鸟,这个最后的测试阶段要是真出什么问题,他们肯定无法赶在圣诞节之前发布xbox360,他们绝对会迎来比尔盖茨的怒火。
“詹姆斯,情况严重吗?”罗比正半躺在他的座位上,用双指按摩着他的鼻梁上方眼窝处。
詹姆斯将资料放在罗比面前,松了口气:“极其特殊的情况,应该是程序中的数据溢出导致cpu自动修正,重启后就好了。”
罗比坐直身体,问道:“个例?”
“是的!不过我会让他们继续监视,这只是30个小时的高强度运行,我们应该更关心300小时的结果。”
“我们没有那么多的时间。詹姆斯,看着我的眼睛,我让你认真回答我,这个问题是否严重?”
罗比的这个要求让詹姆斯无法直视,他心里很清楚,如果按照这种测试结果,他必须将其归类为“系统严重bug”,重新打回到硬件部门,让他们重现当时的环境,寻找到问题的根源,然后再修复它,修复完毕后再重新开始极限测试,一直到在极限测试结束时都不出问题为止,否则就会继续打回去,修改好了再来测试。
完整的测试流程就是这样,it产业中不管是硬件发布还是软件制作exe程序,都逃不脱最后的测试和修复关。
可惜他们最缺的就是时间!
“怎么,严重到我们必须重新返工的地步?”罗比眼中的血丝很明显,詹姆斯看了觉得很恐怖