软件质量保障——三、四

三、黑盒测试

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. 写出下面程序的语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖的测试用例和预期结果。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

设置电脑定时关机

1.使用快捷键winR 打开运行界面 2.输入cmd ,点击确认,打开命令行窗口,输入 shutdown -s -t 100,回车执行命令,自动关机设置成功 shutdown: 这是主命令,用于执行关闭或重启操作。-s: 这个参数用于指定执行关…

flask音乐交流平台-计算机毕业设计源码57105

摘要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中,应用软件的工作规…

kafka-生产者监听器(SpringBoot整合Kafka)

文章目录 1、生产者监听器1.1、创建生产者监听器1.2、发送消息测试1.3、使用Java代码创建主题分区副本1.4、application.yml配置----v1版1.5、屏蔽 kafka debug 日志 logback.xml1.6、引入spring-kafka依赖1.7、控制台日志 1、生产者监听器 1.1、创建生产者监听器 package co…

鸿蒙开发接口安全:【@ohos.abilityAccessCtrl (访问控制管理)】

访问控制管理 说明: 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 import abilityAccessCtrl from ohos.abilityAccessCtrlabilityAccessCtrl.createAtManager createAtManager(): AtMan…

用户管理的小demo --登录:

目录 1、建库、建表 1.1 连接数据库后,在idea中 通过快捷方式 自动导入实体类 1.2 实体类代码 2、idea中的准备工作 2.1 在父工程下 新建子工程 2.2 在子工程下 添加webapp、pom.xml设置为 war的打包方式 2.3 在父工程下的pom.xml中 添加依赖 2.3.1 mysql的…

基于STC12C5A60S2系列1T 8051单片机实现一主单片机与一从单片机相互发送数据的RS485通信功能

基于STC12C5A60S2系列1T 8051单片机实现一主单片机与一从单片机相互发送数据的RS485通信功能的RS485通信功能 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机串口通信介绍STC12C5A60S2系列1T 8051单片机串口通信的结构基于STC12C5A60S2系列1T 8051单片机串…

力扣hot100学习记录(十一)

24. 两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 题意 两两交换链表中的相邻节点 思路 先创建一个…

机器学习知识点总结

简介:随着人工智能(AI)蓬勃发展,也有越来越多的人涌入到这一行业。下面简单介绍一下机器学习的各大领域,机器学习包含深度学习以及强化学习,在本节的机器学习中主要阐述一下机器学习的线性回归逻辑回归&…

嘉之音:十年磨一剑 敢为天下先

一个产品创新 一个行业成长 一段人生价值 不断积累、沉淀、创新,终将实现其价值。 前十年,嘉之音经历了传统建材行业的变迁;声学聚酯自2010年初诞生,现在正在从第一个十年萌芽期进入高速成长黄金期。近年来,市场的不…

A6370超速保护监控器

A6370监控器是AMS 6300 SIS超速保护系统的一部分,并且 与A6371一起安装在19英寸机架中(84HP宽,3RU高) 系统底板。一个AMS 6300 SIS由三个保护监视器(A6370)组成 和一个背板(A6371)。 该系统设计用于涡流传感器、霍尔元件传感器和 磁性(VR)传感器。 传感器…

鸿蒙Ability Kit(程序框架服务)【UIExtensionAbility】

UIExtensionAbility 概述 [UIExtensionAbility]是UI类型的ExtensionAbility组件,需要与[UIExtensionComponent]一起配合使用,开发者可以在UIAbility的页面中通过UIExtensionComponent嵌入提供方应用的UIExtensionAbility提供的UI。UIExtensionAbility会…

strcpy、strncpy、strcat、strncat、strcmp、strstr字符串函数的使用和模拟

strcpy的使用和模拟&#xff08;作用&#xff09; 将一个字符串的内容复制到另外一个字符串中代替掉。 strcpy的使用效果 #include <stdio.h> #include <string.h>int main () {char str1[]"Sample string";char str2[40];char str3[40];strcpy (str2…

【学习笔记】Windows GDI绘图(十一)Graphics详解(下)

文章目录 Graphics的方法Graphics.FromImageSetClip设置裁切区域IntersectClip更新为相交裁切区域TranslateClip平移裁切区域IsVisible判断点或矩形是否在裁切区域内MeasureCharacterRanges测量字符区域MeasureString测量文本大小MultiplyTransform矩阵变换 Graphics的方法 Gr…

大模型时代的具身智能系列专题(九)

NYU Lerrel Pinto团队 Lerrel Pinto是NYU Courant的计算机科学助理教授&#xff0c;也是用机器人和人工智能实验室(CILVR小组)的一员。在加州大学伯克利分校读博士后&#xff0c;在CMU机器人研究所读博士&#xff0c;在印度理工学院古瓦哈蒂读本科。研究目标是让机器人在我们生…

JDBC学习笔记(二)进阶篇

一、JDBC 扩展 1.1 实体类和ROM 实体类代码&#xff1a; package com.atguigu.advanced.pojo;//类名就是数据库表的 t_ 后面的单词全写 public class Employee {private Integer empId;//emp_idprivate String empName;//emp_nameprivate Double empSalary;//emp_salarypriva…

二叉树遍历 和 线索二叉树

文章目录 1.1 二叉树遍历1.1 前提问题1&#xff1a; 什么叫二叉树的遍历&#xff1f;二叉树的三种遍历&#xff1a;三个概念&#xff1a;遍历 和 访问 和 经过重要概念&#xff1a;遍历过程中的经过节点&#xff0c;不代表访问节点 问题2&#xff1a;遍历和访问的联系&#xff…

利用conda进行R的安装

1.miniconda3的安装 官网&#xff1a;Miniconda — Conda documentation 找到对应系统、Python版本下载 wget https://mirrors.ustc.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh #wget -c https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x…

Python项目代码太多if-else? 这样优化才优雅!

前言 代码中不可避免地会出现复杂的if-else条件逻辑,而简化这些条件表达式是一种提高代码可读性极为实用的技巧。 在 Python 中,有多种方法可以避免复杂的 if-else 条件逻辑,使代码更加清晰和易于维护。 筑基期 提前 return,去掉多余的 else 在 Python 中,使用"提…

C++基础编程100题-003 OpenJudge-1.1-05 输出保留12位小数的浮点数

更多资源请关注纽扣编程微信公众号 http://noi.openjudge.cn/ch0101/05/ 描述 读入一个双精度浮点数&#xff0c;保留12位小数&#xff0c;输出这个浮点数。 输入 只有一行&#xff0c;一个双精度浮点数。 输出 也只有一行&#xff0c;保留12位小数的浮点数。 样例输入…

Day 42 LVS四层负载均衡

一&#xff1a;负载均衡简介 1.集群是什么 ​ 集群&#xff08;cluster&#xff09;技术是一种较新的技术&#xff0c;通过集群技术&#xff0c;可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益&#xff0c;其任务调度则是集群系统中的核心技术 …