黑盒测试用例设计练习题

news2024/11/19 15:37:06

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;

              else

                     maxday=29;

       }

       else

              maxday=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;

       }

       else

              day=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.coloradmin.cn/o/603802.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python数据清洗:如何剔除异常值

Python 数据清洗&#xff1a;如何剔除异常值 随着数据量的持续增长&#xff0c;数据清洗已经成为了数据分析中不可或缺的一个步骤。数据清洗的目的是去除错误、缺失或不必要的数据&#xff0c;从而使数据更加准确、可靠、一致和完整。本文将讲解如何使用 Python 编程语言来剔除…

【C++ 程序设计】第 2 章:面向对象的基本概念

目录 一、结构化程序设计 二、面向对象程序设计的概念和特点 &#xff08;1&#xff09;面向对象程序设计的概念 &#xff08;2&#xff09;面向对象程序设计的特点 三、类的初步知识 &#xff08;1&#xff09;类的定义 &#xff08;2&#xff09;类的定义示例 四、类…

Three.js--》实现3d踢球模型展示

目录 项目搭建 初始化three.js基础代码 设置环境纹理加载模型 使用Cannon-es实现物理世界 今天简单实现一个three.js的小Demo&#xff0c;加强自己对three知识的掌握与学习&#xff0c;只有在项目中才能灵活将所学知识运用起来&#xff0c;话不多说直接开始。 项目搭建 本…

Linux4.6LNMP架构

文章目录 计算机系统5G云计算第五章 LINUX LNMP架构一、安装 Nginx 服务1.关闭防火墙&#xff0c;将安装nginx所需软件包传到/opt目录下2.安装依赖包3.创建运行用户、组4.编译安装Nginx5.添加 Nginx 系统服务6.修改nginx服务配置文件 三、编译安装mysqld 服务1.将安装mysql 所需…

MySQL—存储引擎(下)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a;小刘主页 ♥️每天分享云计算网络运维课堂笔记&#xff0c;努力不一定有回报&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️树高千尺&#xff0c;落叶归根人生不易&…

Windows部署WSL开启pwn之旅

不用虚拟机来操作真的太爽了&#xff01;&#xff01;还有和vscode的联动&#xff0c;更是妙绝&#xff01; 目录 前言 一、WSL获取 开启WSL支持 二、各种操作 1.apt 换源 2.更新软件 3.配置SSH服务器&#xff08;对于pwn来说非必要&#xff09; 4.WSL访问windows文件 …

【ChatGPT 】国内无需注册 openai 即可访问 ChatGPT:WeTab 浏览器扩展程序的安装与使用

目录 一、Sider&#xff1a;每天免费 30 查询额度【暂不推荐】 &#xff08;1&#xff09;Edge 浏览器扩展程序&#xff1a;Sider - ChatGPT【暂不推荐】 &#xff08;2&#xff09;iOS 手机 APP&#xff1a;Sider- Al 搭档&#xff08;有需要可以安装&#xff09; 二、 We…

chatgpt赋能python:Python创建画布的教程

Python 创建画布的教程 Python是一个功能强大的编程语言&#xff0c;其中一个重要的应用是数据可视化。在数据科学、机器学习、图像处理和软件开发中&#xff0c;Python的可视化功能非常实用。本教程将介绍Python创建画布的步骤&#xff0c;以及如何使用Matplotlib创建简单的图…

生产案例:消息堆积排查分析

&#x1f4dd;作者简介&#xff1a; 大家好&#xff0c;我是CBeann&#xff0c;CSDN博客专家&#xff0c;阿里云专家博主。 22届校招进入阿里广告部门从事Java开发工程师。 平时有空会帮大家解决问题&#xff0c;模式面试和日常答疑&#xff0c;并且提供免费云服务器使用。 有一…

2023年06月IDE流行度最新排名

点击查看最新IDE流行度最新排名&#xff08;每月更新&#xff09; 2023年06月IDE流行度最新排名 顶级IDE排名是通过分析在谷歌上搜索IDE下载页面的频率而创建的 一个IDE被搜索的次数越多&#xff0c;这个IDE就被认为越受欢迎。原始数据来自谷歌Trends 如果您相信集体智慧&am…

Linux4.5Nginx网站服务

文章目录 计算机系统5G云计算第五章 LINUX Nginx网站服务一、编译安装Nginx服务1.关闭防火墙&#xff0c;将安装nginx所需软件包传到/opt目录下2.安装依赖包3.创建运行用户、组4.编译安装Nginx5.检查、启动、重启、停止 nginx服务6.添加 Nginx 系统服务 二、认识Nginx服务的主配…

【数据结构】---几分钟简单几步学会手撕链式二叉树(下)

文章目录 前言&#x1f31f;一、二叉树链式结构的实现&#x1f30f;1.1 二叉树叶子节点个数&#x1f4ab;代码&#xff1a;&#x1f4ab;流程图&#xff1a; &#x1f30f;1.2 二叉树的高度&#x1f4ab;第一种写法(不支持)&#xff1a;&#x1f4d2;代码&#xff1a;&#x1f…

​Memcached 架构

Memcached是一种内存中的键值存储&#xff0c;最初是用Perl编写的&#xff0c;后来重写为C语言。它受到Facebook、Netflix和Wikipedia等公司的欢迎&#xff0c;因为它简单易用。 虽然当谈论到软件描述时&#xff0c;“简单”这个词已经失去了意义&#xff0c;但我认为Memcache…

chatgpt赋能python:用Python制作AI:优化搜索引擎结果的关键

用Python制作AI&#xff1a;优化搜索引擎结果的关键 搜索引擎正成为我们日常生活不可或缺的一部分。无论是寻找答案、娱乐还是购物&#xff0c;大多数人都会先打开搜索引擎。随着越来越多的数据被放入互联网中&#xff0c;如何让搜索引擎结果与用户的搜索意图相符&#xff0c;…

chatgpt赋能python:用Python办公自动化轻松完成繁琐重复的工作

用Python办公自动化轻松完成繁琐重复的工作 随着科技的进步&#xff0c;许多传统工作已经被自动化取代。而在许多职业中&#xff0c;办公自动化通常被认为是节省时间和减少错误的最佳方法。对于那些使用Microsoft Office&#xff0c;例如Excel、Word和PowerPoint等应用程序的用…

chatgpt赋能python:Python如何删除空白

Python 如何删除空白 在SEO优化过程中&#xff0c;我们需要保证我们的网页内容的质量和可读性。其中&#xff0c;一个重要的因素是删除空白。在Python中&#xff0c;我们可以使用多种方法来删除空白&#xff0c;下面我们将介绍一些方法并讨论它们的优缺点。 方法一&#xff1…

操作系统复习4.2.0-磁盘组织和管理

磁盘的结构 磁盘、磁道、扇区 磁盘划分n圈磁道&#xff0c;每条磁道划分为多个扇区 磁盘读写 磁头移动到需要读写的扇区所在的磁道来完成读写 磁盘转起来让目标扇区在磁头下面划过 盘面和柱面 分类 按磁头分类&#xff1a;磁头可伸缩移动、不可伸缩移动(同一盘面上有多个…

chatgpt赋能python:Python加入Path的好处及操作方法

Python加入Path的好处及操作方法 什么是Path&#xff1f; Path&#xff0c;顾名思义就是文件路径的意思。每当我们需要执行某些程序或打开某个文件&#xff0c;电脑都会按照这个文件路径来查找需要的文件或程序。在Windows系统中&#xff0c;文件路径是由一连串的路径名组成的…

DiffRate详解:高效Vision Transformers的可微压缩率

DiffRate详解&#xff1a;高效Vision Transformers的可微压缩率 0. 引言1. 相关内容介绍1.1 Transformer Block1.2 令牌修剪和合并1.3 修剪和合并的统一 2 DiffRate中的创新点2.1 令牌排序2.2 压缩率重参数化2.3 训练目标 3. 算法流程4. 总结 0. 引言 就当前的Vision Transfor…

决策树分类算法

#CSDN AI写作助手创作测评 目录 ID3算法 1.算法原理 2.代码实现 3.ID3算法的优缺点分析 C4.5算法 1.原理 2.优缺点 心得感受 决策树表示方法是应用最广泛的逻辑方法之一&#xff0c;它从一组无次序、无规则的事例中推理出决策树表示形式的分类规则。在决策树的内部…