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


推荐阅读
  • C语言注释工具及快捷键,删除C语言注释工具的实现思路
    本文介绍了C语言中注释的两种方式以及注释的作用,提供了删除C语言注释的工具实现思路,并分享了C语言中注释的快捷键操作方法。 ... [详细]
  • 本文介绍了Python版Protobuf的安装和使用方法,包括版本选择、编译配置、示例代码等内容。通过学习本教程,您将了解如何在Python中使用Protobuf进行数据序列化和反序列化操作,以及相关的注意事项和技巧。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • Windows 10系统的自动更新功能在修复系统漏洞、提升用户体验方面具有重要作用。然而,由于系统更新会占用大量系统资源,打扰当前任务环境,且更新频繁,很多人选择关闭自动更新功能。本文介绍了关闭win10自动更新的步骤,并探讨了其他更好的关闭方法。欢迎留言讨论。 ... [详细]
  • 本文介绍了2019年上半年内蒙古计算机软考考试的报名通知和考试时间。考试报名时间为3月1日至3月23日,考试时间为2019年5月25日。考试分为高级、中级和初级三个级别,涵盖了多个专业资格。报名采取网上报名和网上缴费的方式进行,报考人员可登录内蒙古人事考试信息网进行报名。详细内容请点击查看。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 从零学Java(10)之方法详解,喷打野你真的没我6!
    本文介绍了从零学Java系列中的第10篇文章,详解了Java中的方法。同时讨论了打野过程中喷打野的影响,以及金色打野刀对经济的增加和线上队友经济的影响。指出喷打野会导致线上经济的消减和影响队伍的团结。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 本文介绍了程序员最美的情人节礼物,即使用JS渲染的3D玫瑰,通过在QQ空间和人人网上分享这个特殊的礼物,可以给情人带来惊喜和喜悦。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 本文介绍了一种处理AJAX操作授权过期的全局方式,以解决Asp.net MVC中Session过期异常的问题。同时还介绍了基于WebImage的图片上传工具类。详细内容请参考链接:https://www.cnblogs.com/starluck/p/8284949.html ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • 如何在跨函数中使用内存?
    本文介绍了在跨函数中使用内存的方法,包括使用指针变量、动态分配内存和静态分配内存的区别。通过示例代码说明了如何正确地在不同函数中使用内存,并提醒程序员在使用动态分配内存时要手动释放内存,以防止内存泄漏。 ... [详细]
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社区 版权所有