【复习】软件测试

article/2025/6/8 6:08:11

软件测试复习

  1. 试题分布

  2. 软件测试绪论

  3. 软件测试定义

  4. 软件测试分类:

  5. 软件测试目的:

  6. 测试与开发的关系

  7. 过程和流程:
    过程和流程是对同一事物不同级别的描述,并不是包含关系。过程抓大放小,流程事无巨细。
  8. 白盒测试(结构化测试)

  1. 动态测试执行被测代码;静态测试不执行(借助测试工具进行测试,但是不直接执行被测代码)
  2. 覆盖率:评估测试对于被测代码的覆盖程度。
    评估测试方案的质量。
  3. 语句覆盖 < 条件组合覆盖
  4. Fixture:配置整个测试环境
  5. Runner:运行器
    不只有一种运行器,对于不同的单元测试方式,对应不同的运行器。
  6. Assert:断言验证
  7. TestResult:收集管理结果
  8. TestCase:测试用例
  9. Suite:测试套件
  10. Parameters:参数化测试
  11. Junit运行示例:
    1. 必须在测试之前,使用@Before创建实例。
      使用assertxxx进行断言。具体有:
      1. assertEquals(val, 测试类方法);
      2. assertTrue(测试类方法);
      3. 在测试启动类上加上 @Runwith(Parameterized.class) 注解

    2. 参数化测试,可以在@SuiteClasses后面加上想要测试的类。
      注意事项:
      1. 这种必须使用Collection<Object[] data>进行接收测试参数。
      2. 使用Arrays.asList(new Object[][]{})进行设计测试参数
      3. 在参数设计的类上加上 @Parameters 注解
      4. @SuiteClasses 上面一定加上 @Runwith(Suite.class) 表明调用Suite的测试启动器。


      解释:

      添加多个测试类:

  1. 白盒测试(结构测试)方法——主要用于单元测试(逻辑覆盖)大部分情况使用基本路径测试法

  2. 语句覆盖:
    让每一条语句都执行一次
  3. 判定(分支)覆盖:
    让每个判断真和假至少经历一次。

让全是、全否都走一遍。

    1. 只要满足了判定覆盖标准就一定满足语句覆盖标准。
  1. 条件覆盖

只看每个条件(判定中的小条件,而不是整个判定P1/P2)

  1. 判定条件覆盖

     

判断和条件的真假,都要取到。
 

  1. 条件组合覆盖

     

  2. 路径覆盖

  3. 覆盖标准的关系

  4. 基本路径法


 


这个路径的数量就是环路复杂度。

  1. 黑盒测试(功能测试)

  1. 功能测试方法:
    1. 等价类划分
      1. 等价类表

      2. 测试用例表

    1. 边界值分析法
      1. 取值范围

      2. 测试用例

    1. 判定表方法
      1. 就是输入条件的完全排列组合
      2. 判定表设计

         

    1. 正交实验法
      1. 正交表的选择

      2. 例题

      3. 原则

    1. Pair-wise方法
      1. 定义

      2. 例题

    1. 因果图法
      1. 例题

      2. 步骤

      3. 例题2

         

  1. AR测试步骤:
    1. 制定计划
    2. 录制测试脚本
    3. 增强脚本
    4. 运行脚本
    5. 分析结果
  1. 增强测试脚本的目的?
    如果没有增强,这个脚本不算完整意义上的功能脚本。
    检查点是连接实测结果和预期结果之间的桥梁。
    测试结果的通过与否,是与检测点的预期结果和实际结果是否一致息息相关的;如果一致,测试通过;不一致则测试不通过。
  2. 进行功能测试,使用什么方式进行增强脚本(增加检测点)?
  3. 检测点的类型?
    文本、网页、数据库、表格
  4. 良好的测试脚本,测试数据怎么设计?
    比如白盒测试,使用条件组合覆盖。使用更多的数据驱动完成测试。
  5. 参数化测试:
    测试数据和测试逻辑分开。
  6. 性能测试

  1. 练习题
    1. 白盒测试

  1. 画流程图

  1. 题解

条件覆盖:

  • 将所有的条件摘出来
  • 写出他们的反方面
    如果判定条件有两部分组成,那就拆开为两个独立的判定条件。
  • 写出两个测试用例,满足他们
    每个测试用例满足的是一组(正+反是一组)中的其中一个。

  1. 练习5:

  2. 练习6:

  1. 各种测试方法对应的工具


http://www.hkcw.cn/article/LvlKCOxTLU.shtml

相关文章

闲谈PMIC和SBC

今天不卷&#xff0c;简单写点。 在ECU设计里&#xff0c;供电芯片选型是逃不开的话题&#xff0c;所以聊聊PMIC或者SBC的各自特点&#xff0c;小小总结下。 PMIC&#xff0c;全称Power Management Intergrated Circuits&#xff0c;听名字就很专业&#xff1a;电源管理&…

风机那么高,叶片怎么检查得到?

也许你曾见过电力巡检员爬到电杆上作检修工作&#xff0c;几层楼的高度尚且让人感觉危险值飙升&#xff0c;那巨人般高大的风机呢&#xff1f; 也许一想就让人脚底发颤。 在那些离我们普通人遥远的山上、海上&#xff0c;有这么一个群体&#xff0c;他们要在灼灼烈日下爬上14…

mac下通过anaconda安装Python

本次分享mac下通过anaconda安装Python、Jupyter Notebook、R。 anaconda安装 点击&#x1f449;https://www.anaconda.com/download&#xff0c; 点击Mac系统安装包&#xff0c; 选择Mac芯片&#xff1a;苹果芯片 or intel芯片&#xff0c; 选择苹果芯片图形界面安装&#x…

视频转换新选择:XMedia Recode v3.6.1.2,绿色便携版来袭

嘿&#xff0c;各位朋友&#xff01;今天给大家带来一款超好用的视频转换神器&#xff0c;XMedia Recode。这个工具刚刚出了新版本&#xff0c;v3.6.1.2&#xff0c;完全免费&#xff0c;没有广告&#xff0c;而且是绿色便携版&#xff0c;用起来特别方便。 使用方法超级简单&…

自驾总结_Localization

综述&#xff1a; Localizaiton的主要功能是根据车身姿态信息&#xff0c;Lidar数据&#xff0c;点云高精度地图&#xff0c;组合导航信息&#xff0c;在点云高精度地图覆盖的区域内&#xff08;时速<30km/h&#xff09;完成高精度的位姿输出。 在场景适应能力上&#xff0…

Python数据可视化科技图表绘制系列教程(一)

目录 创建多个坐标图形&#xff08;坐标系&#xff09; 图表的组成 创建图形与子图 创建子图1 创建子图2 创建子图3 创建子图4 创建子图5 添加图表元素 极坐标图1 极坐标图2 【声明】&#xff1a;未经版权人书面许可&#xff0c;任何单位或个人不得以任何形式复制、…

星动纪元的机器人大模型 VPP,泛化能力效果如何?与 VLA 技术的区别是什么?

点击上方关注 “终端研发部” 设为“星标”&#xff0c;和你一起掌握更多数据库知识 VPP 利用了大量互联网视频数据进行训练&#xff0c;直接学习人类动作&#xff0c;减轻了对于高质量机器人真机数据的依赖&#xff0c;且可在不同人形机器人本体之间自如切换&#xff0c;这有望…

SOC-ESP32S3部分:28-BLE低功耗蓝牙

飞书文档https://x509p6c8to.feishu.cn/wiki/CHcowZMLtiinuBkRhExcZN7Ynmc 蓝牙是一种短距的无线通讯技术&#xff0c;可实现固定设备、移动设备之间的数据交换&#xff0c;下图是一个蓝牙应用的分层架构&#xff0c;Application部分则是我们需要实现的内容&#xff0c;Protoc…

动态规划-1143.最长公共子序列-力扣(LeetCode)

一、题目解析 对于给定了两个字符串中&#xff0c;需要找到最长的公共子序列&#xff0c;也就是两个字符串所共同拥有的子序列。 二、算法原理 1、状态表示 dp[i][j]&#xff1a;表示s1的[0,i]和s2的[0,j]区间内所有子序列&#xff0c;最长子序列的长度 2、状态转移方程 根…

EMQX 社区版单机和集群部署

EMQ 支持 Docker&#xff0c;宿主机&#xff0c;k8s部署&#xff1b;支持单机或集群部署。以下给出EMQX社区版单机和集群部署方法 1. Docker单机部署 官方推荐最小配置&#xff1a;2核 4G 下载容器镜像 docker pull emqx/emqx:5.3.2启动容器 docker run -d --name emqx \-…

小牛电动2025新品矩阵,引领技术普惠新风潮

自2014年成立以来&#xff0c;全球高端智能电动车领导品牌小牛电动已走过十个年头&#xff0c;在全球智能城市出行领域留下了深刻印记。秉持“科技、潮流、自由”的品牌理念&#xff0c;小牛电动致力于改变出行&#xff0c;让城市生活更美好。十年来&#xff0c;小牛电动推出多…

SU-03T1烧录使用教程

一、简介 SU-03T1模块是一款由深圳机芯智能开发的低成本、低功耗、小体积的离线语音识别模组&#xff0c;适用于智能家居、各类智能小家电、86盒、玩具、灯具等需要语音操控的场景。它是SU-03T的一个版本或后续产品&#xff0c;可能在功能或性能上有所改进或特定的应用优化。 该…

SOC-ESP32S3部分:27-设备OTA

飞书文档https://x509p6c8to.feishu.cn/wiki/Hd9TwkuZ3iEQiUkjaoic5p7Knuh ESO32S3应用程序可以在运行时通过网络从服务器下载新的固件&#xff0c;然后将其存储到某个分区中&#xff0c;从而实现固件的升级功能。 在ESP-IDF中有两种方式可以进行空中(OTA)升级: 使用 app_up…

Windows清理之后,资源管理器卡顿-解决方法

一、点击本地磁盘选择属性 二、选择工具 三、选择驱动器进行优化

VBA模拟进度条

在上一章中我跟大家介绍了ProgressBar控件的使用方法&#xff0c;但由于该控件无法在64位版本的Office中运行&#xff0c;为此我们可以采用Lable控件来模拟进度条的变化&#xff0c;以解决在64位版本的Office中无进度条控件的问题。 一、设计思路 添加两个重叠的Lable标签控件…

Linux(线程概念)

目录 一 虚拟地址到物理地址的转换 1. 操作系统如何管理物理内存&#xff1a; 2. 下面来谈谈虚拟地址如何转换到物理地址&#xff1a; 3. 补充字段&#xff1a; 二 Linux中的线程 1. 先来说说进程&#xff1a; 2. 线程&#xff1a; 3. 线程相比较于进程的优缺点&#x…

手把手教你用Appsmith打造企业级低代码平台:从部署到性能调优实战

文章目录 前言1.什么是Appsmith2.Docker部署3.Appsmith简单使用4.安装cpolar内网穿透5. 配置公网地址6. 配置固定公网地址总结 前言 在当今快速变化的商业环境中&#xff0c;企业正面临内部系统建设的双重挑战。传统开发模式不仅需要漫长的开发周期&#xff08;通常需要数月&a…

PyTorch 入门学习笔记(数字识别实战)

目录 一、关于 PyTorch 的一个重要概念——神经网络 二、PyTorch 是如何解决问题的&#xff08;解决案例&#xff09; 1 案例&#xff1a;手写一个数字&#xff0c;让计算机识别出是哪个数字。 2 PyThorch 解决问题大约需要以下几个步骤&#xff1a; 3 代码示例&#xff1…

OSCP备战-BSides-Vancouver-2018-Workshop靶机详细步骤

一、靶机介绍 靶机地址&#xff1a;https://www.vulnhub.com/entry/bsides-vancouver-2018-workshop%2C231/ 靶机难度&#xff1a;中级&#xff08;CTF&#xff09; 靶机发布日期&#xff1a;2018年3月21日 靶机描述&#xff1a; Boot2root挑战旨在创建一个安全的环境&…

CANopen转Profinet 全攻略:打通施耐德变频器与西门子 300PLC通讯链路

Profinet转CAN open西门子300PLC与施耐德变频器通讯 项目 福建某公司在国外的一个工业自动化项目中&#xff0c;控制中心系统通过监控变频器的不同状态发送不同的命令启动/停止变频器&#xff0c;设定变频器的运行速度进而控制变频器所连接的伺服电机。监控中心系统使用的是西…