热门标签 | 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版权协议。


推荐阅读
  • 如何撰写PHP电商项目的实战经验? ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 在MPAndroidChart中,当滑动至最后一个数据点时自动加载更多数据
    在MPAndroidChart中,当用户滑动图表至最后一个数据点时,系统将自动触发加载更多数据的功能,以提供连续的数据展示体验。这一机制特别适用于需要动态更新数据的场景,如实时监控和数据分析应用。 ... [详细]
  • 程序员如何高效开发软件:实用技巧与方法
    在软件开发领域,如何提高开发效率是每个程序员关注的重点。应用软件开发涉及商业和日常生活等多个方面,其核心在于提升软件的实用性和用户体验。相较于纯粹的技术要求,应用软件更注重功能的实现和用户需求的满足。众多软件开发公司致力于这一领域,不断探索和实践高效的开发方法和技术,以确保软件的高质量交付。不同类型的应用软件,如办公自动化、财务管理、娱乐休闲等,都需根据具体应用场景进行定制化开发,以满足用户的多样化需求。 ... [详细]
  • 该算法旨在通过将字符串S与其逆序字符串S'逐字符比较,来生成一个非最小字典序的新字符串T。具体步骤为:从首字符开始,若S的当前字符小于S'的对应字符,则将S的首字符添加到T的末尾;反之则将S'的首字符添加到T的末尾。若两者相等,可任选其一。例如,当输入为"A"时,算法将如何处理?此方法在某些特定情况下可能无法达到预期效果,需进一步探讨其原因及优化方案。 ... [详细]
  • 经过半年的精心整理,我们汇总了当前市场上最全面的Android面试题解析,为移动开发人员的晋升和加薪提供了宝贵的参考资料。本书详细涵盖了从基础到高级的各类面试题,帮助读者全面提升技术实力和面试表现。章节目录包括:- 第一章:Android基础面试题- 第二章:... ... [详细]
  • 计算机专业大三学生求职技术岗位,如何撰写一份出色的简历?附赠269个精选简历模板
    对于计算机专业的大学三年级学生来说,如何撰写一份出色的技术岗位简历是一个重要的课题。本文将详细介绍简历撰写的要点和技巧,并提供269个精心挑选的简历模板,帮助你在求职过程中脱颖而出。 ... [详细]
  • 2021年度回顾与深度分析
    2021年度回顾与深度分析 ... [详细]
  • 在面对网络安全与软件开发之间的职业选择时,我经过长时间的思考,并结合个人经验及与朋友的讨论,得出了几点见解。以安全服务渗透测试岗位为例进行对比,软件开发的优势在于其薪资水平较高,同时提供了丰富的技术栈和项目经验,适合追求技术深度和广度的从业者。而网络安全则更注重安全意识和攻防技能,适合对信息安全有浓厚兴趣的人士。两者各有利弊,建议根据个人兴趣和发展目标来做出选择。 ... [详细]
  • 基于MATLAB的灰度图像直方图均衡化技术实现与分析
    本文利用MATLAB实现了灰度图像的直方图均衡化技术,并对其性能进行了详细分析。通过该方法,图像的对比度得到了显著提升,使得图像细节更加清晰可见。实验结果表明,该算法在处理低对比度图像时具有良好的效果。 ... [详细]
  • 在并发编程中,`as-if-serial`原则确保了即使编译器和处理器对指令进行重排序,单线程的执行结果也不会受到影响。这一原则要求编译器、运行时环境和处理器必须严格遵守,以保证程序的正确性。本文深入探讨了`volatile`关键字的内存模型,详细分析了其在多线程环境中的可见性和有序性特性,以及如何通过`as-if-serial`规则来确保数据的一致性和可靠性。 ... [详细]
  • 深入解析 ELF 文件格式与静态链接技术
    本文详细探讨了ELF文件格式及其在静态链接过程中的应用。在C/C++代码转化为可执行文件的过程中,需经过预处理、编译、汇编和链接等关键步骤。最终生成的可执行文件不仅包含系统可识别的机器码,还遵循了严格的文件结构规范,以确保其在操作系统中的正确加载和执行。 ... [详细]
  • 自定义包裹组件的HTML标签:实现商品数量动态增减功能 [Keep Coding]
    在本文中,我们将探讨如何通过自定义包裹组件的HTML标签来实现商品数量的动态增减功能。具体来说,我们将详细介绍如何利用React或Vue等前端框架,结合JavaScript和CSS,实现这一功能。文章将涵盖从基础的HTML结构搭建到事件处理和状态管理的全过程,帮助开发者快速掌握实现方法。此外,我们还将提供一些最佳实践和常见问题的解决方案,以确保开发过程顺利进行。 ... [详细]
  • 感谢您的邀请。在选择职业路径时,Web前端开发和软件测试是两个值得考虑的方向。然而,成为讲师则需要更多经验和专业技能的积累。通常情况下,讲师不仅需要具备深厚的技术背景,还需要在相关领域有实际工作经验,才能胜任教学任务。无论是前端还是测试方向的讲师,都需要在实践中不断磨练自己的技术和教学能力。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
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社区 版权所有