软件测试之黑盒测试

发布时间:2024年01月04日

概念与定义

  1. 黑盒测试:又称功能测试、数据驱动测试或基于需求规格说明书的测试。通过黑盒测试来检测每个功能是否都能正常使用。黑盒测
    试把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程。
  2. 等价类划分法:把所有可能的输入数据,即程序的输入域划分成若干互不相交的子集,称为等价类。所有子集的并集则构成整个输入域。然后从每一个子集中选取少量具有代表性的数据作为测试用例。
  3. 有效等价类:对于程序规格说明而言,由合理的、有意义的输入数据构成的集合。
  4. 无效等价类:对于程序规格说明而言,由不合理的、无意义的输入数据构成的集合。(根据具体问题,无效等价类存在至少一个或多个)
  5. 边界值测试:在输入或输出变量范围的边界值上进行测试的一种黑盒测试方法。
  6. 边界点:可能导致被测系统内部处理机制发生变化的点。
  7. 标准边界值测试:最小值,略高于最小值,正常值,略低于最大值,最大值。产生4n+1个测试用例。
  8. 健壮边界值测试:略小于最小值,最小值,略高于最小值,正常值,略低于最大值,最大值,略大于最大值。产生6n+1个测试用例。
  9. 场景法:基于系统业务,分析触发的事件,判断控制流形成测试场景,围绕着事件流和场景进行的测试。
  10. 场景法以事件流为核心。
  11. 用例场景:从系统的某个初始状态开始,到达某个结束状态为止,所经过的路径。
  12. 基本流:从初始态到终止态过程中最主要的业务流程。基本流只有一个。往往选择高风险事件流作为基本流。
  13. 备选流:以基本流为基础,在基本流所经过的每个判定节点处满足不同的触发条件而导致的其它事件流。
  14. 场景:基本流和备选流的有序集合。一个场景中至少应包含一条基本流或者由一条基本流和零到多条备选流构成。

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接【点击文末小卡片免费领取资料文档】

软件测试视频教程观看处:

【2024最新版】Python自动化测试15天从入门到精通,10个项目实战,允许白嫖。。。

简答

黑盒测试的优缺点

优点

  • 方法简单有效;
  • 可以整体测试系统的行为;
  • 开发与测试可以并行;
  • 对测试人员技术要求相对较低;
  • 容易实现自动化测试;
  • 依据测试用例有针对性地寻找问题,定位更准确,容易生成测试数据。

缺点

  • 无法测试代码;
  • 如果需求规格说明设计有误,很难发现错误所在;
  • 测试不能充分地进行;
  • 准确性取决于测试用例的设计;
  • 自动化测试的复用性较低。

黑盒测试方法的评价标准

在最短时间内,以最少的人力,有利于发现最多的,以及最严重的缺陷。

  • 精确的:测试针对性强
  • 完备的:测试覆盖全面,无漏洞
  • 无冗余:测试用例所关联的风险有所区别
  • 简单的:测试方法简单易行
  • 易于调试:缺陷定位难度小

对于测试用例设计的要求:

  • 测试用例的覆盖度:高
  • 测试用例的数量:少
  • 测试用例的冗余度:低
  • 测试用例的缺陷定位能力:高
  • 测试方法的复杂度:低

等价类的意义

  • 完备性:整个输入域提供一种形式的完备性
  • 无冗余:若互不相交则可保证一种形式的无冗余性

等价类划分方法

1.当输入是连续数值区间:一个有效等价类和两个无效等价类

image-20231230182016071

2.当输入是一组特定取值:一个有效等价类和一个无效等价类

image-20231230182111661

3.当输入是二值属性,例如布尔值,有两种处理方式:

①一个有效等价类(True),一个无效等价类(False)

②将True和False都视为有效等价类,即两个有效等价类,和一个无效等价类(非布尔值)

4.当输入是一组值(n个值):n个有效等价类,一个无效等价类

image-20231230182440126

5.当输入被规定了若干条必须遵守的规则(例如用户名):一个有效等价类和若干个无效等价类(从不同角度违反规则)

拆分无效等价类的时候,一次只能违反一条规则,即要遵守单缺陷原则

等价类测试用例的覆盖要求

  • 弱覆盖:测试用例应覆盖所有的有效等价类
  • 强覆盖:测试用例应覆盖所有的有效等价类的所有组合

等价类测试的流程

  1. 确定有几个输入条件
  2. 划分每个输入条件的等价类(有效等价类、无效等价类)
  3. 选择合适的覆盖标准(强覆盖、弱覆盖)
  4. 设计测试用例

场景法设计测试用例的步骤

  1. 理解软件的业务需求,确定业务流程
  2. 绘制流程图,从流程图中定义基本流和备选流,然后定义测试场景
  3. 将测试场景的多种输入条件与场景对应起来,形成场景条件表
  4. 根据场景条件表设计测试用例

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

文章来源:https://blog.csdn.net/huace3852/article/details/135388427
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。