热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

软件测试与质量之黑盒测试:软件测试白盒测试和黑盒测试

本文主要介绍关于黑盒测试,测试用例的知识点,对【软件测试与质量之黑盒测试】和【软件测试白盒测试和黑盒测试】有兴趣的朋友可以看下由【黎扶澈】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的测试理论

本文主要介绍关于黑盒测试,测试用例的知识点,对【软件测试与质量 之黑盒测试】和【软件测试白盒测试和黑盒测试】有兴趣的朋友可以看下由【黎扶澈】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的测试理论相关技术问题。

软件测试白盒测试和黑盒测试

目录

一、黑盒测试的概念

1.1 定义

1.2 黑盒测试的基本原理

1.3 优/劣势

1.4 测试方法的评价标准

二、黑盒测试用例设计方法

2.1 边界值分析法(边界值测试)

2.1.1 产生原因

2.1.2 边界值测试流程

2.2 等价类分析法(等价类测试)

2.2.1 等级类测试流程

2.2.2 两种划分等价类的方式

2.2.3 对无效等价类设计测试用例

2.2.4 如何选择合适的覆盖指标

2.2.5 独立性假设

2.2.6 输出域的测试流程

2.3 场景分析法(基于场景的测试)

2.3.1 基本流和备选流的定义及区别

2.3.2 场景的定义


一、黑盒测试的概念 1.1 定义

只知道系统输入和预期输出,不需要了解程序内部结构和内部特性的测试方法就称为黑盒测试

1.2 黑盒测试的基本原理

 

1.3 优/劣势

优势

方法简单有效可以整体测试系统的行为开发与测试可以并行对测试人员技术要求相对较低

不足和弊端

行业门槛偏低 1.4 测试方法的评价标准

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

精确的:测试针对性强完备的:测试覆盖全面,无漏洞无冗余简单的:测试方法简单易行易于调试:缺陷定位难度小  二、黑盒测试用例设计方法 2.1 边界值分析法(边界值测试) 2.1.1 产生原因 经过长期的测试工作经验表明,在 输入域的边界或边界附近,常常会发现大量缺陷边界值测试倾向于选择系统边界或边界附近的数据来设计测试用例 2.1.2 边界值测试流程 确定有几个输入条件确定每个输入的边界点划定边界邻域delta每个边界对应3个测试数据单边界设计测试用例

输出域的边界测试用例设计流程与上述类似:

  

2.2 等价类分析法(等价类测试)

等价类就是一组具有相同处理机制的数据的集合

有效等价类 有效等价类对应有效输入域的数据有效等价类设计的测试用例用于检验被测系统 是否能够正确完成指定功能 无效等价类 无效等价类则对应无效输入域的数据无效等价类设计的测试用例被用来 考察被测系统的容错性

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

2.2.1 等级类测试流程

面向输入域的等价类测试主要步骤:

确定有几个输入条件,且应尽量从用户角度分析需求,更有利于避免改变原始输入域针对有效域和无效域分别划分等价类,并确保数据等价,避免漏洞;同时,在输入条件存在相互关联时,应注意划分等价类时兼顾这种关联性,或者,在等价类划分完成后利用其它测试方法来消除测试用例的冗余;一般情况下尽量选择 强覆盖指标,当进度压力大时可选择 弱覆盖标准设计测试用例;设计测试用例时,注意在有效域内使用组合机制,在无效域内使用单缺陷机制 2.2.2 两种划分等价类的方式 基于系统实现的等价划分(从程序员实现系统的角度出发,关注接口)基于用户需求的等价划分(从用户的角度出发,关注隐含的系统内部处理流程) 2.2.3 对无效等价类设计测试用例

采用单缺陷原则:即测试用例的失败应由单个无效等价类关联的缺陷所导致;(每个测试用例应该唯一对应一个输入的无效等价类)

对有效域和无效域可以用相同方式进行等价测试吗?

有效域内设计测试用例,应确保每个测试用例覆盖的均为有效等价类,在无效域内,则应基于单缺陷原则设计测试用例,不应该出现多个无效等价类组合成测试用例的情况

2.2.4 如何选择合适的覆盖指标 划分出最多有效等价类的那个输入条件决定弱覆盖指标的最少测试用例数;强覆盖指标下,测试用例的数量是每个输入条件所拥有的有效等价类数量的乘积 2.2.5 独立性假设 当等价类划分不彻底时,将导致测试的漏洞;

对策:划分等价类时务必仔细分析需求,严格保证数据的等价

当输入条件之间存在关联时,引入独立性原则将造成测试的冗余

对策:尽量基于关联性来划分等价类(可以创建决策表)

2.2.6 输出域的测试流程 确定有几个输出结果对每类输出结果划分等价类选择合适的覆盖标准,将等价类组合起来设计测试用例

注意:

输入域:需要严格区分有效域和无效域输出域:不存在无效输出域的概念 2.3 场景分析法(基于场景的测试)

2.3.1 基本流和备选流的定义及区别 基本流:应选择容易出错的,或者出错后导致损失严重的高风险事件流作为基本流。是从初始状态到终止状态的完整业务流程。

基本流的特点:最高风险的事件流;操作频率高;涉及业务规则复杂;涉及重要功能;涉及用户类型广泛;涉及用户数量大;涉及交互复杂;

备选流:仅是一个业务片段

 备选流的节点形式:

 起始节点从基本流的某个判定节点开始起始节点从其他备选流的某个判定节点开始终止节点是基本流上的某个状态终止节点是其他的系统终止状态备选流上的每个节点执行后可以继续往下执行,也可以返回基本流上的某个节点继续执行

基本流和备选流的区别

 

2.3.2 场景的定义

场景可以看做是基本流与备选流的有序集合。一个场景中至少应包含一条基本流 

从场景设计测试用例

找到输入条件判断是否有效条件判断是否触发条件需要取哪些测试数据得到系统预期输出

 

本文《软件测试与质量 之黑盒测试》版权归黎扶澈所有,引用软件测试与质量 之黑盒测试需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 随着网络安全威胁的不断演变,电子邮件系统成为攻击者频繁利用的目标。本文详细探讨了电子邮件系统中的常见漏洞及其潜在风险,并提供了专业的防护建议。 ... [详细]
  • 理解存储器的层次结构有助于程序员优化程序性能,通过合理安排数据在不同层级的存储位置,提升CPU的数据访问速度。本文详细探讨了静态随机访问存储器(SRAM)和动态随机访问存储器(DRAM)的工作原理及其应用场景,并介绍了存储器模块中的数据存取过程及局部性原理。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
  • 自学编程与计算机专业背景者的差异分析
    本文探讨了自学编程者和计算机专业毕业生在技能、知识结构及职业发展上的不同之处,结合实际案例分析两者的优势与劣势。 ... [详细]
  • SQLite 动态创建多个表的需求在网络上有不少讨论,但很少有详细的解决方案。本文将介绍如何在 Qt 环境中使用 QString 类轻松实现 SQLite 表的动态创建,并提供详细的步骤和示例代码。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 阅读本文大约需要3分钟。微信8.0版本的发布带来了许多令人振奋的新功能,如烟花特效和改进的悬浮窗,引发了用户的热烈反响。 ... [详细]
  • 深入理解Java泛型:JDK 5的新特性
    本文详细介绍了Java泛型的概念及其在JDK 5中的应用,通过具体代码示例解释了泛型的引入、作用和优势。同时,探讨了泛型类、泛型方法和泛型接口的实现,并深入讲解了通配符的使用。 ... [详细]
  • 作为一名程序员,从大学步入职场后,常常感受到一种难以言喻的空虚感。这种感觉或许源于对生活的不满、职业发展的瓶颈,或是日常琐事带来的压力。本文将深入探讨这种复杂的情感,并尝试寻找解决之道。 ... [详细]
  • 深入解析:阿里实战 SpringCloud 微服务架构与应用
    本文将详细介绍 SpringCloud 在微服务架构中的应用,涵盖入门、实战和案例分析。通过丰富的代码示例和实际项目经验,帮助读者全面掌握 SpringCloud 的核心技术和最佳实践。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 本文深入探讨了C++对象模型中的一些细节问题,特别是虚拟继承和析构函数的处理。通过具体代码示例和详细分析,揭示了书中某些观点的不足之处,并提供了更合理的解释。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 深入理解Spring:Aware接口、异步编程与计划任务
    本文将带你深入了解Spring框架中的 Aware 接口、异步编程以及计划任务。通过具体示例和详细解释,帮助你掌握这些核心功能的实现原理和应用场景。 ... [详细]
author-avatar
季幸静仪1255_189
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有