如何测试一只水杯?—汇智动力
在正式开始回答这个问题之前,我们先来看看知乎用户@今日飞雪 创作的一则关于测试工程师的段子。
一个测试工程师走进一家酒吧,要了一杯啤酒;
一个测试工程师走进一家酒吧,要了一杯咖啡;
一个测试工程师走进一家酒吧,要了0.7杯啤酒;
一个测试工程师走进一家酒吧,要了-1杯啤酒;
一个测试工程师走进一家酒吧,要了2^32杯啤酒;
一个测试工程师走进一家酒吧,要了一杯洗脚水;
一个测试工程师走进一家酒吧,要了一杯蜥蜴;
一个测试工程师走进一家酒吧,要了一份asdfQwer@24dg!&*(@;
一个测试工程师走进一家酒吧,什么也没要;
一个测试工程师走进一家酒吧,又走出去又从窗户进来又从后门出去从下水道钻进来;
一个测试工程师走进一家酒吧,又走出去又进来又出去又进来又出去,最后在外面把老板打了一顿;
一个测试工程师走进一家酒吧,要了一杯烫烫烫的锟斤拷;
一个测试工程师走进一家酒吧,要了NaN杯Null;
一个测试工程师冲进一家酒吧,要了500T啤酒咖啡洗脚水野猫狼牙棒奶茶;
一个测试工程师把酒吧拆了;
一个测试工程师化装成老板走进一家酒吧,要了500杯啤酒并且不付钱;
一万个测试工程师在酒吧门外呼啸而过;
一个测试工程师走进一家酒吧,要了一杯啤酒';DROP TABLE 酒吧;
测试工程师们满意地离开了酒吧……
然后一名顾客点了一份炒饭,酒吧炸了。
测试工程师们的测试方方面面无所不级,简直就是神一般的存在。然而,跟超神的用户比起来,测试工程师们却仍逊色几分。
最常见的就是各种游戏中,总有玩家发现各种各样的bug,有些bug被表述为“游戏机制”。一个团队发现bug的能力肯定远远赶不上遍及全球几千万甚至几亿玩家找bug的能力。

那么问题来了,测试工程师们这么努力地工作,有什么作用呢?
答案其实很简单,测试工程师们的作用就是让所有人能够在正常操作的情况下正常使用软件,让绝大部分人能够在极端条件下正常使用软件。
尽管用户的骚操作防不胜防,但我们测试工程师们的招数也是让人难以招架的。
让我们带着测试工程师的想法,回头看看文章标题:如何测试一只水杯?、

功能测试
1.能否装水;
2.能否盛放开水;
3.能否盛放冰水;
4.能否盛放其他液体饮品:如碳酸饮料、酒精饮料、果汁、牛奶等;
5.能盛放多少液体;
6.能否放进冰箱、微波炉;
7.能否粗略计量液体;
8.是否配备滤网、搅拌匙;
9.能否使用明火加热;
10.使用了何种材质;
界面测试
1.杯子大小、形状是否符合设计图;
2.杯子的重量;
3.杯子外观是否符合相关法规和大众审美;
4.杯子图案是否合理;
5.杯子图案是否容易变色、脱色;
6.杯子有哪些颜色;
7.是否具有细小装饰物;
性能测试
1.能否盛放有腐蚀性、有毒性的液体;
2.能否保温,能保温多久;
3.装水一定时间后是否会漏水、渗水;
4.能否反复使用多久;
5.在反复交替浸泡开水和冰水情况下,能使用多久;
6.杯盖拧紧后是否会漏水,能够反复拧多少次;
7.若有滤网,能够过滤多大物体;
8.若配有搅拌匙,搅拌匙能否将杯中液体充分搅拌;
9.杯体装饰、图案是否能够耐受高温、低温、腐蚀等极端情况;
10.杯子能够承受多大的压力、拉力;
11.在什么高度掉落安然无恙;
12.在什么高度掉落会有损坏但仍可使用;
13.是否方便饮用杯中饮品;
14.是否方便清洗;
安全性测试
1.制作材料是否安全无毒;
2.是否容易滋生细菌;
3.是否杯体是否平滑、无缺口、无裂痕;
4.杯子材料接触各类可饮用液体时是否依然安全无毒、不生成有害物质;
5.杯子摔碎时,是否飞溅碎片;
6.杯子在接触高温、低温、高压、低压、腐蚀性等环境时能否保持完好;
7.是否防滑;
8.是否隔热,隔热性如何;
9.清洗时,洗涤用品残留量是否合格;
单单是测试一只普通的水杯,测试工程师们就要思考这么多问题,更不用说在面对一款软件的时候了。

各位还是对身边的测试工程师们友好一点吧,就算他们这么绞尽脑汁地思考,也架不住用户们的天马行空。
万一有人把你的杯子切掉杯底接到水管上,然后水管爆了。完事儿之后,反手一个举报,就问你怕不怕?
