测试开发基础知识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,一经查实,立即删除!

相关文章

PHP在做api开发中,RSA加密签名算法如何使用 ?

RSA 加密是什么 RSA(Rivest-Shamir-Adleman)是最早的公钥密码系统之一,广泛用于安全数据传输。3 位数学家 Rivest、Shamir 和 Adleman 的名字来命名的。 是非对称加密的一种 这种算法非常可靠,密钥越长,它就越难破解。…

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. …

Node.js JXcore 打包教程

Node.js JXcore 打包教程 介绍 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它允许开发者使用 JavaScript 编写服务器端和网络应用程序。JXcore 是一个流行的 Node.js 发行版,它支持将 Node.js 应用程序打包成单一的可执行文件,使得部署和分发变得更加容易…

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

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

【利用 Unity + Mirror 网络框架、Node.js 后端和 MySQL 数据库】

要实现一个简单的1v1战斗小游戏,利用 Unity Mirror 网络框架、Node.js 后端和 MySQL 数据库,我们可以将其分为几个主要部分:客户端(Unity)、服务器(Node.js)和数据库(MySQL&#xf…

Inception模型详解及代码分析

模型背景 Inception系列模型由Google团队提出,旨在解决CNN分类模型面临的两大挑战: 如何在增加网络深度的同时提升分类性能 如何在保证分类准确率的同时降低计算和内存开销 Inception V1通过引入 并行卷积结构 和 1x1卷积 ,巧妙地解决了这两个问题,在保证模型质量的前提下…

【算法】算法大纲

这篇文章介绍计算机算法的各个思维模式。 包括 计数原理、数组、树型结构、链表递归栈、查找排序、管窥算法、图论、贪心法和动态规划、以及概率论:概率分治和机器学习。没有办法逐个说明,算法本身错综复杂,不同的算法对应着不同的实用场景,也需要根据具体情况设计与调整。…

spring mvc源码学习笔记之九

在前面的文章中,我们简单讲了可以用 WebApplicationInitializer 接口去替换 web.xml。 本文对这一块再做个详细讲解。 在 WebApplicationInitializer 这个接口的 javadoc 中有提到可以用继承 AbstractAnnotationConfigDispatcherServletInitializer 的方式替换实现 …

【HTML+CSS+JS+VUE】web前端教程-2-HTML5介绍和基础骨架

HTML5介绍 HTML5是用来描述网页的一种语言,被称为超文本标记语言用HTML5编写的文件,后缀以.html结尾HTML是一种标记语言标记语言是一套标记标签标签是由尖括号包围的关键字,例如:标签有两种表现形式: 双标签,例如:<html></html> 单标签,例如:<img>HTML…

单例模式-如何保证全局唯一性?

以下是几种实现单例模式并保证全局唯一性的方法&#xff1a; 1. 饿汉式单例模式 class Singleton { private:// 私有构造函数&#xff0c;防止外部创建对象Singleton() {}// 静态成员变量&#xff0c;存储单例对象static Singleton instance; public:// 公有静态成员函数&…

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

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

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

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

Go语言之十条命令(The Ten Commands of Go Language)

Go语言之十条命令 Go语言简介 Go语言&#xff08;又称Golang&#xff09;‌是由Google开发的一种开源编程语言&#xff0c;首次公开发布于2009年。Go语言旨在提供简洁、高效、可靠的软件开发解决方案&#xff0c;特别强调并发编程和系统编程‌。 Go语言的基本特征 ‌静态强类…

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

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

在 PhpStorm 中配置命令行直接运行 PHP 的步骤

在 PhpStorm 中配置命令行直接运行 PHP 的步骤如下&#xff1a; ### 1. 安装 PHP 并配置环境变量 确保你已经在系统上安装了 PHP&#xff0c;并且将 PHP 的可执行文件路径添加到系统的环境变量中。这样你可以在命令行中直接使用 php 命令。 ### 2. 配置 PhpStorm 的 PHP 解释…