黑盒测试用例设计练习题

news/2024/11/28 15:45:14/

1、准考证号码

对招干考试系统“输入学生成绩”子模块设计测试用例。招干考试分三个专业,准考证号第一位为专业代号,如:

    1-行政专业,

    2-法律专业,

    3-财经专业。

    行政专业准考证号码为:110001~111215

    法律专业准考证号码为:210001~212006

    财经专业准考证号码为:310001~314015

请划分准考证号码的等价类。

输入条件

有效等价类

编号

  无效等价类

编号

行政专业准考证号码

110001~111215数字串

(1

负无穷~110000

(4

法律专业准考证号码

210001~212006数字串

(2

111216~310000

(5

财经专业准考证号码

310001~314015数字串

(3

314016~正无穷

(6

序号

输入参数

覆盖等价类

输出参数

1

110002

(1)

输入正确

2

210012

(2)

输入正确

3

310022

(3)

输入正确

4

10000

(4)

输入错误

5

200000

(5)

输入错误

6

340000

(6)

输入错误

2、电话号码

2、电话号码

城市的电话号码由两部分组成。这两部分的名称和内容分别是:

1)地区码:以0开头的三位或者四位数字(包括0);

2)电话号码:以非0、非1开头的七位或者八位数字。

假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,请使用等价分类法来设计它的测试用例。

输入条件

有效等价类

编号

无效等价类

编号

地区码

0开头

(1)

非0开头

(7)

三位数字串

(2)

<三位数字串

(8)

四位数字串

(3)

>四位数字串

(9)

电话号码

非0 and 非1开头

(4)

以0开头

(10)

以1开头

(11)

七位数字串

(5)

<七位数字串

(12)

八位数字串

(6)

>八位数字串

(13)

序号

输入参数

覆盖等价类

输出参数

1

012-8725656

(1)(2)(4)(5)

输入正确

2

0123-8546523

(1)(3)(4)(5)

输入正确

3

012-84864878

(1)(2)(4)(6)

输入正确

4

110-6845316

(7)

输入错误

5

01-5645642

(8)

输入错误

6

01111-4552135

(9)

输入错误

7

012-0464534

(1)(2)(10)

输入错误

8

012-1455544

(1)(2)(11)

输入错误

9

012-15454

(1)(2)(12)

输入错误

10

0123-454514542

(1)(3)(13)

输入错误

3、保险公司计算保费费率的程序

某保险公司的人寿保险的保费计算方式为:投保额×保险费率

其中,保险费率依点数不同而有别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如表1所示。

表1 保险公司计算保费费率的规则

年龄

性别

婚姻

抚养人数

20~39

40~59

其它

M

F

已婚

未婚

1人扣0.5点

最多扣3点

(四舍五入取整)

6点

4点

2点

5点

3点

3点

5点

分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类)。

  1. 年龄:一位或两位非零整数,值的有效范围为1~99。
  2. 性别:一位英文字符,只能取值‘M’或‘F’。
  3. 婚姻:字符,只能取值‘已婚’或‘未婚’。
  4. 抚养人数:空白或一位非零整数(1~9)
  5. 点数:一位或两位非零整数,值的范围为1~99

根据表1中的等价类表,设计能覆盖所有等价类的测试用例。

输入条件

有效等价类

编号

无效等价类

编号

年龄

1~99整数

(1)

非1~99整数

(9)

性别

‘M’

(2)

非‘M’and非‘F’

(10)

‘F’

(3)

婚姻

‘已婚’

(4)

非‘已婚’and

非‘未婚’

(11)

‘未婚’

(5)

抚养人数

null

(6)

非 null and

非1~9整数

(12)

1~9整数

(7)

点数

1~99整数

(8)

非1~99整数

(13)

序号

输入参数

覆盖等价类

输出参数

1

(50,‘M’,‘已婚’,null)

(1)(2)(4)(6)(8)

保险率为0.6%

2

(18,‘F’,‘未婚’,null)

(1)(3)(5)(6)(8)

保险率为0.6%

3

(45,‘F’,‘已婚’,8)

(1)(3)(4)(7)(8)

保险率为0.1%

4

(101,‘M’,‘已婚’,null)

(9)

输入错误

5

(65,‘H’,‘未婚’,5)

(1)(10)

输入错误

6

(78,‘F’,‘假婚’,null)

(1)(3)(11)

输入错误

7

(88,‘M’,‘已婚’,11)

(1)(2)(4)(12)

输入错误

4、输入:用户密码

要求:

1)用户密码为6到8位。

   2)必须含有字母和数的组合。

输出: 如正确,输出正确的信息。否则,输出相应的错误信息。

请结合等价类划分法和边界值分析法设计出相应的测试用例。

输入条件

有效等价类

编号

无效等价类

编号

用户密码

6<=位数<=8

(1)

位数<6

(3)

位数>8

(4)

包含字母和数字

(2)

不包含数字

(5)

不包含字母

(6)

序号

输入参数

覆盖等价类

输出信息

1

1234abcd

(1)(2)

输入正确

2

1234a

(3)

输入错误

3

123456789df

(4)

输入错误

4

abcdedf

(1)(5)

输入错误

5

1234567

(1)(6)

输入错误

5、给出某一天(年,月, 日),计算出它的下一天,取值范围为:

    年:1000<= year  <=3000   月:1<=month <=12     日:1<= day <=31 

如 1999年3月4日的下一天是:1999年3月5日

要求:

输入:三个参数(年,月, 日)

输出:如能正确计算,计算出它的下一天,

      否则,输出相应的错误信息。

1)使用C语言编写程序实现

2)请结合等价类划分法和边界值分析法设计出相应的测试用例,并依照测试用例对所编写的程序进行测试。

(1)代码如下:

#include<stdio.h>void main(){int year;int month,maxmonth=12;int day,maxday;printf("请输入年份:(1000~3000)");scanf("%d",&year);if(year<1000 || year>3000){printf("输入错误!请从新输入!\n");printf("请输入年份:(1000~3000)");scanf("%d",&year);}printf("请输入月份:(1~12)");scanf("%d",&month);if(month<1 || month>12){printf("输入错误!请从新输入!\n");printf("请输入月份:(1~12)");scanf("%d",&month);}if(month==4||month==6||month==9||month==11)maxday=30;else if(month==2){if(year%400==0 || year%4==0)maxday=28;elsemaxday=29;}elsemaxday=31;printf("请输入日份:(1~31)");scanf("%d",&day);if(day<1 || day>maxday){printf("输入错误!请从新输入!\n");printf("请输入日份:(1~31)");scanf("%d",&day);}if(month==maxmonth && day==maxday){year=year+1;month=1;day=1;}else if(day==maxday){month=month+1;day=1;}elseday=day+1;printf("下一天是%d年%d月%d日",year,month,day);}

(2)

输入条件

有效等价类

编号

无效等价类

编号

1000<=year<=3000

(1)

<1000

(4)

>3000

(5)

1<=month<=12

(2)

<1

(6)

>12

(7)

1<=day<=31

(3)

<1

(8)

>31

(9)

边界测试用例

序号

输入参数

输出结果

1

20000228

2000年3月1日

2

9990105

输入错误!请从新输入!

3

30010312

输入错误!请从新输入!

4

20120012

输入错误!请从新输入!

5

20111323

输入错误!请从新输入!

6

20180300

输入错误!请从新输入!

7

20560432

输入错误!请从新输入!

等价类测试用例

序号

输入参数

覆盖等价类

输出结果

1

20020105

(1)(2)(3)

2002年1月6日

2

9910502

(4)

输入错误!请从新输入!

3

30120515

(5)

输入错误!请从新输入!

4

20120015

(1)(6)

输入错误!请从新输入!

5

20141325

(1)(7)

输入错误!请从新输入!

6

20070400

(1)(2)(8)

输入错误!请从新输入!

7

20010632

(1)(2)(9)

输入错误!请从新输入!

6、假设中国某航空公司规定:

中国去欧美的航线所有座位都有食物供应。每个座位都可以播放电影。

中国去非欧美的国外航线都有食物供应,只有商务仓可以播放电影。

中国国内的航班的商务仓有食物供应,但是不可以播放电影 。

中国国内的航班的经济仓除非飞行时间大于2小时就有食物供应,但是不可以播放电影。 

使用决策表法设计测试用例。

1

2

3

4

5

6

线

中国去欧美?

Y

N

N

N

N

N

中国去非欧美的国外?

N

Y

Y

N

N

N

中国国内的航班

N

N

N

Y

Y

Y

商务仓

--

Y

N

Y

--

N

飞行时间>2小时

--

--

--

--

Y

--

食物供应

--

播放电影

--

--

--

--

测试用例

美国

亚洲,商务仓

亚洲

中国,商

中国,飞

>2

中国

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

要求:1)列出原因和结果,画出因果图

         2)根据因果图,建立判定表

      3)根据判定表设计测试用例数据

(1)

原因:

1----投5角硬币

2----投1元硬币

3----按【啤酒】按钮

4----按【橙汁】按钮

5----售货机有零钱(灯亮)

6----售货机没有零钱(灯暗)

结果

21----出饮料

22----出饮料,找零钱

23----不出饮料,退钱

因果图如下:

11,12为中间节点

(2)(3)

1

2

3

4

5

6

1

Y

Y

N

N

N

N

2

N

N

Y

Y

Y

Y

3

Y

N

Y

Y

N

N

4

N

Y

N

N

Y

Y

5

--

--

Y

N

Y

N

6

--

--

N

Y

N

Y

11

Y

Y

Y

Y

Y

Y

12

Y

Y

Y

Y

Y

Y

21

--

--

22

--

--

--

--

23

--

--

--

--

测试用例

投5角硬币按啤酒按钮

投5角硬币按橙汁按钮

投1元硬币选择啤酒按钮售货机有零钱

投1元硬币选择啤酒按钮售货机没有零钱

投1元硬币选择橙汁按钮售货机有零钱

投1元硬币选择橙汁按钮售货机没有零钱


http://www.ppmy.cn/news/180012.html

相关文章

计算机硬件大全

互联网公司服务器品牌 1、DELL&#xff08;大多数公司&#xff09;&#xff0c;HP&#xff0c;IBM&#xff08;百度&#xff09;&#xff0c;浪潮&#xff0c;联想&#xff0c;航天联志 CPU处理器 相当于人体的大脑&#xff0c;负责计算机的运算和控制&#xff0c;是服务器性…

我们团队拥有自己的服务器了~~

最近我们团队使用项目资金组装了一台性能不错的服务器&#xff0c;配置如下&#xff1a; 显示器: 三星T220G CPU: intel 酷睿2 quad q6600&#xff08;四核&#xff09; 散热: 超频三南海mini 主板: ASUS P5Q pro 显卡: 索泰GTX260 &#xff08;896M显存&#xff0c;192处理器&…

P45-02

数据结构与算法 p45-02 设A{a1,a2,a3......an}和B{b1,b2,b3...bn}均为顺序表&#xff0c;A‘和B’分别为A和B中除去最大共同前缀后的子表 若AB空表&#xff0c;则AB;若A空表&#xff0c;而B!空表&#xff0c;或者两者均不为空表&#xff0c;且A的表首元素小于B的表首元素 则…

p45-04

数据结构与算法 p45-04 假设有两个按元素值递增有序排列的线性表A和B&#xff0c;均以单链表作为其存储结构 设计一个算法将A和B归并一个按元素值递减的有序排列的线性表C 并要求利用原表&#xff08;即A表和B表&#xff09;的结点空间构造表C #include<iostream.h>//…

P51 9

P51 第九题 输入某个点A的平面坐标&#xff08;x,y&#xff09;,判断&#xff08;输出&#xff09;A点是在圆内,圆外还是在圆周上&#xff0c;其中圆心坐标为&#xff08;2&#xff0c;2&#xff09;&#xff0c;半径为1 #include <stdio.h> int main() { int x,y,a;…

SAP UI5

网上很少能看到介绍OpenUI5的中文文章&#xff0c;有也是“ SAP 开源的 JavaScript 框架&#xff0c;有点重”。首先我不去说OpenUi5到底有多重&#xff0c;先说说SAP为什么把OpenUI5开源&#xff0c;除了软件license法律上的原因之外。 先说说历史&#xff0c;SAP在UI框架上的…

P5Q sata(串口硬盘) 装上LINUX

1.下载 fedora linux 8.0 相关网址 http://fedora.linuxsir.org/main/ &#xff08;因为其他版本的LINUX 内核很多都不支持SATA接口的硬盘&#xff09; 2.安装步骤这里不详细介绍了&#xff0c;都是图形化界面。 主要是分区 &#xff08;1&#xff09;记得要分一个 swap分…

P51-9

9. #include <stdio.h> int main() {float x,y,d;printf("请输入点A的坐标:\n",x,y);scanf("%f %f",&x,&y);d(x-2)*(x-2)(y-2)*(y-2);if(d1){printf("on the circular\n");} if(d<1){printf("in the circular\n");}…