黑盒测试 白盒测试 题

简介: 习题1 为以下流程图所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。 语句覆盖 原则覆盖程序中所有可执行的语句 设计的测试用例如下 编号 输入项 执行语句 ① {x=17,y=6} 执行语句3 ② {x=1,y=-1} 执行语句2 ③ {x=-1.

习题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

目录
相关文章
|
Java 测试技术 数据库连接
软件测试实验二 白盒测试
软件测试实验二 白盒测试
205 0
|
1月前
|
测试技术
软件质量保护与测试(第2版)学习总结第十一章 白盒测试
本文是《软件质量保护与测试》(第2版)第十一章的学习总结,详细讲解了白盒测试中的控制流测试技术,包括语句覆盖、判断覆盖、条件覆盖、判定-条件覆盖和路径覆盖等方法,并通过具体代码示例展示了如何设计测试用例来验证程序中的不同执行路径。
51 2
|
2月前
|
测试技术 程序员 C语言
『软件测试4』耗子尾汁!2021年了,你还不知道这4种白盒测试方法吗?
该文章深入介绍了四种常用的白盒测试方法,包括语句覆盖、判定覆盖、条件覆盖以及路径覆盖,并探讨了这些方法在软件测试中的应用。
『软件测试4』耗子尾汁!2021年了,你还不知道这4种白盒测试方法吗?
|
2月前
|
测试技术 数据库
『软件测试2』 关于黑盒测试和测试用例的基础知识
该文章讲解了黑盒测试的基本概念以及如何编写有效的测试用例,包括选择合适的输入数据、预期结果的设定和测试执行的步骤。
|
5月前
|
存储 安全 测试技术
渗透测试之白盒测试:一种深入的安全性评估方法
渗透测试中的白盒测试是一种利用系统详细信息(如源代码、数据库结构和网络拓扑)进行深度安全评估的方法。通过源代码审查、数据库分析和网络拓扑研究,测试人员能更准确地发现漏洞并提高测试效率。尽管白盒测试能深入揭露潜在威胁,但也面临信息获取难、代码理解复杂及对测试人员高技能要求的挑战。
渗透测试之白盒测试:一种深入的安全性评估方法
|
6月前
|
测试技术
深入理解与应用软件测试中的黑盒测试方法
【5月更文挑战第28天】 在现代软件开发的生命周期中,软件测试是确保产品质量和用户满意度的关键步骤。黑盒测试作为一种重要的测试手段,其核心在于无需了解内部代码结构,而是通过功能性的角度来验证软件行为的正确性。本文将探讨黑盒测试的基本概念、主要类型及其在现实场景中的应用,并讨论如何有效地设计黑盒测试用例以提高测试覆盖率和发现潜在缺陷的能力。
|
6月前
|
自然语言处理 测试技术 程序员
软件测试-----黑盒测试与白盒测试
软件测试-----黑盒测试与白盒测试
108 0
|
6月前
|
敏捷开发 测试技术 持续交付
深入白盒测试:提升软件质量与测试效率的关键策略
【4月更文挑战第3天】 在软件开发的复杂多变环境中,保证产品的质量和性能是至关重要的。白盒测试作为一种重要的软件测试方法,它通过深入检查程序的内部结构、设计和编码来确保软件按照预定要求运行。本文将探讨白盒测试的核心概念、技术及其在提升软件测试效率和质量中的应用。我们将讨论如何利用白盒测试进行有效的单元测试、集成测试和系统测试,以及如何借助现代工具和技术优化测试过程。文章还将涉及白盒测试在连续集成和敏捷开发实践中的应用,为读者提供一套全面的白盒测试策略和最佳实践。
|
测试技术
黑盒测试、白盒测试、灰盒测试的区别和各自的目的
黑盒测试、白盒测试和灰盒测试是软件测试中常用的测试方法。它们的区别和各自的目的如下: 1. 黑盒测试(Black Box Testing): - 黑盒测试是一种功能性测试方法,使用者只关注输入和输出,不考虑内部结构和实现细节。 - 黑盒测试的目的是验证软件功能是否按照需求规格说明书的要求来执行。 - 测试人员不需要了解软件的内部逻辑和代码,只需关注输入和输出的正确性。 - 黑盒测试可通过设计测试用例,模拟用户使用软件的场景,以验证系统的正确性。 2. 白盒测试(White Box Testing): - 白盒测试是一种结构性测试方法,测试人员了解软件的内部结构
957 0
|
安全 测试技术
53【软件测试】软件测试有哪些方法?白盒测试有哪些方法?黑盒测试有哪些方法?
| **黑盒测试** | 测试人员不考虑内部代码结构,仅考虑输入和输出的测试方法。|
125 0