测试开发基础知识2

10.什么是等价类和边界值法?

1)等价类划分
        等价类划分是将系统的输入域划分为若干部分,然后从每个部分选取少量代表性数据进行测试。等价类划分认为如果一个测试用例在某个等价类中的一个值上通过测试,那么它在这个类中的其他值上也会通过,适用于输入数据较多的情况,有助于减少测试用例的数量并保证覆盖率
        有效等价类:符合规格说明的输入条件
        无效等价类:不符合规格说明的输入条件

        举个栗子:

  1. 有效等价类

    • 输入:Passw0rd!(包含大写字母、小写字母、数字和标点符号)。

    • 预期结果:密码验证通过。

  2. 无效等价类

    • 输入:passw0rd!(缺少大写字母)。

    • 预期结果:密码验证失败,提示缺少大写字母。

    • 输入:PASSW0RD!(缺少小写字母)。

    • 预期结果:密码验证失败,提示缺少小写字母。

    • 输入:Password!(缺少数字)。

    • 预期结果:密码验证失败,提示缺少数字。

    • 输入:Passw0rd(缺少标点符号)。

    • 预期结果:密码验证失败,提示缺少标点符号。

    • 输入:password(完全不符合规则)。

    • 预期结果:密码验证失败,提示密码不符合规则

        通过测试有效等价类来验证系统的正确性,通过无效等价类来验证系统的健壮性,
2).边界值法
        软件错误往往发生在输入或输出范围的边缘,所以边界值分析专注于测试输入数据的边界条件,而不是中间值,包括正常边界值(最大、最小值)和异常边界值(最大值+1、最小值-1),适用于测试那些对输入数据有明确范围或限制的功能。

11.接⼝测试⽤例的编写需要注意哪些要点        

        明确接口的规格:接口的功能,请求的类型,接口的输入参数和输出参数,参数的数据格式,预期的结果。

        返回值:看正常输入和异常输入产生的结果是否符合预期。

        接⼝的业务逻辑和功能是否正常

        数据库校验

        性能测试:接口的tps,响应时间。

        安全性,敏感信息加密,权限控制等

12.接口测试常用的一些工具

        Postman:API测试⼯具,⽤于发送各种HTTP请求,并检查响应,⽀持⾃动化测试脚本 编写

        Jmeter:主要⽤于性能测试和负载测试,但也可以⽤于API测试。

        Swagger UI:⽤于设计、构建、⽂档化和测试REST API的⼯具

13.性能测试时一般需要关注哪些指标

        TPS:每秒事务数,代表了性能的好坏,TPS越⾼,性能越好

        平均响应时间:请求的平均消耗时间,时间越短,性能越好

        并发数:同时向服务端发起请求的虚拟⽤户数,在不同的⼯具⾥可以⽤多个进程/线程来实现

        错误率:失败的请求⽐例

14.功能测试⽤例⼀般包含哪些内容

        测试⽤例ID:⼀个唯⼀标识符,⽤于区分和引⽤测试⽤例。

        测试⽤例标题:简短描述测试⽤例的⽬的或主要功能。 

        功能模块:指明此测试⽤例所属的软件功能模块或部分。

        测试⽬的/描述:对测试⽤例的⽬标和测试内容的详细描述。

        前置条件:执⾏测试⽤例之前需要满⾜的条件,如特定的系统状态或配置。

        测试步骤:详细描述如何执⾏测试,包括⽤户如何与系统交互,每⼀步应该输⼊什么数据,选择哪些选项等。

        测试数据:在测试中使⽤的具体数据,包括输⼊值和需要验证的输出值。

        预期结果:描述在成功执⾏测试步骤后预期的系统⾏为或输出。 

        实际结果:在执⾏测试后记录的实际结果,⽤于与预期结果进⾏⽐较。

        通过/失败标准:定义何种条件下测试⽤例被认为是通过或失败。

        测试环境:描述执⾏测试⽤例所需的软件、硬件、⽹络配置等环境信息。

        备注信息:任何额外的信息,⽐如相关的依赖、特殊注意事项等。

        缺陷/问题ID:如果测试失败,关联的缺陷或问题的标识符。

15.请你说⼀下设计测试⽤例的⽅法

        黑盒测试⽅法:

        等价类划分法:将输⼊数据划分为不同的等价类,每个等价类都有相似的⾏为。然后从每 个等价类中选择测试⽤例。

        边界值分析法:关注输⼊值的边界情况,测试接近边界值和边界之间的情况。

        因果图法:使⽤因果图来识别和描述系统中各种因果关系,辅助设计测试⽤例。

        决策表测试:创建决策表,列出不同的输⼊组合和相应的输出,确保所有可能的组合都得 到测试。

        状态转换测试:适⽤于有状态的系统,测试系统在不同状态下的⾏为和状态之间的转换。

        白盒测试⽅法:

        语句覆盖:确保每个源代码语句都⾄少执⾏⼀次。测试⽤例的⽬标是覆盖代码的所有语 句。

        分⽀覆盖:确保每个分⽀语句都⾄少执⾏⼀次,以测试代码中的条件语句。

        路径覆盖:通过执⾏代码的所有可能路径来测试系统,包括所有可能的条件分⽀和循环。

        条件覆盖:测试代码中条件表达式的所有可能取值,以确保所有条件的不同情况都被覆 盖。

        循环覆盖:确保测试覆盖了循环的不同情况,包括循环的⼊⼝、中间和退出。

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

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

相关文章

OSI模型的网络层中产生拥塞的主要原因?

( 1 )缓冲区容量有限;( 1.5 分) ( 2 )传输线路的带宽有限;( 1.5 分) ( 3 )网络结点的处理能力有限;( 1 分…

用OpenCV实现UVC视频分屏

分屏 OpencvUVC代码验证后话 用OpenCV实现UVC摄像头的视频分屏。 Opencv opencv里有很多视频图像的处理功能。 UVC Usb 视频类,免驱动的。视频流格式有MJPG和YUY2。MJPG是RGB三色通道的。要对三通道进行分屏显示。 代码 import cv2 import numpy as np video …

备战蓝桥杯 链表详解

链表概念 上一次我们用顺序存储实现了线性表,这次我们用链式存储结构实现的线性表就叫链表 链表每个节点包含数据本身和下一个节点和上一个节点的地址 链表的分类 单链表 双链表 带头链表 不带头链表 循环链表等等 我们竞赛一般都用的是带头链表 双向链表的…

DeepSeek:性能强劲的开源模型

deepseek 全新系列模型 DeepSeek-V3 首个版本上线并同步开源。登录官网 chat.deepseek.com 即可与最新版 V3 模型对话。 性能对齐海外领军闭源模型​ DeepSeek-V3 为自研 MoE 模型,671B 参数,激活 37B,在 14.8T token 上进行了预训练。 论…

Redis Zset有序集合

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 Redis Zset有序集合 收录于专栏[redis] 本专栏旨在分享学习Redis的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 概述 普通命令 ZAD…

Python中的可变对象与不可变对象;Python中的六大标准数据类型哪些属于可变对象,哪些属于不可变对象

Python中的可变对象与不可变对象;Python中的六大标准数据类型哪些属于可变对象,哪些属于不可变对象 Python中的可变对象与不可变对象一、Python的六大标准数据类型1. 数字类型 (Number)2. 字符串 (String)3. 列表 (List)4. 元组 (Tuple)5. 集合 (Set)6. …

Unity 2d描边基于SpriteRender,高性能的描边解决方案

目标 以Unity默认渲染管线为例,打造不需要图片内边距,描边平滑,高性能的描边解决方案 前言 在2d游戏中经常需要给2d对象添加描边,来突出强调2d对象 当你去网上查找2d描边shader,移植到项目里面,大概率会…

Oracle OCP考试常见问题之线上考试流程

首先要注意的是:虽然Oracle官方在国际上取消了获得OCP认证需要培训记录的要求,但在中国区,考生仍然需要参加Oracle的官方或者其合作伙伴组织的培训,并且由Oracle授权培训中心向Oracle提交学员培训记录。考生只有在完成培训并通过考…

基于海思soc的智能产品开发(camera sensor的两种接口)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 对于嵌入式开发设备来说,除了图像显示,图像输入也是很重要的一部分。说到图像输入,就不得不提到camera。目前ca…

Redis 笔记(二)-Redis 安装及测试

一、什么是 Redis 中文网站 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用 ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value,并提供多种语言的 API。 Redis 开源,遵循 BSD 基…

H2数据库在单元测试中的应用

H2数据库特征 用比较简洁的话来介绍h2数据库,就是一款轻量级的内存数据库,支持标准的SQL语法和JDBC API,工业领域中,一般会使用h2来进行单元测试。 这里贴一下h2数据库的主要特征 Very fast database engineOpen sourceWritten…

通俗易懂之线性回归时序预测PyTorch实践

线性回归(Linear Regression)是机器学习中最基本且广泛应用的算法之一。它不仅作为入门学习的经典案例,也是许多复杂模型的基础。本文将全面介绍线性回归的原理、应用,并通过一段PyTorch代码进行实践演示,帮助读者深入…

MATLAB深度学习实战文字识别

文章目录 前言视频演示效果1.DB文字定位环境配置安装教程与资源说明1.1 DB概述1.2 DB算法原理1.2.1 整体框架1.2.2 特征提取网络Resnet1.2.3 自适应阈值1.2.4 文字区域标注生成1.2.5 DB文字定位模型训练 2.CRNN文字识别2.1 CRNN概述2.2 CRNN原理2.2.1 CRNN网络架构实现2.2.2 CN…

和为0的四元组-蛮力枚举(C语言实现)

目录 一、问题描述 二、蛮力枚举思路 1.初始化: 2.遍历所有可能的四元组: 3.检查和: 4.避免重复: 5.更新计数器: 三、代码实现 四、运行结果 五、 算法复杂度分析 一、问题描述 给定一个整数数组 nums&…

SpringBoot日常:集成Kafka

文章目录 1、pom.xml文件2、application.yml3、生产者配置类4、消费者配置类5、消息订阅6、生产者发送消息7、测试发送消息 本章内容主要介绍如何在springboot项目对kafka进行整合,最终能达到的效果就是能够在项目中通过配置相关的kafka配置,就能进行消息…

【实用技能】如何使用 .NET C# 中的 Azure Key Vault 中的 PFX 证书对 PDF 文档进行签名

TX Text Control 是一款功能类似于 MS Word 的文字处理控件,包括文档创建、编辑、打印、邮件合并、格式转换、拆分合并、导入导出、批量生成等功能。广泛应用于企业文档管理,网站内容发布,电子病历中病案模板创建、病历书写、修改历史、连续打…

33.3K 的Freqtrade:开启加密货币自动化交易之旅

“ 如何更高效、智能地进行交易成为众多投资者关注的焦点。” Freqtrade 是一款用 Python 编写的免费开源加密货币交易机器人。它就像一位不知疲倦的智能交易助手,能够连接到众多主流加密货币交易所,如 Binance、Bitmart、Bybit 等(支…

Mac M2基于MySQL 8.4.3搭建(伪)主从集群

前置准备工作 安装MySQL 8.4.3 参考博主之前的文档,在本地Mac安装好MySQL:Mac M2 Pro安装MySQL 8.4.3安装目录:/usr/local/mysql,安装好的MySQL都处于运行状态,需要先停止MySQL服务最快的方式:系统设置 …

事务的回滚与失效行为

创建一张测试表 AccountMapper public interface AccountMapper {Update("update account set balance #{balance} where username #{username}")int updateUserBalance(Param("username") String username, Param("balance") Integer bal…

【C语言】_字符数组与常量字符串

目录 1. 常量字符串的不可变性 2. 关于常量字符串的打印 3. 关于字符数组与常量字符串的内存分布 1. 常量字符串的不可变性 char arr[10] "abcdef";// 字符数组char* p2 arr;char* p3 "abcdef"; // 常量字符串 尝试对常量字符串进行修改&#xff…