测试开发基础知识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.请你说⼀下设计测试⽤例的⽅法

        黑盒测试⽅法:

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

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

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

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

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

        白盒测试⽅法:

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

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

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

idea java.lang.OutOfMemoryError: GC overhead limit exceeded

Idea build项目直接报错 java: GC overhead limit exceeded java.lang.OutOfMemoryError: GC overhead limit exceeded 设置 编译器 原先heap size 设置的是 700M , 改成 2048M即可

aws(学习笔记第二十二课) 复杂的lambda应用程序(python zip打包)

aws(学习笔记第二十二课) 开发复杂的lambda应用程序(python的zip包) 学习内容: 练习使用CloudShell开发复杂lambda应用程序(python) 1. 练习使用CloudShell CloudShell使用背景 复杂的python的lambda程序会有许多依赖的包,如果不提前准备好这些python的…

conda 批量安装requirements.txt文件

conda 批量安装requirements.txt文件中包含的组件依赖 conda install --yes --file requirements.txt #这种执行方式,一遇到安装不上就整体停止不会继续下面的包安装。 下面这条命令能解决上面出现的不执行后续包的问题,需要在CMD窗口执行: 点…

如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈

如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈 问题背景 由于我司最早期19年使用的是gitee,因此大部分仓库都在gitee有几百个库的代码,…

SpringBootWeb 登录认证(day12)

登录功能 基本信息 请求参数 参数格式:application/json 请求数据样例: 响应数据 参数格式:application/json 响应数据样例: Slf4j RestController public class LoginController {Autowiredpriva…

nginx http反向代理

系统:Ubuntu_24.0.4 1、安装nginx sudo apt-get update sudo apt-get install nginx sudo systemctl start nginx 2、配置nginx.conf文件 /etc/nginx/nginx.conf,但可以在 /etc/nginx/sites-available/ 目录下创建一个新的配置文件,并在…

【25考研】川大计算机复试情况,重点是啥?怎么准备?

24年进入复试的同学中,有10位同学的复试成绩为0分。具体是个人原因还是校方原因,还尚不明确。但是C哥提醒,一定要认真复习!复试完后不要跟任何人讨论有关复试的题目及细节! 一、复试内容 四川大学复试内容较多&#xf…

React Native 项目 Error: EMFILE: too many open files, watch

硬件:MacBook Pro (Retina, 13-inch, Mid 2014) OS版本:MacOS BigSur 11.7.10 (20G1427) 更新: 删除modules的方法会有反弹,最后还是手动安装了预编译版本的watchman。 React Native 项目运行npm run web,出现如下错误&#xff1a…

YOLO11改进算法 | 引入SimAM模块的YOLO11-pose关键点姿态估计

目录 网络结构 测试结果 算法改进 局部和全局特征的兼顾 提升模型精度 提高计算效率 增强模型鲁棒性 模型指标 数据集介绍 Coovally AI模型训练与应用平台 YOLO11是由Ultralytics团队于2024年9月30日发布的,它是YOLO(You Only Look Once&#…

运放输入偏置电流详解

1 输入阻抗与输入偏置电路关系 在选择运放和仪表运放时,经常听到这样的说法:“需要非常高的输入阻抗”,事实上真实如此吗? 输入阻抗(更确切的说是输入电阻)很少会成为一个重要的问题(输入电容也…

HTML基础入门——简单网页页面

目录 一,网上转账电子账单 ​编辑 1,所利用到的标签 2,代码编写 3,运行结果 二,李白诗词 1,所用到的标签 2,照片的编辑 3,代码编写 4,运行结果 一,网…

Kubernetes集群架构

Kubernetes集群架构 Kubernetes 集群架构控制平面组件kube-apiserveretcdkube-schedulerkube-controller-managercloud-controller-manager 节点组件kubeletkebe-proxy(可选)容器运行时 插件DNSWeb UI(Dashboard)容器资源监控集群…

腾讯云AI代码助手-每日清单助手

作品简介 每日清单助手是一款可以记录生活的小程序,在人们需要记录时使用,所以根据这个需求来创建的这款应用工具,使用的是腾讯云AI代码助手来生成的所有代码,使用方便,快捷,高效。 技术架构 python语言…

创建基本的 Electron 应用项目的详细步骤

创建一个基本的 Electron 应用项目的详细步骤。我们将从安装 Node.js 开始,然后创建项目文件夹并初始化 Electron 项目。 1. 安装 Node.js 首先,确保你已经安装了 Node.js 和 npm。你可以在终端中运行以下命令来检查是否已经安装: node -v…

「scipy、eeg」使用python scipy butter filtfilt 分解EEG数据为5个频带和滤波参数选择

使用scipy butter filtfilt 分解EEG数据和滤波参数选择 【目录】 EEG数据频带和滤波参数滤波类型及示例Pyhton 代码实现 一、EEG数据频带和滤波参数 二、滤波类型 低通滤波(lowpass)高通滤波(highpass)带通滤波(bandpass&…

网络传输层TCP协议

传输层TCP协议 1. TCP协议介绍 TCP(Transmission Control Protocol,传输控制协议)是一个要对数据的传输进行详细控制的传输层协议。 TCP 与 UDP 的不同,在于TCP是有连接、可靠、面向字节流的。具体来说,TCP设置了一大…

深度学习第三弹:python入门与线性表示代码

一、python入门 1.熟悉基础数据结构——整型数据,浮点型数据,列表,字典,字符串;了解列表及字典的切片,插入,删除操作。 list1 [1, 2, 3, 4, 5] for each in list1:print(each) print(list1[1…

【Linux】shell脚本编程

目录 概念: shell脚本的本质: shell脚本编程: shell变量: 变量的定义格式: 变量的分类 自定义变量: 环境变量: 命令变量与命令行参数: 预定义变量: shell中的…

Onedrive精神分裂怎么办(有变更却不同步)

Onedrive有时候会分裂,你在本地删除文件,并没有同步到云端,但是本地却显示同步成功。 比如删掉了一个目录,在本地看已经删掉,onedrive显示已同步,但是别的电脑并不会同步到这个删除操作,在网页版…

CSS——1.优缺点

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><link rel"stylesheet" type"text/css" href"1-02.css"/></head><body><!--css&#xff1a;层叠样式表…