【功能测试总结】

news2025/1/16 20:50:39

功能测试

  • 1. 功能测试用例
    • 1.1 设计用例容易出现的问题
  • 2. 如何写用例
    • 2.1 什么是好的用例
    • 2.2 测试用例设计常见方法
  • 3. 用例分级

1. 功能测试用例

1.1 设计用例容易出现的问题

  1. 基础功能点用例覆盖不全/描述不清
  • 描述不清
    什么是正常内容,仅看用例能否知道该输入什么?
    什么时候可以这么写,非主要测试点,但是必须要填完才能完成这个动作。如测模型仓库的名称,其他字段可写成按要求填写,然后点击确定…

  • 反向用例,每条用例只能违反一条规则,否则会出现校验不到的情况
    需要写清楚字符数量,特别是对于下限不为0的情况。

  • 将 UE 稿内容简单复制,没有加对业务的理解
    例:选择图像分类标注集,选择模型仓库,模型下拉框仅展示仓库中图像分类的模型

  1. 预期校验不到位
  • 校验不全,预期结果里不能用等

  • 校验不到位,需要校验列表/页面中是否生效,需要粘贴看是否和复制的内容一致,不能仅看 toast 提示

  1. 用例拆分粒度不合理
  • 像是一条用例里的一个步骤,而不是一个完整的用例
  1. 复杂场景/关联场景/异常情况考虑不到,仅停留在交互层面
  • 校验都只停留在表面,添加、编辑、删除之后的影响没有考虑到
    如创建模型高级参数的校验,参数是否生效
    如删除标注图片后进度的展示
    如标注集页面和数据标注页面均能创建数据集,两边限制是否一致
  • 复杂场景覆盖不全,不能找到所有情况
    如标签 ID 或名称重复的分情况校验(模型标签不存在标注集标签中;模型标签与标注集标签完全一致;模型标签与标注集标签 ID 相同名称不同;模型标签与标注集标签名称相同,ID 不同;既有相同名称又有相同 ID,但是不能完全对应)
  • 缺少对异常情况的校验
    如搜索% _ 数据库通配符
    如删除最后一页的数据
    如同时提交数据相同的数据表单等
    如正在运行的模型,所属的模型仓库是否可以被删除
  1. case分级、自测标记
    缺少标准,标的比较随意,不能起到应有的作用

2. 如何写用例

2.1 什么是好的用例

  • 来源需求、覆盖需求
  • 步骤、预期结果清楚
  • 易于维护、复用
  • 能够发现尽可能多的 bug, 能够发现之前没发现的 bug

2.2 测试用例设计常见方法

  1. 等价类划分(掌握)
  • 规定了输入值的范围,可以划分为一个有效等价类(在指定范围内)和两个无效等价类(分别小于和大于指定范围)。
  • 规定了输入数据个数,类似地也可以划分一个有效等价类和两个无效等价类
  • 规定了输入数据的一组值,程序对不同输入值做不同处理,则每个值为一个有效等价类,还有一个无效等价类(不属于这组值里的任意值)
  • 规定了输入数据必须遵守的原则,则可以划分一个有效等价类和若干无效等价类(从不同角度违反规则)
  • 如果规定定输入数据为整数,则可以划分负整数、正整数、0 三个有效等价类
  1. 边界值分析(掌握)
  • 刚好等于
  • 刚好小于
  • 刚好大于

不仅要考虑输入的边界值,还要考虑输出的边界值

  1. 场景法(掌握)
    在这里插入图片描述

场景法就是模拟用户操作软件时的场景,主要用于测试系统的业务流程。
测试不能只关注某个控件的边界值、等价类是否满足要求,也要关注它的主要功能和业务流程是否正确实现,这时就需要使用场景法来完成。

场景法用例设计步骤

  • 设计场景用例首先需要根据需求规格说明得出功能模块流程图,描述出程序的基本流及备选流,
    • 基本流:按照正确的业务流程来实现的一条操作路径即模拟正确的操作流程。
    • 备选流:导致程序出现错误的操作流程即模拟错误的操作流程。
  • 其次根据基本流和备选流生成不同的场景,构造场景列表,
  • 最后对每一个场景生成相应的测试用例,对所有的测试用例重新复审,去掉多余的测试用例。
  • 确定测试用例之后,为每一个测试用例确定测试的数据值即可完成场景用例的设计。
  1. 错误推测(掌握)
    直觉、经验 发现 组合错误、逻辑错误
  • 忘记需求、忘记 UE、不要有任何参考(包括界面的一些提示性文字),随便输入,不要担心产品崩溃等
  • 根据之前测试出问题的一些经验,去输入
  1. 判定表、判定树
    复杂的条件组合与应做动作之间的关系
    左上部列出所有条件,左下部是所有可能的动作
    右上部是条件组合矩阵,右下部是每种条件组合相对应的动作
    在这里插入图片描述

  2. 因果图
    https://blog.csdn.net/tingxuan_qhm/article/details/22512209

  3. 正交设计
    https://zhuanlan.zhihu.com/p/157883678

  4. 功能图法

https://blog.csdn.net/catch_dreamer/article/details/109283792

不同方法的适用场景

  • 等价类划分、边界值分析,用得最多,特别适合写输入框的测试用例
  • 场景法、功能图法适合流程、逻辑
  • 判定表、判定树、因果图,正交适合条件组合的情况

3. 用例分级

参考 bug 分级标准

  • P0 级 bug:系统崩溃,功能主流程不通,block 测试的 bug,明显的性能问题,有钱的损失等;
  • P1 级 bug:功能主流程上的 bug、严重体验问题; 主流程上的严重 UI 问题,高概率偶现问题,常见异常问题(如常规参数异常)。
  • P2 级 bug:非主流程上的 bug,异常问题,兼容性 UI 问题,个别机型问题
  • P3 级 bug :不影响使用的瑕疵、更好的实现方式。

在这里插入图片描述

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

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

相关文章

Mac玩Steam游戏秘籍!

Mac玩Steam游戏秘籍! 大家好!最近有不少朋友在用MacBook玩Steam游戏时遇到不支持mac的问题。别担心,我来教你如何用第三方工具Crossover来畅玩这些不支持的游戏,简单又实用! 第一步:下载Crossover 首先&…

基于Springboot + vue实现的旅游网站

🥂(❁◡❁)您的点赞👍➕评论📝➕收藏⭐是作者创作的最大动力🤞 💖📕🎉🔥 支持我:点赞👍收藏⭐️留言📝欢迎留言讨论 🔥🔥&…

题解 CodeForces 430B Balls Game 栈 C/C++

题目传送门: Problem - B - Codeforceshttps://mirror.codeforces.com/contest/430/problem/B翻译: Iahub正在为国际信息学奥林匹克竞赛(IOI)做准备。有什么比玩一个类似祖玛的游戏更好的训练方法呢? 一排中有n个球…

Vue3播放视频报ReferenceError: SharedArrayBuffer is not defined

解决办法 前端本地测试vue.config.js server: {headers: {"Cross-Origin-Opener-Policy": "same-origin","Cross-Origin-Embedder-Policy": "require-corp",}, }, 后端vue.js生产环境 跨域隔离 是一种现代Web安全策略,…

Android BottomNavigationView不加icon使text垂直居中,完美解决。

这个问题网上千篇一律的设置iconsize为0,labale固定什么的,都没有效果。我的这个基本上所有人用都会有效果。 问题解决之前的效果:垂直方向,文本不居中,看着很难受 问题解决之后:舒服多了 其实很简单&…

微调神经机器翻译模型全流程

MBART: Multilingual Denoising Pre-training for Neural Machine Translation 模型下载 mBART 是一个基于序列到序列的去噪自编码器,使用 BART 目标在多种语言的大规模单语语料库上进行预训练。mBART 是首批通过去噪完整文本在多种语言上预训练序列到序列模型的方…

基于32QAM的载波同步和定时同步性能仿真,包括Costas环的gardner环

目录 1.算法仿真效果 2.算法涉及理论知识概要 3.MATLAB核心程序 4.完整算法代码文件获得 1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印): 仿真操作步骤可参考程序配套的操作视频。 2.算法涉及理论知识概要 载波同步是…

设计模式-工厂模式/抽象工厂模式

工厂模式 定义 定义一个创建对象的接口,让子类决定实列化哪一个类,工厂模式使一个类的实例化延迟到其子类; 工厂方法模式是简单工厂模式的延伸。在工厂方法模式中,核心工厂类不在负责产品的创建,而是将具体的创建工作…

【机器学习】零售行业的智慧升级:机器学习驱动的精准营销与库存管理

我的个人主页 我的领域:人工智能篇,希望能帮助到大家!!!👍点赞 收藏❤ 在当今数字化浪潮汹涌澎湃的时代,零售行业正站在转型升级的十字路口。市场竞争的白热化使得企业必须另辟蹊径&#xff0…

day_2_排序算法和树

文章目录 排序算法和树排序算法算法稳定性排序算法☆ 冒泡排序冒泡思路冒泡步骤代码实现效率优化 ☆ 选择排序排序思路排序步骤代码实现 ... 树01-树的基本概念02-树的相关术语03-二叉树的种类04-二叉树的存储05-树的应用场景_数据库索引06-二叉树的概念和性质07-广度优先遍历0…

蓝桥杯刷题第二天——背包问题

题目描述 有N件物品和一个容量是V的背包。每件物品只能使用一次。第i件物品的体积是Vi价值是Wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。 输入格式 第一行两个整数,N,V&am…

Linux x86_64 程序动态链接之GOT 和 PLT

文章目录 前言一、动态链接二、位置无关代码三、GOT 和 PLT3.1 GOT3.2 PLT3.3 延时绑定3.4 示例 四、demo演示五、延迟绑定技术和代码修补参考资料 前言 这篇文章描述了:Linux x86_64 程序静态链接之重定位,接来本文描述Linux x86_64 程序动态链接之GOT…

学习记录-责任链模式验证参数

学习记录-责任链模式验证参数 1.什么是责任链模式 责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许将请求沿着一个处理链传递,直到链中的某个对象处理它。这样,发送者无需知道哪个对象将处理…

练习:MySQL单表查询与多表查询

一.单表查询 创建worke数据库,在数据库底下创建worker表 mysql> create database worke; Query OK, 1 row affected (0.00 sec)mysql> show databases; -------------------- | Database | -------------------- | information_schema | | mysql …

HarmonyOS NEXT应用开发边学边玩系列:从零实现一影视APP (四、最近上映电影滚动展示及加载更多的实现)

在HarmonyOS NEXT开发环境中,可以使用多种组件和库来构建丰富且交互友好的应用。本文将展示如何使用HarmonyOS NEXT框架和nutpi/axios库,从零开始实现一个简单的影视APP的首页,主要关注最近上映电影的滚动展示及加载更多功能的实现。 开源项目…

卷积神经05-GAN对抗神经网络

卷积神经05-GAN对抗神经网络 使用Python3.9CUDA11.8Pytorch实现一个CNN优化版的对抗神经网络 简单的GAN图片生成 CNN优化后的图片生成 优化模型代码对比 0-核心逻辑脉络 1)Anacanda使用CUDAPytorch2)使用本地MNIST进行手写图片训练3)…

客户案例:某家居制造企业跨境电商,解决业务端(亚马逊平台)、易仓ERP与财务端(金蝶ERP)系统间的业务财务数据对账互通

一、系统定义 1、系统定位: 数据中台系统是一种战略选择和组织形式,通过有型的产品支撑和实施方法论,解决企业面临的数据孤岛、数据维护混乱、数据价值利用低的问题,依据企业特有的业务和架构,构建一套从数据汇聚、开…

服务器一次性部署One API + ChatGPT-Next-Web

服务器一次性部署One API ChatGPT-Next-Web One API ChatGPT-Next-Web 介绍One APIChatGPT-Next-Web docker-compose 部署One API ChatGPT-Next-WebOpen API docker-compose 配置ChatGPT-Next-Web docker-compose 配置docker-compose 启动容器 后续配置 同步发布在个人笔记服…

辅助云运维

为客户提供运维支持,保障业务连续性。 文章目录 一、服务范围二、服务内容三、服务流程四、 服务交付件五、责任分工六、 完成标志 一、服务范围 覆盖范围 云产品使用咨询、问题处理、配置指导等; 云产品相关操作的技术指导; 云相关资源日常…

[Qt]常用控件介绍-多元素控件-QListWidget、QTableWidget、QQTreeWidget

目录 1.多元素控件介绍 2.ListWidget控件 属性 核心方法 核心信号 细节 Demo:编辑日程 3.TableWidget控件 核心方法 QTableWidgetItem核心信号 QTableWidgetItem核心方法 细节 Demo:编辑学生信息 4.TreeWidget控件 核心方法 核心信号…