在软件测试的面试中, 经常会碰到类似的问题。 比如:如何测试一个杯子, 或者如何测试一只笔。 要求你设计20个以上的test case.
这类的面试题目,是考察面试者是否熟悉各种软件测试方法, 设计test case的能力, 以及test sense。
首先应该反问下面试官, 需求是什么样的,比如大概是个什么样的杯子。
我回答这类问题的思路, 从软件测试的各种不同方法来联想, 具体如下。
功能测试(Function test)
-
能否装水,
-
除了装水, 能否装其他液体。比如可乐,酒精
-
能装多少ML的水
-
杯子是否有刻度表
-
杯子能否泡茶,跑咖啡
-
杯子是否能放冰箱,做冰块
-
杯子的材质是什么(玻璃,塑料,黄金做的)
界面测试(UI Test)
-
外观好不好看。
-
什么颜色
-
杯子的形状是怎么样的。
-
杯子的重量是多少
-
杯子是否有异味
-
杯子的图案是否合理
性能测试(performance test)
-
能否装100度的开水 (泡茶)
-
能否装0度冰水
-
装满水,放几天后,是否会漏水
-
杯子内壁上的涂料是否容易脱落。
-
杯子上的颜色是否容易褪色或者脱落
-
被我坦克压下,是否会碎 (这条是开玩笑的哈)
安全性测试(Security test)
-
制作杯子的材料,是否有毒
-
放微波炉里转的时候,是否会爆炸, 或者杯子是否会熔化。
-
从桌子上掉到水泥地上是否会摔碎。
-
杯子是否容易长细菌
-
杯子是否有缺口,会划坏嘴巴
-
杯子内壁上的材料,是否会溶解到水中
-
杯子破碎后,是否会对使用者造成伤害
可用性测试(Usability Test)
-
杯子是否容易烫手
-
杯子是否好端,好拿
-
杯子的水是否容易喝到
-
杯子是否有防滑措施
总结
一不小心, 就写了30多个test case。 下次碰到 “如何测试一台自动售货机” 这样的问题, 按照相同的思路, 也能容易的回答出来。