深入浅出:经典的软件测试用例方法总结(转)

 简单的测试用例

1.测试项目:电梯

需求测试:查看电梯使用说明书、安全说明书等;

界面测试:查看电梯外观;

功能测试:测试电梯能否实现正常的上升和下降功能,电梯的按钮是否都可以用;

电梯门的打开,关闭是否正常;报警装置是否可用,报警电话是否可用;

通风状况如何.突然停电时的情况;是否有手机信号;

比如说上升途中的响应。电梯本来在1楼,如果有人按18楼,那么电梯在上升到5楼的时候,有人按了10楼,这时候是否会在10楼先停下来;

电梯下降到10层时显示满员,此时若8层有人等待电梯,是否在8层停;

可靠性:门关上的一刹那出现障碍物,同时按关门和开门按钮,点击当前楼层号码,多次点击同一楼层的号码等等;同时按上键和下键会怎样;

易用性:电梯的按钮的设计是否符合一般人使用的习惯;

用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述;

压力测试:看电梯的最大限度的承受重量,在负载过重时报警装置是否有提醒,在一定时间内不断的让电梯上升或下降,最大负载下平稳运行的最长时间。

2.测试项目:杯子

需求测试:查看杯子使用说明书;

界面测试:查看杯子外观;

功能度:用水杯装水看漏不漏;水能不能被喝到;

安全性:杯子有没有毒或细菌;

可靠性:杯子从不同高度落下的损坏程度;

可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用;

兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等;

易用性:杯子是否烫手、是否有防滑措施、是否方便饮用;

用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述;

疲劳测试:将杯子盛上水(案例一)放24 小时检查泄漏时间和情况;盛上汽油(案例二)放24 小时检查泄漏时间和情况等;

压力测试:用根针并在针上面不断加重量,看压强多大时会穿透;

跌落测试: 杯子加包装( 有填充物), 在多高的情况摔下不破损;

震动测试:杯子加包装( 有填充物), 六面震动, 检查产品是否能应对恶劣的铁路 公路 航空运输;

测试数据:测试数据具体编写此处略(最讨厌写测试数据了)。其中应用到:场景法、等价类划分法、因果图法、错误推测法、边界值法等方法;

期望输出:该期望输出需查阅国标、行标以及使用用户的需求。

3.测试题目:桌子

需求测试:查看国家相关标准;

功能:桌子是办公或者放置用的,首先考虑桌子的面积大小是否适度;

界面:桌子的版面是否平滑,桌子有没有凹凸不平的地方;

安全:桌子肯定有它的支撑点,若支撑点不稳,容易摔坏物品,使用起来也不方便;

易用:桌子的移动性如何,它的重量是否合适;

可靠性:将桌子推倒后,再检查桌子是否很容易被损坏;

性能:将很重的物品放在桌子上,看它最大承受的重量是多少。

4.测试题目:洗衣机

功能测试:该洗衣机是否能正常的洗衣服;

需求测试:查看洗衣机的使用说明书和安全说明书等;

性能测试:使用时用电量如何,是否满足用户需求;

界面测试:洗衣机的外观是否满足客户的需求;

易用测试: 该洗衣机是否容易操作;

兼用性测试:该洗衣机除了能洗衣服以外还能洗别的东西;

安全性测试:该洗衣机通电以后人接触以后是否有电;

负载测试:通过逐步增加系统负载,最终确定在什么负载条件下系统性能将处于崩溃状态,以此获得系统能提供的最大服务;

压力测试:通过逐步增加系统负载,最终确定在什么负载条件下系统性能将处于崩溃状态,以此获得系统能提供的最大服务级别的测试;

稳定性测试:加到一定的衣服然后过一段时间看洗衣机是否正常工作。

常用的测试案例方法

1、等价类划分

问:某程序规定:"输入三个整数 a、 b、 c分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算 … "。用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。)

解:

分析题目中给出和隐含的对输入条件的要求:

(1)整数

(2)三个数

(3)非零数

(4)正数

(5)两边之和大于第三边

(6)等腰

(7)等边

如果 a、 b 、 c满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一:

1)如果不满足条件(5),则程序输出为 " 非三角形 " 。

2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。

3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。

4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。

列出等价类表并编号

深入浅出:经典的软件测试用例方法总结(转)等价类表

覆盖有效等价类的测试用例:

a b c 覆盖等价类号码

3 4 5 (1)--(7)

4 4 5 (1)--(7),(8)

4 5 5 (1)--(7),(9)

5 4 5 (1)--(7),(10)

4 4 4 (1)--(7),(11)

覆盖无效等价类的测试用例:

深入浅出:经典的软件测试用例方法总结(转)无效等价类

2、边界值分析法

NextDate函数的边界值分析测试用例

在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。

深入浅出:经典的软件测试用例方法总结(转)NextDate函数的边界值分析

3、错误推测法

测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:

I. 输入的线性表为空表;

II. 表中只含有一个元素;

III. 输入表中所有元素已排好序;

IV. 输入表已按逆序排好;

V. 输入表中部分或全部元素相同。

4、因果图法

有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

1) 分析这一段说明,列出原因和结果

原因:

1.售货机有零钱找

2.投入1元硬币

3.投入5角硬币

4.押下橙汁按钮

5.押下啤酒按钮

结果:

21.售货机〖零钱找完〗灯亮

22.退还1元硬币

23.退还5角硬币

24.送出橙汁饮料

25.送出啤酒饮料

2)画出因果图,如图所示。所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点:

11. 投入1元硬币且押下饮料按钮

12. 押下〖橙汁〗或〖啤酒〗的按钮

13. 应当找5角零钱并且售货机有零钱找

14. 钱已付清

深入浅出:经典的软件测试用例方法总结(转)饮料自动售货机因果图

3)转换成判定表:

深入浅出:经典的软件测试用例方法总结(转)判定表

5、判定表驱动分析方法

问题要求:”……对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理……” 。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义。请建立判定表。

解答:

①确定规则的个数:这里有3个条件,每个条件有两个取值,故应有2*2*2=8种规则。

②列出所有的条件茬和动作桩:

深入浅出:经典的软件测试用例方法总结(转)条件茬和动作桩

③填入条件项。可从最后1行条件项开始,逐行向上填满。如第三行是:Y N Y N Y N Y N,第二行是:Y Y N N Y Y N N等等。

④填入动作桩和动作顶。这样便得到形如图的初始判定表。

深入浅出:经典的软件测试用例方法总结(转)初始判定表

初始判定表

⑤化简。合并相似规则后得到图。

深入浅出:经典的软件测试用例方法总结(转)