软件质量保护与测试(第2版)学习总结第十章 黑盒测试

简介: 本文是《软件质量保护与测试》(第2版)第十章的学习总结,介绍了黑盒测试的基本概念和方法,包括等价类划分、边界值分析和因果图法,并通过具体例子展示了如何设计测试用例来验证软件的功能性需求。

设计测试用例的唯一规则:覆盖所有特征,但并不创建太多的测试用例。 ---Tsuneo Yamaura

1、黑盒测试是对程序接口的测试

2、黑盒测试注重于测试软件的功能性需求

3、黑盒测试不需要了解程序源代码

10.1 等价类划分

#include<iostream>
using namespace std;
int main()
{
   int a;
   int b;
   int c;
   cout<<"请输入两个1~100的整数:"<<endl;
   cin>>a>>b;
   if((a>=1&&a<=100)&&(b>=1&&b<=100))
   {
       c=a*b;
       cout<<"两个数乘积为"<<c<<endl;
   }
   return 0;
}
  1. 两个整数都在1~100之间;(有效等价类)
  2. 两个整数中至少有一个小于1或大于100;(无效等价类)
  3. 输入的不是整数。(无效等价类)

而书上的解法则是:

划分等价类:

  1、两个整数都在1~100之间;(有效等价类)

  2、两个整数中至少有一个小于1(无效等价类)

  3、两个整数中至少大于100;(无效等价类)

所以书上的测试用例,则会是:

用例编号 所属等价类 a b 乘积
1 1 2 3 6
2 2 1 -10 提示请输入1~100的整数
3 3 2 200 提示请输入1~100的整数

在看一道题

比如说设三角形的3边为A、B、C 满足条件A>0 B>0 C>0 , A+B>C , B+C>A , A+C>B

如果是等腰的,还要判断A=B,或者 B=C 或者A=C

如果是等边的,则需要判断是否A=B,且B=C,且A=C

等价类划分

测试用例

10.2 边界值分析

假设有一个需要输入年龄的程序,年龄的取值范围是 1<age<120之间。那么我们可以使用边界值分析法来设计测试用例,以保证程序的正确性。

根据边界值分析法,我们需要选取以下测试用例:

  1. 输入年龄为1岁,这是年龄的最小值,是一个边界值。
  2. 输入年龄为120岁,这是年龄的最大值,也是一个边界值。
  3. 输入年龄为2岁,这是一个等价类内的值,但是在1岁和3岁的边界上,也需要进行测试。
  4. 输入年龄为119岁,同样是一个等价类内的值,但是在118岁和120岁的边界上,也需要进行测试。

10.3 因果图

可以知道中间状态有两种。

即已投币,已按钮

原因:c1:投入1元5角硬币 ,c2:投入两元硬币 ,c3:按“可乐”按钮 ,c4:按"雪碧"按钮 c5: 按“红茶”按钮。

结果:a1:退还5角硬币 , a2:送出“可乐”饮料 , a3:送出"雪碧"饮料 , a4: 送出"红茶"饮料

决策表

我来解释一波,这个投1元5角的,可以依次按“可乐”,“雪碧”,“红茶”,还有什么都不按的

所以有四个在这个上面为1的。

同理二元的也是一样,有四个。

还有三个是没有投币,就按“可乐”,“雪碧”,“红茶”按钮的,所以一共4+4+3=11个

目录
相关文章
|
2月前
|
Java 测试技术 网络安全
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
137 0
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
|
7月前
|
人工智能 安全 网络安全
Burp Suite Professional 2025.5 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.5 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件
334 3
|
3月前
|
人工智能 边缘计算 搜索推荐
AI产品测试学习路径全解析:从业务场景到代码实践
本文深入解析AI测试的核心技能与学习路径,涵盖业务理解、模型指标计算与性能测试三大阶段,助力掌握分类、推荐系统、计算机视觉等多场景测试方法,提升AI产品质量保障能力。
|
7月前
|
安全 测试技术 Linux
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
262 2
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
|
7月前
|
人工智能 安全 网络安全
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
396 4
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
|
6月前
|
测试技术
软考软件测评师大题——案例分析之白盒测试
历年下午案例试题一固定考察白盒测试,主要包含三大核心问题:推导逻辑条件、绘制控制流图及计算环路复杂度、确定线性无关路径集合。内容涵盖覆盖层级标准(语句、分支、判定、条件覆盖等)、控制流图构建规范(顺序、分支、循环结构转换原则)、环路复杂度计算公式以及线性无关路径生成方法。通过典型题型示例解析,如代码路径分析与验证指标,帮助考生掌握解题思路和技巧。
|
6月前
|
测试技术
软考软件评测师——可靠性测试测试方法
软件可靠性是指软件在规定条件和时间内完成预定功能的能力,受运行环境、软件规模、内部结构、开发方法及可靠性投入等因素影响。失效概率指软件运行中出现失效的可能性,可靠度为不发生失效的概率,平均无失效时间(MTTF)体现软件可靠程度。案例分析显示,嵌入式软件需满足高可靠性要求,如机载软件的可靠度需达99.99%以上,通过定量指标评估其是否达标。
|
6月前
|
安全 测试技术 持续交付
软考软件评测师——基于风险的测试技术
本文详细阐述了测试计划的核心要素与制定流程,涵盖测试范围界定、实施策略规划、资源配置及风险管理机制。通过风险识别方法论和评估模型,构建了完整的质量保障体系。同时,针对不同测试级别与类型提供具体配置建议,并提出技术选型原则与实施规范,确保测试活动高效有序开展,为项目成功奠定基础。内容结合实际经验,具有较强指导意义。
|
11月前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。