2八/080
如何测试一支钢笔
昨天的培训课讲的是如何建造高质量的软件,测试自然是最重要的。就拿一支钢笔来说,怎么测试一支钢笔?或者说,怎么衡量一支钢笔的质量?
比较容易想到的是“钢笔必须能写字,写出的笔划要连贯”。但是再考虑一下,其实还有很多问题,比如:
- 能在不同的纸上写吗?能在墙上写吗?笔尖朝上,倒着拿还能写出字吗?
- 能在不同的环境下写吗?水里?沙漠?低温?太空?
- 笔的形状是否适合手握?(想像一件用砂纸做的T恤……)
- 要用多大的力气才能写出字来?
- 长期放着不用,墨水会不会堵住?
- 加一次墨水能用多长时间?
- 笔上的标签有没有错别字?是否考虑了globalization,不同国家、不同文化?logo会不会让某种人反感?
- 笔容易折断吗?如果折断了,飞出来的东西会不会伤到人?
- 把笔放到嘴里咬会不会有危险?小孩总会乱吃东西。
- ……
其实还能写出更多条测试要求来。总之,测试还是很有学问的。Quality永远都比Quantity重要,安装到用户机器上的软件宁愿少一些feature,也要保证质量。
另外,除了著名的Pentium浮点运算错误,NASA的航天器单位换算出错等经典案例外,在课上又了解到一条:SQL Slammer病毒,2002年的一个SQL Server漏洞导致世界上大部分Internet都挂了,连ATM都取不出钱了。(因为中国当时在过春节,所以没受多大影响。)