对于一台榨汁机的需求阶段,需求还没有整理出来,测试人员先行介入,测试人员应该从哪些方面考虑测试用例?
我不知道是哪位仁兄出的这道题目,也不知道这位仁兄的原意如何。但是如果要我来回答,那我的答案是:“无可奉告”。
我们先来回顾一下软件测试的定义。现在一般分为两派,一派认为软件测试是为了证明软件“可以工作”,另外一派认为软件测试是为了证明软件“不能工作”。好,不管是那派,他们都需要有一个可以测试的东西作为基础,才能开始下面的证明工作。出题目的仁兄告诉我们,“需求还没整理出来”,测试人员就“先行介入”了。如果不是题目的陷阱,那只能认为这个项目的团队“有问题”。在需求还不明确的前提下,测试人员可以做的事情有两个:一是学习和项目有关的基础知识,剩下的就是等待。(需要指出的是,在需求不明确的前提下,开发人员是无法开始做high level design的,更加谈不上让测试人员参与design的讨论)
回到题目上来,我们假设题目有所改变,该榨汁机是一台普通的榨汁机,插电后放入水果或者蔬菜,按动开关,就可以榨汁。(和市面上能买到的差不多)那么需要如何考虑测试用例?虽然没实际用过榨汁机,但是靠想象应该也差不多。
1、考虑90%以上用户的使用习惯,确保最基本的功能-榨汁能够正常运作。
● 通常的水果:西瓜、番茄、黄瓜、苹果、草莓、香蕉、李子、甘蔗等单独作为输入。
● 非常见:玉米
● 水果的混编作为输入。
● 在输入容器所能容纳的情况下,输出的量杯是否足够大能容纳榨出的液体。
● 在水果较硬的情况下,是否能正常工作。
● 水果较软的情况下,是否能正常工作。
● 如果有按钮或开关调节,测试按钮或开关的可用性和有效性。
2、易用性测试
● 榨汁机的外观是否美观。这是用户选择的关键。
● 榨汁机的电源线长度是否足够。
● 量杯大小测试
3、Force Error测试
● 在空转情况(无输入)下做榨汁
● 在有异物(如蔬果的枝叶)的情况下做榨汁
● 在榨汁过程中停电,看是否能恢复
● 110v电源输入测试
● 在高温的情况是否能正常工作(40度以上)
● 在周围有磁场的情况下是否能正常工作
● 掉落测试
4、Security 测试
● 是否有儿童手指保护措施?
● 在榨汁有漏出的情况下,是否会有漏电?
5、耐用性测试
● 刀片耐用度测试
● 平均无故障时间统计
● 按钮或开关耐用度测试
● 榨汁机使用寿命测试
● 榨汁机本体容器压强测试
基本上来讲,就是这些,对于一个只在电视上看过,从来没用过的人已经是一件不容易的事情了。