软件质量保证与软件测试 第五周(数据流测试)+第六周(集成测试开了个头)

news2024/11/16 9:45:20

数据流测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1 定义/使用测试

一些概念的定义

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

例题理解概念

例子1:
在这里插入图片描述
在这里插入图片描述
定义清除的理解:就是说,如果路径上又遇到了其他定义节点,那就不是。

例子2:
在这里插入图片描述
在这里插入图片描述
第一步:先画程序图:
在这里插入图片描述
第二步:再画DD路径图:
在这里插入图片描述
第三步:列出所有变量的定义节点和使用节点:
在这里插入图片描述
第四步:根据上表找出定义/使用路径,并判断它是否为定义清除路径
(注意下面17-17是定义清除路径,说明了定义清除的概念与定义节点有关,和使用节点是否在中途无关,大概意思理解即可!)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 定义/使用路径覆盖指标

一些概念的定义

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

案例说明(重点,而且有点难!)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
出度>=2就是谓词使用,<=1的就是计算使用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结:
出度>=2就是谓词使用,<=1的就是计算使用

  1. 全定义准则:必须全部覆盖所有变量的所有定义节点
    eg:必须包含x3, x5, y3, y5
  2. 全谓词使用/部分计算使用准则:必须全部覆盖所有变量的所有定义节点 到 所有出度>=2的使用节点
    eg:必须包含x3 -> 4, x5 -> 4, y3 -> 7, y5 ->7
  3. 全计算使用/部分谓词使用准则:必须全部覆盖所有变量的所有定义节点 到 所有出度<=1的使用节点
    eg:必须包含x3 -> 10, x5 -> 10, y3 -> 10, y5 ->10
  4. 全定义-使用准则:包含所有列出来的定义清除路径

3 基于程序片的测试

定义

在这里插入图片描述
在这里插入图片描述
静态切片的举例:
在这里插入图片描述
eg2:如果对f变量做切片,那删掉:2, 5, 8即可

在这里插入图片描述

案例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4 指导方针和观察(总结)

在这里插入图片描述
在这里插入图片描述

结构性测试回顾

在这里插入图片描述
在这里插入图片描述

1 漏洞与冗余

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以上就是在说明,基于黑盒测试的方法无法覆盖所有基路径,因此存在漏洞。
哪怕可以覆盖所有基路径,(最坏情况)但是冗余太多了

2 用于方法评估的指标

定义

在这里插入图片描述
在这里插入图片描述

实例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 重温案例研究

在这里插入图片描述
在这里插入图片描述
第一步、程序图
在这里插入图片描述
第二步、基路径
在这里插入图片描述
第三步、依次设计边界值、最坏情况边界值、弱等价类、强等价类、决策表、决策表+健壮性的结合。测试用例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
额外,可能不太重要
在这里插入图片描述

集成测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1 集成测试概述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

集成测试的分类(这里重要一点)
在这里插入图片描述

这里的概念很重要!
在这里插入图片描述
区分非增量和增量式集成:

  1. 大爆炸集成
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. 增量式集成(后面着重讲)
    在这里插入图片描述

2 集成测试的主要方法

基于分解

在这里插入图片描述

  1. 自顶向下
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  2. 自底向上
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  3. 三明治集成
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    案例分析,进一步理解基于分解的集成:(看看就好,不重要)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

基于调用图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基于路径(难点)

在这里插入图片描述
MEP和MM路径的定义(重点)
在这里插入图片描述
案例说明1:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
案例说明2:(但感觉很繁琐,非必要不用看这里)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 案例研究

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

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

相关文章

什么是 AWS Lambda 冷启动问题?

什么是 AWS Lambda 冷启动问题&#xff1f; AWS Lambda 是一个无服务器计算平台&#xff0c;使开发人员能够快速构建和部署应用程序&#xff0c;而无需管理任何底层基础设施。但是&#xff0c;这种便利性也带来了一个缺点&#xff0c;即 AWS Lambda 冷启动问题。由于冷启动问题…

sgg第二天Java的语法

关键字 关键字(keyword)的定义和特点 定义&#xff1a;被Java语言赋予了特殊含义  特点&#xff1a;关键字中所有字母都为小写  注意,关键字不能被用作标识符&#xff01; 保留字 Java保留字&#xff1a;现有Java版本尚未使用&#xff0c;但以后版本可能会作为关键字使 …

Qt Quick - 弹出控件综述

Qt Quick - 弹出控件综述一、概述一、抽屉控件二、菜单控件三、弹出控件四、工具提示控件一、概述 控件功能Dialog带有标准按钮和标题的弹出式对话框&#xff0c;用于与用户进行短期交互Drawer可以用滑动手势打开和关闭的侧面板Menu弹出式菜单&#xff0c;可以用作上下文菜单或…

springboot事务

对于从事 java 开发工作的同学来说&#xff0c;spring 的事务肯定再熟悉不过了。 在某些业务场景下&#xff0c;如果一个请求中&#xff0c;需要同时写入多张表的数据。为了保证操作的原子性&#xff08;要么同时成功&#xff0c;要么同时失败&#xff09;&#xff0c;避免数据…

设备是如何实现延时关机的

文章目录1. 引言2. 延时关机的实现方式2.1 自建定时服务实现2.2 RocketMQ中间件实现2.2.1 生成端demo2.2.2 消费端demo3. 结尾1. 引言 在设备联动中&#xff0c;有些场景需要保持设备继续工作一段时间再关机。比如在厨房场景下&#xff0c;存在燃气灶和烟机的联动场景&#xf…

基于kettle部署图形化界面(spoon)

最近使用kettle部署windows&#xff0c;mac、linux服务遇到的坑做一个总结。 1、mac、linux部署&#xff1a; 1⃣️拉取docker镜像 docker pull hiromuhota/webspoon 2⃣️创建并运行docker容器 docker run -d -p 8080:8080 hiromuhota/webspoon --name webspoon --restar…

HTML:彩虹按钮

彩虹按钮&#xff08;盗版按钮&#xff0c;B站仿写&#xff0c;略有不同&#xff01;&#xff09; 链接 <html><head><title>demo</title><style>*{margin: 0;padding: 0;}body{display: flex;justify-content: center;align-items: center;…

【hello Linux】Linux软件管理器yum

目录 1.Linux软件管理器yum 1.1 关于lrzsz 1.2 使用yum时的注意事项 1.3 查看软件包&#xff1a;yum list 1.4 安装软件&#xff1a;yum install 1.5 卸载软件&#xff1a;yum remove 1.6 更新yum源 1.7 实战项目 Linux&#x1f337; 1.Linux软件管理器yum 在windows系统下有应…

交友项目【查询黑名单人员,移除黑名单人员】功能实现

目录 1&#xff1a;交友项目 1.1&#xff1a;查询黑名单人员 1.1.1&#xff1a;接口地址 1.1.2&#xff1a;流程分析 1.1.2&#xff1a;代码实现 1.2&#xff1a;移除黑名单人员 1.2.1&#xff1a;接口地址 1.2.2&#xff1a;流程分析 1.2.3&#xff1a;代码实现 1&am…

【LeetCode每日一题: 1039. 多边形三角剖分的最低得分 | 暴力递归=>记忆化搜索=>动态规划 | 区间dp 】

&#x1f34e;作者简介&#xff1a;硕风和炜&#xff0c;CSDN-Java领域新星创作者&#x1f3c6;&#xff0c;保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享&#x1f48e;&#x1f48e;&#x1f48e; &#x1f34e;座右…

0416 leetcode每日一题 1042. 不邻接植花

题目描述&#xff1a; 力扣 思路&#xff1a; 从题目描述中可知&#xff0c;花的种类一共有四种&#xff0c;且一定有满足题意的答案。 可以首先将所有花园中的花设置为0&#xff0c;然后遍历与其相邻的花园&#xff0c;选择没有使用过的花的种类&#xff08;1 2 3 4&#xf…

【ChatGPT】阿里版 ChatGPT 突然官宣意味着什么?

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员&#xff0c;2024届电子信息研究生 目录 阿里版 ChatGPT 突然官宣 ​ ChatGPT 技术在 AI 领域的重要性 自然语言生成 上下文连续性 多语言支持 ChatGPT 未来可能的应用场景 社交领域 商业领域 ​编辑 医疗领域…

LeetCode_单调栈_中等_1019.链表中的下一个更大节点

目录1.题目2.思路3.代码实现&#xff08;Java&#xff09;1.题目 给定一个长度为 n 的链表 head。对于列表中的每个节点&#xff0c;查找下一个更大节点的值。也就是说&#xff0c;对于每个节点&#xff0c;找到它旁边的第一个节点的值&#xff0c;这个节点的值严格大于它的值…

Vue项目创建流程

一、安装Vue和查看Vue版本 1.1安装Vue npm i -g @vue/cli1.2 查看Vue Vue -V二、新建一个Vue项目 2.1 使用命令创建项目 vue create vue-project # vue-project是项目名称Default 表示使用默认配置,默认勾选babel、eslint ,回车之后直接进入装包 Manually 自定义勾选特性…

Vector - CAPL - CAN x 总线信息获取(续2)

继续.... 目录 ErrorFrameCount -- 错误帧数量 代码示例 ErrorFrameRate -- 错误帧速率 代码示例 ExtendedFrameCount -- 扩展帧数量 代码示例 ExtendedFrameRate -- 扩展帧速率 代码示例 ExtendedRemoteFrameCount -- 远程扩展帧数量 代码示例 ExtendedRemoteFrameRa…

01背包的算法设计和代码实现以及01背包问题的复杂度计算

01背包的算法设计和代码实现以及01背包问题的复杂度计算 1.算法分析 01背包问题是一个经典的动态规划问题&#xff0c;其目标是在给定一组物品和一个背包容量的情况下&#xff0c;选择一些物品放入背包中&#xff0c;使得背包容量最大化。以下是01背包问题的算法设计和代码实…

Python中的8种运算符

✅作者简介&#xff1a;CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1&#x1f3c6; &#x1f4c3;个人主页&#xff1a;hacker707的csdn博客 &#x1f525;系列专栏&#xff1a;零基础入门篇 &#x1f4ac;个人格言&#xff1a;不断的翻越一座…

【消息队列】聊一下Kafka副本机制

副本机制的好处 副本在分布式系统下&#xff0c;不同的网络互联的机器保存同一份数据。我们知道在分布式系统中&#xff0c;都会通过数据镜像、数据冗余的方式来提升高可用性。 提供数据冗余&#xff1a;这点比较好理解&#xff0c;说白了就是通过数据冗余在不同的服务器上&a…

使用Github+picGo搭建图床,超详细教程

超详细教程使用GitHubPicGo搭建图床配置GitHub创建图床仓库生成token配置PicGo下载配置配置Typora打开Typora的设置设置picgo的监听端口号使用GitHubPicGo搭建图床 起因&#xff1a;gitee的图床挂了&#xff0c;原因是gitee的防盗链&#xff0c;所以就打算更换图床&#xff0c…

【周末闲谈】新的编程方式,程序员的未来何在?

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️周末闲谈】 系列目录 ✨第一周 二进制VS三进制 ✨第二周 文心一言&#xff0c;模仿还是超越&#xff1f; ✨第二周 畅想AR 文章目录系列目录前言了解编程语言机器语言&#x1f4bb;&#x1f4bb;&am…