黑盒测试 白盒测试 题

习题1

为以下流程图所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。

语句覆盖

原则覆盖程序中所有可执行的语句

设计的测试用例如下

编号 输入项 执行语句
{x=17,y=6} 执行语句3
{x=1,y=-1} 执行语句2
{x=-1.y=-1} 执行语句1

判定覆盖

覆盖所有的路径

设计的测试用例如下

编号 输入项 覆盖的分支
{x=9,y=11} b->f
{x=15,y=9} y->e
{x=7,y=-1} a->d
{x=-1,y=-1} a->c

条件覆盖

判定的每个条件的可能值至少满足一次

对取值进行标记

判定 条件 取值标记 (true) 取值标记(false)
x>8 and y>5 x > 8 T1 -T1
y>5 T2 -T2
x>16 or y > 10 x > 16 T3 -T3
y > 10 T4 -T4
x > 0 or y > 0 x > 0 T5 -T5
y > 0 T6 -T6

产生测试用例

原则 对产生的的判定中的每个原则都要满足

测试用例 执行路径 覆盖条件 覆盖分支
{x=17, y=11} b->f T1 T2 T3 T4 b分支 f分支
{x=15, y=6} b->e T1 T2 -T3 -T4 b分支 e分支
{x=7,y=4} a->d -T1 -T2 T5 T6 a分支 d分支
{x=-1, y=-1} a->c -T1 -T2 -T5 -T6 a分支 c分支

判定条件覆盖

将判定覆盖和条件覆盖结合,使得判定中的每个条件的所有取值至少满足一次。同时每个判定的结果至少出现一次。将判定覆盖和条件覆盖相结合

结果如下;

测试用例 执行路径 覆盖条件 覆盖分支
{x=17, y=11} b->f T1 T2 T3 T4 b分支 f分支
{x=15, y=6} b->e T1 T2 -T3 -T4 b分支 e分支
{x=7,y=4} a->d -T1 -T2 T5 T6 a分支 d分支
{x=-1, y=-1} a->c -T1 -T2 -T5 -T6 a分支 c分支

组合覆盖

每一个判定的所有可能的条件取值的组合

取值标记

判定 条件 取值标记 (true) 取值标记(false)
x>8 and y>5 x > 8 T1 -T1
y>5 T2 -T2
x>16 or y > 10 x > 16 T3 -T3
y > 10 T4 -T4
x > 0 or y > 0 x > 0 T5 -T5
y > 0 T6 -T6

取分支

序号 条件 取的分支
T1 T2 第一个分支取真
T1 -T2 第一个分支取假
-T1 T2 第一个分支取假
-T1 -T2 第一个分支取假
T3 T4 第二个分支取真
T3 -T4 第二个分支取真
-T3 T4 第二个分支取真
-T3 -T4 第二个分支取假
T5 T6 第三个分支取真
T5 -T6 第三个分支取真
十一 -T5 T6 第三个分支取真
十二 -T5 -T6 第三个分支取假

生成测试用例

测试用例 覆盖组合号 覆盖的路径
{x=17,y=11} 1 and 5 b->f
{x=17,y=9} 1 and 6 b -> f
{x=15,y=11} 1 and 7 b -> f
{x=9,y=6} 1 and 8 b -> e
{x=9, y =4} 2 and 9 a -> d
{x=7, y=-1} 3 and 10 a -> d
{x=7,y=-1} 4 and 11 a -> d
{x=-1, y =-1} 4 and 12 a -> c

路径覆盖

要求路径全部覆盖

测试用例 覆盖组合号 覆盖的路径
{x=17,y=11} 1 and 5 b->f
{x=9,y=6} 1 and 8 b -> e
{x=9, y =4} 2 and 9 a -> d
{x=-1, y =-1} 4 and 12 a -> c

习题2

某城市电话号码由三部分组成,分别是:

地区码—— 空白或三位数字;

前 缀—— 非‘0’或‘1’开头的三位数字;

后 缀—— 4位数字。

假定被测程序能接受一切符合上述规定的电话号码, 拒绝所有不符合规定的电话号码。

请选择适当的黑盒测试方法,写出选择该方法的原因,并使用该方法的步骤,给出测试用例表。

选用的测试

准备选择场景发进行测试,理由如下

  1. 该软件是采用事件触发用来控制流程
  2. 使用场景法较为简单
  3. 该软件逻辑清晰,备选分支不是很多

绘制场景图

编写测试用例

地区码测试

编号 输入 说明
1 空  对应输入地区码为空
2 000 对应数字输入3位数字地区码
3 www 对应输入非数字地区码

前缀测试

编号 输入 说明
1 222 非0 1 开头的三位数字
2 022 0开头三位数字
3 122 1开头三位数字
4 0222 0开头非三位数字
5 1 1开头的非三位数字
6 1w 1开头非数字内容
7 0w 0开头非数字内容
8 34324 非0 1 开头的非三位数字
9 w 非0 1 开头的非数字

后缀测试

编号 输入 说明
1 0000 4位后缀数字
2 0 非4位数字
3 非数字内容

www.iming.info

原文地址:https://www.cnblogs.com/melovemingming/p/9938239.html

时间: 2024-10-19 10:02:07

黑盒测试 白盒测试 题的相关文章

黑盒测试白盒测试

           白盒测试:是通过程序的源代码进行测试而不使用用户界面.这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正            黑盒测试:又被称为功能测试.数据驱动测试或基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解 该软件的源代码程序具体是怎样设计的.测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作            黑盒测试(与白盒测试区别

白盒测试和黑盒测试

1,一般软件开发人员和测试人员对白盒测试和黑盒测试的感念都有一定的认识,但认为是编代码所做的测试是白盒测试,黑盒测试不用编写代码,这其实是一种误解. 2,首先说一下概念,任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试.黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求.白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查. 软件的黑盒测试意味着测试要在软件的接口处进行.这种方法是把测试对象

测试小笔记(黑\白盒测试及区别、测试用例的设计)

测试的概念: 白盒测试 黑盒测试 白盒测试.黑盒测试优劣比较   测试用例的设计 一般而言,在所有的方法中效率最低的是随机输入测试,即在所有可能的输入值中随机选取某个子集来对程序进行测试的过程. 白盒测试的方法:1)语句覆盖.2)判定覆盖.3)条件覆盖.4)判定/条件覆盖.5)多重条件覆盖. 1.>语句覆盖:较弱的准则,将程序中的每条语句至少执行一次. 2.>判定覆盖或分支覆盖:较强的逻辑覆盖准则,必需编写足够的测试用例,使得每个判断都至少有一个为真和为假的输出结果.也就是说每条分支路劲都必须

第4周小组作业 WordCount优化

github地址:https://github.com/husterC/WordCountGroupwork PSP表格 PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划  20  20 · Estimate · 估计这个任务需要多少时间  15  10 Development 开发  60  40 · Analysis · 需求分析 (包括学习新技术)  60  90 · Design Spec · 生成设计文档  -  - · Design Revie

软件测试概述

• 不论软件的生产者还是软件的使用者,均生存在竞争的环境中: 软件开发商为了占有市场,必须把产品质量作为企业的重要目标之一,以免在激烈的竞争中被淘汰出局. 用户为了保证自己业务的顺利完成,当然希望选用优质的软件. 软件带来错误的原因很多,具体地说,主要有如下几点: • 交流不够.交流上有误解或者根本不进行交流 • 软件复杂性 • 程序设计错误 • 需求变化 • 时间压力 • 代码文档贫乏 • 软件开发工具 什么是软件测试 软件测试就是在软件投入运行前,对软件需求分析.设计规格说明和编码的最终复审

java攻城狮之路--复习xml&dom_pull编程

xml&dom_pull编程: 1.去掉欢迎弹窗界面:在window项的preferences选项中输入“configuration center” 找到这一项然后     把复选框勾去即可. 2.去掉打开Myeclipse时弹出的:Please allow Subclipse team to receive......办法: Windows-->Preferences-->General-->Startup and Shutdown-->取消Subclipse Usage

JavaEE实战——XML语法和约束技术

MyEclipse8.5 1.配置workspace ----- 建议不要采用含有空格和中文目录,所有代码保存workspace空间中 2.新建工程时,设置工程需要jre环境 MyEclipse提供多种内置layout --- 每种布局 界面不同,菜单不同 工程的属性 编码集 --- 导入其它工程时,注意编码类型一致 java build path 设置 classpath位置 ,指定当前工程引入类库 source中指定.java 文件 和.class文件 存放位置 librialies 指定当

[转] 单元测试详解

1.什么是单元测试(Unit Testing)? 测试(Testing)这个词很容易理解,那么什么是单元(Unit)呢? 一个单元指的是应用程序中可测试的最小的一组源代码.一组源代码可测试,一般要求其有明确的输入和输出.因此,一般来讲,源代码中包含明确的输入和输出的 每一个方法被认为是一个可测试的单元.注意,这里指的输出,并不局限于方法的返回值或对输入参数的改变,而包括了方法的执行过程中,改变的任何数据. 单元在程序里可以简单的理解为一个模块,一个方法.单元测试也就是在完成每个模块后都进行的测试

软件测试基础知识

软件测试基础知识 1.  软件质量与软件测试 软件测试:在规定条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成过程的文档.数据以及程序进行测试 软件质量:软件特性的总和,软件满足规定或潜在用户需求的能力 2.  软件测试与质量保证 软件测试只是质量保证工作中的一个环节,软件质量保证与软件测试是软件质量工程的两个不同层面的工作: 质量保证:通过预防.检查与改进来保证软件质量,采用全面质量管理和过程改进的原理来开展质量保证工作,主要关注软件质量的检查与测试,主要着眼于软件开发活动