【软件测试】测试用例设计要点总结

news2024/11/26 8:31:52

文章目录

  • 考试题型
  • 简答题
  • (一) 等价类划分
    • 1.1 划分等价类
    • 1.2 设计测试用例
  • (二) 边界值分析
    • 2.1 列出边界值分析表
    • 2.2 设计测试用例
  • (三) 因果图分析
    • 3.1 确定原因和结果
    • 3.2 确定原因和结果之间的逻辑关系
    • 3.3 在因果图上使用标准的符号标明约束条件
  • (四) 判定表驱动
    • 4.1 将因果图转换为判定表
    • 4.2 设计测试用例
  • (五) 逻辑覆盖
  • (六) 基本路径测试
    • 6.1 画出程序控制流程图
    • 6.2 计算程序环路复杂性
    • 6.3 确定独立路径集合
    • 6.4 设计测试用例


考试题型

  • 简答题 (共 4 题,每题 5 分,共 20 分)
  • 等价类划分 (16 分)
  • 边界值分析 (13 分)
  • 判定表驱动 (22 分)
  • 逻辑覆盖 (12 分)
  • 基本路径测试 (17 分)
  • 注意事项:
    • 尽快检查在线测试是否存在误判情况
    • 核对实验成绩及扣分情况
    • 注意答题顺序 (建议按难易程度+分值)
    • 不可使用铅笔绘图 (因果图和程序控制流程图)
    • 测试用例中每个输入条件都必须有具体确定的数值
    • 表头中标注编号的部分只给出编号除了逻辑覆盖法的条件覆盖以外,其他测试至多有一种无效情况存在(null也所做一种)

简答题

  • 重点复习:
    • 软件质量分析【ISO】
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
    • 手工测试与自动化测试【软件测试的分类】
      在这里插入图片描述
    • 因果图分析法确定中间结果的一般原则【因果分析法设计要点】
      在这里插入图片描述
    • 逻辑覆盖法与基本路径测试法【逻辑覆盖法与基本路径测试法】
      在这里插入图片描述
    • 单元测试的任务及采用方法【单元测试的目标和方法】
      在这里插入图片描述

(一) 等价类划分

1.1 划分等价类

  • 等价类设计允许适度冗余;
  • 输入条件包含复合情况需拆分;
  • 用于验证系统功能正确性的有效等价类允许合并;
  • 分析等价类时需注意隐含条件;
  • 有效等价类和无效等价类需分别顺序编号;
  • 输出域不为海量数据时,无需分析等价类;
  • 输入条件间存在依赖关系时只需在测试用例设计过程中有所体现,等价类设计时作为独 立条件分析。

1.2 设计测试用例

  • 预期输出需与题目规则要求完全一致;
  • 一个测试用例最多只能覆盖一个无效等价类;
  • 对于验证健壮性的测试用例,覆盖等价类编号只需突出无效等价类即可;
  • 测试用例设计需同时兼顾输入和输出等价类的覆盖。

(二) 边界值分析

2.1 列出边界值分析表

  • 只需为与数值、区间、范围、时间有关的等价类分析边界值;
  • 七点法代表一种选值的思想,不需要硬凑七个数据,需具体问题具体分析;
  • 若为无界区间[a,+∞] ,则右边界选择一个足够大的数代替无穷大即可;\需选择固定取值作为测试用例的正常值。

2.2 设计测试用例

  • 所有测试用例的数据均应取自边界值分析表;
  • 一个测试用例最多只能覆盖一个边界值,其余均取正常值;
  • 与数值无关的等价类在测试用例设计过程中随意选取合法有效输入即可。

(三) 因果图分析

3.1 确定原因和结果

  • 原因:输入条件的有效等价类 ( 一般规则)
  • 结果:预期输出
  • 注意事项:
    • 原因和结果均以逻辑值形式给出;
    • 建议以有效等价类形式描述原因;
    • 为了确保测试的充分性,复合条件需拆分为简单条件 (关系表达式);
    • 原因和结果的编号及描述需做到规范准确。

3.2 确定原因和结果之间的逻辑关系

  • 不可使用铅笔绘制因果图;
  • 分析问题的一般方式为:从结果入手,分析结果和原因间存在怎样的关系;
  • 如果结果间存在递进关系或者嵌套关系,则必须按输入顺序进行分析;
  • 中间结果的确定:多个输入条件间存在更为紧密的关系;
  • 某输出以某输入作为前提条件 (注意需求中的描述) ,为了后续分析的顺利进行,必须 增加中间结果。

3.3 在因果图上使用标准的符号标明约束条件

  • 原因间约束的确定:需从最终用户角度出发,考虑对用户输入的限制。

(四) 判定表驱动

4.1 将因果图转换为判定表

  • 对于不合理规则,根据题目要求确定是否列出;
  • 中间结果无需列出,条件桩和动作桩只需列出原因和结果的编号即可;
  • 为了减少规则及测试用例数量,应尽可能进行合并化简;
  • 避免重复合并及遗漏合并现象发生,建议按输入条件的顺序进行合并。
  • 判定表驱动法考虑排列组合问题。
  • 合并化简注意事项:
    • 对于输入条件过多的情况,可以一开始就考虑合并化简;
    • 合并化简的前提为动作项相同;
    • 必须通过“-”表示条件无关或者条件不适用。

4.2 设计测试用例

  • 测试用例中每个输入条件都必须有具体确定的数值,不可用“-”或“取值无关”表示;
  • 测试用例若为空,则任何信息均不填写,不可用“为空”或“NULL”表示。

(五) 逻辑覆盖

  • 基本设计思路:
    • 按照“分类设计,严卡概念”的基本思想开展测试设计任务;
    • 合理利用真值表,先确定判断或条件的取值,然后选择测试数据;
    • 先设计覆盖率低的测试用例,然后对照覆盖率高的要求,查缺补漏;
    • 避免出现冗余或遗漏。
      在这里插入图片描述
  • 注意事项:
    • 真值表中必须通过“-”表示条件不适用;
    • 逻辑覆盖分析中只考虑判定间的嵌套关系,不考虑条件间的逻辑关系;
    • 对于真值表中验证不到的输入条件,测试用例中必须给出具体且有效的数据;
    • 覆盖路径只需给出编号即可。

(六) 基本路径测试

6.1 画出程序控制流程图

  • 复合条件下判定结点必须拆分为简单条件 (关系表达式);
  • 适当合并处理结点;
  • 根据情况适当增加汇合点 (分支结构结束、程序出口等)。
  • 绘图结束后,确认以下内容:
    • 需保证每个条件结点出度等于 2;
    • 图的绘制保证单入口单出口;
    • 避免出现交叉线导致区域无法准确识别;
    • 在图中需标出区域,注意 1 个开放区域;
    • 汇合点必须给出编号。

6.2 计算程序环路复杂性

  • 三个公式必须给出完整计算过程和结果。
  • 由于程序流程图中已标出条件结点的序号,则公式 P+1 可用于检验其他公式结果是否一致, 以及绘图是否正确。

6.3 确定独立路径集合

  • 独立路径数≤环路复杂性,若程序控制流程图中存在局部连锁结构,则独立路径数<环路 复杂性;
  • 基本路径覆盖需保证程序控制流程图中所有结点和控制流线(弧)的覆盖;
  • 独立路径列举过程中避免出现冗余或遗漏;
  • 独立路径需排除不合理情况。

6.4 设计测试用例

  • 测试用例中每个输入条件都必须有具体确定的数值,即使覆盖的独立路径未验证到某个 输入条件;
  • 覆盖独立路径只需给出编号即可。

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

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

相关文章

【轻量化网络系列(7)】EfficientNetV2论文超详细解读(翻译 +学习笔记+代码实现)

前言 今天我们要学习的是EfficientNetV2 &#xff0c;该网络主要使用训练感知神经结构搜索和缩放的组合&#xff1b;在EfficientNetV1的基础上&#xff0c;引入了Fused-MBConv到搜索空间中&#xff1b;引入渐进式学习策略、自适应正则强度调整机制使得训练更快&#xff1b;进一…

深入了解 OkHttp 协议:优雅的网络请求框架

&#x1f604;作者简介&#xff1a; 小曾同学.com,一个致力于测试开发的博主⛽️&#xff0c;主要职责&#xff1a;测试开发、CI/CD 如果文章知识点有错误的地方&#xff0c;还请大家指正&#xff0c;让我们一起学习&#xff0c;一起进步。&#x1f60a; 座右铭&#xff1a;不想…

Spring Boot项目的搭建和运行

✨Spring Boot项目的搭建和运行 &#x1f351;Spring Boot概述&#x1f34a;&#x1f34a;传统框架技术存在的问题&#x1f34a;&#x1f34a;主要特点&#x1f34a;&#x1f34a;环境要求 &#x1f351;聚合工程/父子模块&#x1f351;第一个Spring Boot项目&#x1f351;目录…

《UNUX环境高级编程》(1)UNIX基础

1、引言 2、UNIX体系结构 操作系统 一种软件&#xff0c;控制计算机硬件资源&#xff0c;提供程序运行环境。操作系统包含了内核和一些其他软件&#xff08;如shell、公用函数库、应用程序等&#xff09;。例如Linux就是GNU操作系统的内核&#xff0c;因此也称为GNU/Linux操作…

Netty实战(十五)

UDP广播事件&#xff08;一&#xff09;UDP简介和示例程序 一、UDP基础1.2 UDP介绍1.2.1 UDP和TCP的区别 1.3 UDP广播1.3.1 单播模式1.3.2 UDP的传输模式 二、UDP示例程序三、消息 POJO: LogEvent 一、UDP基础 到目前为止&#xff0c;我们已经见过的绝大多数的例子都使用了基于…

Android系统中最重要的一个组件【Framework】

Android Framework是Android系统中最重要的一个组件&#xff0c;它为Android应用开发者提供了一套完整而稳定的API框架&#xff0c;可以方便地实现各种应用功能。Android市场对Framework的需求量非常大&#xff0c;尤其在当前移动互联网时代&#xff0c;Android应用的市场需求也…

SpringCloud Alibaba-Nacos

SpringCloud Alibaba-Nacos 1. Nacos安装1.1 Nacos概要1.2 Nacos架构1.3 Nacos安装1.3.1 单机模式 Derby安装1.3.2 单机模式 MySQL安装1.3.3 Docker 安装Nacos 2 Nacos功能应用2.1 Nacos服务注册与发现2.2 负载均衡2.3 配置中心2.3.1 配置管理2.3.2 多环境切换2.3.3 共享/扩展 …

Spark集群部署和启动与关闭

上一篇我们讲了Hadoop集群部署和启动与关闭&#xff0c;今天我们讲一下Spark集群部署和启动与关闭。首先我们先来了解一下Spark集群部署模式&#xff0c;分别有以下三种&#xff1a; Standalone   Standalone&#xff08;独立模式&#xff09;是Spark一种简单的集群部署模式&…

随着用户体验质量的不断追求,性能优化成了Android开发中的重要一方面

在移动互联网时代&#xff0c;Android系统的使用越来越广泛&#xff0c;而随着用户对体验质量的不断追求&#xff0c;性能优化已经成为了Android应用开发中的重要方面。以下是对Android市场对性能优化的需求量及应用广度进行详细分析的几个方面。 1. 用户需求 随着Android系统…

DataLeap的全链路智能监控报警实践(三): 系统实现

系统实现 整体架构 基线 管理模块&#xff1a;负责基线创建、更新、删除等操作&#xff0c;管理基线元信息&#xff0c;包括保障任务&#xff0c;承诺时间&#xff0c;余量及报警配置等&#xff09;&#xff1b; 基线 实例生成&#xff1a;系统每天定时触发生成基线实例&#x…

2023 年最新互联网 Java 面试八股文出炉(附大厂 P5-P8 技术栈)

为什么感觉 Java 面试变难了&#xff1f; 几年前&#xff0c;你只需要简单的 ssm 框架&#xff0c;就能轻松找到一份 Java 的工作&#xff0c;但现在不一样了&#xff0c;随着涌入这个行业的人越来越多&#xff0c;同一个岗位需要筛选掉更多人&#xff0c;要求自然水涨船高&am…

ubuntu 20.04 aarch64 平台交叉编译 opencv 静态库

编译环境 win10 64 位 VMware Workstation Pro 16 虚拟机 虚拟机安装 ubuntu 20.04 opencv 版本&#xff1a; 来自 github 当前最新 4.7 目的 交叉编译 opencv 生成静态库&#xff08;.a&#xff09;&#xff0c;用于 嵌入式 aarch64 平台。 环境配置方法 参考上一篇 u…

基于Java汽车配件销售业绩管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a; ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精…

@vue/cli脚手架

2. vue/cli脚手架 2.1vue/cli 脚手架介绍 目标: webpack自己配置环境很麻烦, 下载vue/cli包,用vue命令创建脚手架项目 vue/cli是Vue官方提供的一个全局模块包(得到vue命令), 此包用于创建脚手架项目脚手架是为了保证各施工过程顺利进行而搭设的工作平台 2.2 vue/cli 目录和代…

Camera | 11.瑞芯微摄像头采集图像颜色偏绿解决笔记

前言 在实际调试基于瑞芯微平台的camera过程中&#xff0c;发现显示的图片发绿&#xff0c; 现在把调试步骤分享给大家&#xff1a; 1、修改iq文件 sdk中位置&#xff1a; external/camera_engine_rkaiq/iqfiles/isp21/ov13850_ZC-OV13850R2A-V1_Largan-50064B31.xml【现在…

EBU5476 Microprocessor System Design 知识点总结_1 Introduction

主要学习自北邮国院物联网工程大三下学期微处理器课程。 Introduction-随便聊 嵌入式系统是什么&#xff1f;专用的计算机系统。为专门功能可能对计算机架构&#xff0c;外设等做出一些取舍。 通常的限制&#xff1a;Cost&#xff08;比如大量部署传感器节点&#xff09;&am…

基础知识学习---牛客网C++面试宝典(二)C/C++基础之C++内存

1、本栏用来记录社招找工作过程中的内容&#xff0c;包括基础知识学习以及面试问题的记录等&#xff0c;以便于后续个人回顾学习&#xff1b; 暂时只有2023年3月份&#xff0c;第一次社招找工作的过程&#xff1b; 2、个人经历&#xff1a; 研究生期间课题是SLAM在无人机上的应…

深入理解深度学习——注意力机制(Attention Mechanism):带掩码的多头注意力(Masked Multi-head Attention)

分类目录&#xff1a;《深入理解深度学习》总目录 相关文章&#xff1a; 注意力机制&#xff08;AttentionMechanism&#xff09;&#xff1a;基础知识 注意力机制&#xff08;AttentionMechanism&#xff09;&#xff1a;注意力汇聚与Nadaraya-Watson核回归 注意力机制&#…

想了解会计软件吗?来看看Zoho Books的功能和特点

Zoho Books 是一款功能强大的在线会计软件&#xff0c;为企业提供多合一解决方案&#xff0c;该解决方案可定制、可扩展&#xff0c;并使始终保持合规。 轻松生成电子发票 在Zoho Books中&#xff0c;您可以通过包含电子发票架构中提到的所有必填字段来创建电子发票格式的发票。…

css 包含块

你不知道的 CSS 之包含块 一说到 CSS 盒模型&#xff0c;这是很多小伙伴耳熟能详的知识&#xff0c;甚至有的小伙伴还能说出 border-box 和 content-box 这两种盒模型的区别。 但是一说到 CSS 包含块&#xff0c;有的小伙伴就懵圈了&#xff0c;什么是包含块&#xff1f;好像…