软件质量保障——三、四

三、黑盒测试

1.黑盒测试概述

1.1 如何理解黑盒测试?

1.2 黑盒测试有什么特点?

1.3 如何实施黑盒测试?

2. 黑盒测试用例设计和生成方法(这里还是要自己找题做)

2.1 等价类划分法

步骤:

1.选择划分准则

2.确定有效等价类和无效等价类

3.设计测试用例覆盖所有的有效等价类,单独覆盖无效等价类

4.写出预期结果

2.2 因果图法

(1)步骤:

1.找出所有原因,原因即输入条件或输入条件的等价类;找出所有的结果,结果即输出结果;

2.明确所有输入条件之间的关系;明确所有输出结果之间的关系

3.找出什么样的输入条件组合会出现哪种输出结果,画出因果图;

4.把因果图转换成判定表(决策表);

5.为判定表(决策表)中的每一列表示的情况设计测试用例。

(2)判定表组成

1. 条件桩:列出所有可能问题(条件)
2. 条件项:列出条件所有可能取值
3. 动作桩:列出可能采取的操作
4. 动作项:指出在条件项的各种取值情况下应采取的动作
判定规则:贯穿条件项和动作项的一列
(3) 判定表简化
简化目标:合并相似规则
相似规则判断:
有两条或以上规则具有相同动作,并且在条件项之间存在极大相似,便可以合并
“—” :表示合并后该条件项与取值无关,称 无关条件

2.3 边界值分析法

使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应重点测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据
测试用例(数据)确认方法
边界值附近数据的确认方法
n : 存在边界值的参数个数
m : 边界值条件数
Paul Jorgensen 公式( 3 种方法的测试粒度依次增强):
1.4n + 1 :基本边界测试。每个参数取 min min+1 max-1 max 各一次,同时其他参数取典型值 nom 。 最后全部参数取典型值 nom 一次。
2. 6n + 1 (+x) :健壮性边界测试。每个参数取 min-1 min min+1 max-1 max max+1 各一次,同时其他参数取典型值 nom 。最后全部参数取典型值 nom 一次。
3. 3m :条件边界测试。每个条件取 -1 ,自身, +1 各一次。
条件边界测试
确定边界条件:
1. 每次只考虑一个参数的边界,固定其它参数
2. 补充确定的关联边界值

2.4 边界值分析和等价类划分的关系

(1)等价类划分时,往往先要确定边界值。
(2)边界值分析是等价类划分方法的补充。
(3)测试中需要将两者结合起来使用

3.第三、四次作业

1.什么是黑盒测试?黑盒测试又称基于需求的测试,为什么?

2.黑盒测试都有哪些用例设计和生成方法?

3.举例说明什么是正面测试和负面测试?

4.写出下列问题的所有等价类:

选举班委,6个候选人,每张选票最多只能选3人,那么选择4-6人的票都是废票,1个不选的是弃权票,选1-3人的是有效票。

四、白盒测试

1.白盒测试简介

1.1 定义

一种基于 源程序 代码 的测试方法。依据 源程序 代码结构与逻辑生成测试用例,以尽可能多地发现并修改源程序错误。分为 静态 动态 两种类型。

1.2 作用

主要的单元测试方法,保证软件质量的基础

1.3 实施者

单元测试阶段:一般由开发人员进行
集成测试阶段:一般由测试人员和开发人员共同完成

2.静态白盒测试

定义
在不执行软件的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程,有时称为结
构化分析。

3.动态白盒测试

特点
1. 不但要提供软件源代码,还要提供可执行程序,测试过程需要在计算机上执行程序 .
2. 对程序模块中的所有独立执行路径至少执行一次
3. 对所有逻辑判定的取值( )都至少测试一次
4. 在上下边界及可操作范围内运行所有循环
5. 测试内部数据结构的有效性

3.1基于控制流的测试

3.1.1覆盖准则

1.语句覆盖

2.判定覆盖(判定节点真假都要各取一次)

3.条件覆盖(每一个原子条件都要取真取假各一次)

4.条件——判定覆盖(同时满足条件和判断覆盖)

5.路径覆盖:2^x(x为分支次数)
它是一种比较强的覆盖标准,但不能替代条件覆
盖和条件组合覆盖标准。

3.1.2 基本路径测试

(1)基本路径覆盖:根据基本路径构造测试用例,保证每条基本路径至少执行一次

(2)又称独立程序路径,是指任何一条贯穿程序的路径,该路径至少包含一条不同于其他路径的边

(3)基本路径的两个性质

3.1.3 循环处理方法

注意简单循环适用于边界值测试的6n+1公式

3.2基于数据流的测试

例题:

步骤:

1.画出DFG

2.分别找出D节点和U节点

3.找DU路径,每个D节点到每个U节点各一次

4.约简掉被覆盖的路径

5.设计测试用例

4.第五次作业

1.为什么说测试用例是软件测试的基础,测试用例的好坏决定了测试

2.请说说测试覆盖准则的重要意义,白盒测试和黑盒测试的测试覆盖准则有什么不同?

3.路径覆盖和条件覆盖哪个更强?路径覆盖和条件组合覆盖呢?

4.基本路径的两个重要性质是什么?举例说明。

5. 写出下面程序的语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖的测试用例和预期结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/22389.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BI平台概述

随着数字化浪潮的推进,企业对于数据驱动决策的需求日益增长。纷享销客作为一款领先的CRM平台,一直致力于帮助企业实现销售管理的高效与智能。纷享销客一体化BI智能分析平台作为CRM平台中的重要一环,旨在为企业提供更加全面、深入的数据分析能…

HBuilderX编写APP一、获取token

一、新建项目 二、从onenet获取key.js 1、下载之后的压缩包,解压2、关键就是找到key.js 3、将这个key.js复制到刚才的目录下面去 4、这个key.js文件就是生成token的代码 5、只要调用createCommonToken(params)这个函数,就可以实现生成token了 其中onload…

Java多线程核心工具类

1.Thread类:代表一个线程。你可以通过继承Thread类或实现Runnable接口来创建线程。 2.Executor框架:java.util.concurrent.Executors和java.util.concurrent.Executor接口提供了一种创建和管理线程池的方法,可以减少在创建和销毁线程上的开销…

【TB作品】msp430g2553单片机,OLED,PCF8591,ADC,DAC

硬件 OLED PCF8591 /** OLED* VCC GND* SCL接P2^0* SDA接P2^1*//** PCF8591* VCC GND* SCL接P1^4* SDA接P1^5*//* 板子上按键 P1.3 *//* 单片机ADC输入引脚 P1.1 *//* 说明:将PCF8591的DAC输出接到单片机ADC输入引脚 P1.1,单片机采集电压并显示 */功能…

Docker run 命令常用参数详解

Docker run 命令提供了丰富的参数选项,用于配置容器的各种设置。以下是docker run命令的主要参数详解, 主要参数详解 后台运行与前台交互 -d, --detach: 在后台运行容器,并返回容器ID。-it: 分配一个伪终端(pseudo-TTY&#xff0…

RGB转LAB,HSV

Excel如下 目标 代码(改下两个地址就可以) import pandas as pd import colorspacious import colorsys# 读取Excel文件 df pd.read_excel(未分类output.xlsx)# 定义RGB到LAB和HSV的转换函数 def rgb_to_lab(rgb):lab colorspacious.cspace_convert(r…

Layui:一款强大的前端UI框架

随着互联网技术的快速发展,前端技术也在不断更新和演进。前端工程师们面临着越来越多的挑战,需要在短时间内构建出高质量、高效率的网页应用。为了提高开发效率和降低开发难度,许多前端UI框架应运而生。在这些框架中,Layui凭借其优…

Git-lfs入门使用教程

在备份我的毕设到github私有库的时候,发现git对于单文件大于100MB的会限制上传,一番折腾一下发现了git-lfs [Git LFS(Large File Storage,大文件存储)是 Github 开发的一个Git 的扩展,用于实现 Git 对大文件的支持]。 …

揭秘Linux启动的层层面纱,一文看懂从黑屏到界面的精彩之旅

从按下开机键到Linux系统界面显示,这中间究竟经历了怎样的过程?本文将为您一一揭开Linux启动的神秘面纱,详细剖析每个环节的工作原理,让你从内核出生到系统服务启动,一路见证这个过程的壮阔与精彩。 一、概述 Linux系统的启动过…

【场景题】如何排查CPU偏高的问题

为了解决CPU偏高的问题,我们首先看一下每一个进程的CPU占用情况,使用命令Top 可以看见是进程id为2266的进程里面的java程序,占用了CPU90%使用情况 所以我们需要找到是哪一个代码导致的这样的情况,由于代码是线程执行的&#xff…

测绘GIS和遥感领域比较好的公众号有哪些

测绘GIS和遥感领域,微信公众号作为信息传播和知识分享的重要渠道,为从业者提供了一个快速获取行业动态、技术进展和职业发展机会的平台。分享一些在测绘GIS和遥感领域表现突出的公众号推荐: 1. 慧天地:慧天地是一个知名的测绘公众…

【数据结构】穿梭在二叉树的时间隧道:顺序存储的实现

专栏引入 哈喽大家好,我是野生的编程萌新,首先感谢大家的观看。数据结构的学习者大多有这样的想法:数据结构很重要,一定要学好,但数据结构比较抽象,有些算法理解起来很困难,学的很累。我想让大家…

CDN(Content Delivery Network)内容分发网络原理、组成、访问过程、动静态加速、作用详解

CDN简介 什么是CND CDN(Content Delivery Network)的缩写,是一种利用分布式节点技术,在全球部署服务器,即时地将网站、应用视频、音频等静态或动态资源内容分发到用户所在的最近节点,提高用户访问这些内容…

PDF分页处理:技术与实践

引言 在数字化办公和学习中,PDF文件因其便携性和格式稳定性而广受欢迎。然而,处理大型PDF文件时,我们经常需要将其拆分成单独的页面,以便于管理和分享。本文将探讨如何使用Python编程语言和一些流行的库来实现PDF文件的分页处理。…

管道液位传感器在蒸汽清洗机的应用

管道光电液位传感器采用了先进的光学感应原理,无需机械运动,具有长久的寿命和稳定的性能。与传统的机械式和电容式传感器相比,管道光电液位传感器具有更高的精度和可靠性,解决了机械式传感器容易卡死失效和电容式传感器感度衰减的…

数据结构之初始泛型

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏:数据结构(Java版) 目录 深入了解包装类 包装类的由来 装箱与拆箱 面试题 泛型 泛型的语法与使用…

springboot+elementui健康饮食系统

此系统是springboot健康饮食管理平台 得简化版,适合期末大作业 系统包括 管理员端和用户端 1.用户端注册即可登录到用户端,用户端包括首页轮播图,以及个人中心,个人信息修改,头像修改,后台根据用户信息&am…

构造+割点,F2. Spanning Tree with One Fixed Degree

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 Problem - 1133F2 - Codeforces 二、解题报告 1、思路分析 考虑以根节点为割点,会有若干个连通块 连通块的数目为根节点至少要连出去的边,不妨记为mi 如果mi > D,那…

mysql终端使用中的错误

在这个过程中,出现了几个问题: 在退出 MySQL 后,你尝试再次使用 mysql 命令登录,但系统提示找不到该命令。这可能是因为 MySQL 的执行文件路径没有加入到系统的环境变量中。你可以尝试使用绝对路径来运行 mysql 命令,或…

mac环境基于llama3和metaGPT自动开发2048游戏

1.准备虚拟环境 conda create -n metagpt python3.9 && conda activate metagpt 2.安装metagpt pip install --upgrade metagpt 3.初始化配置文件 metagpt --init-config 4. 安装llama3 5. 修改配置文件 6.让metegpt自动开发2048游戏 7.经过多轮迭代,最终…