当前位置: 首页 > news >正文

功能测试的分类,分别有什么作用?

目录

前言

一、链接测试

二、表单测试

三、搜索测试

四、删除测试

五、cookies/session测试

六、数据库测试

七、峰值测试/容量测试

八、相容性测试/安全测试


前言

功能测试主要包括链接测试、表单测试、搜索测试、删除测试、cookies、session测试、数据库测试等部分。功能测试对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能

一、链接测试

测试所有链接是否按指示的那样确实链接到了该链接的页面;测试所链接的页面是否存在;测试web应用系统上没有孤立的页面。

二、表单测试

表单一般指在界面进行数据提交操作的,包括新增和修改数据。它涉及到的测试包括以下方面:

1、输入框测试,长度、数据类型、必填、重复、空格、sql注入以及一些业务相关约束

2、下拉框测试,默认值、数据完整性/正确性、第一个/最后一个/中间一个选取、手动输入值模糊匹配、联动选择;业务常见选取的操作

3、大小、尺寸、格式、数量、文件内容规则验证

4、表单提交按钮测试,是否支持回车/单击、快速多次点击是否重复提交表单、网络中断(弱网、提交、提交之后是否有提示、提交后内容是否加密、提交是否做权限校验控制、多人针对表单同时操作的场景测试。

三、搜索测试

搜索条件一般为2种情况:输入框、下拉框。对于多个条件的页面搜索可以按照下面的编号顺序去进行测试。

  1. 任单个条件查询:模糊搜索、超长搜索、不存在与之匹配的条件、为空
  2. 任两个组合查询:确保任两个组合查询的正确性,验证两个组合的所有情况。
  3. 三个组合查询:不需要测试三个组合的全部级组合。因为前面针对所有单个条件的搜索、两个组合的所有组合进行测试了,那么在这里选择2-3组三种组合进行测试即可。
  4. 全条件组合查询:确保最大组合的正确性。
  5. 默认条件查询:补充默认条件查询的用例
  6. 根据需求或者业务规则选取重点条件组合查询

搜索框搜索还有一种常见的情况就是:时间输入框,按时间来搜索的测试点,可以从以下考虑:

  1. 开始时间<=结束时间,测试一个小时、跨时、当天、跨天、跨月、跨年的数据
  2. 开始时间大于/小于当前时间,若是针对出生年月搜索,验证大于的情况;若是定时任务时间搜索验证小于的情况
  3. 只输入开始时间/结束时间
  4. 开始时间、结束时间都不输入
  5. 结束时间早于开始时间
  6. 手动输入时间,注意时间格式验证

四、删除测试

  1. 没选择数据,点击删除,是否有友好提示?
  2. 选择一条数据,点击删除,是否提示删除确认信息,需二次确认?
  3. 删除一条数据后,点击添加,是否可以添加相同的数据
  4. 连续删除多个产品,选择批量删除;是否支持?
  5. 选择全选,点击删除,注意是否把所有的数据删除?
  6. 删除一个有关联性的数据,如删除QQ分组,组下好友会有提示?
  7. 所有删除数据操作,要注意相应查询页面及其关联界面的数据是否及时更新

五、cookies/session测试

cookies/session通常用来存储用户信息Cookie通过在客户端记录信息确定用户身份session通过在服务器端记录信息确定用户身份。

cookies/session测试同理,测试的内容可包括:

  1. 打开WEB系统后,在浏览器默认存储cookies的目录下看此cookies目录是否存在。
  2. 已知cookies的保存时间,测试时间范围之内和之外的cookies文件是否正常
  3. 将浏览器下的所有cookies文件全部删除。再次登录web系统,会怎么处理

六、数据库测试

在web应用技术中,数据库就是一个“仓库”,我们在进行功能测试的任何操作都可以归溯到是对于数据库的增删改查。数据库测试实际就是通过前面讲过的测试手段来完成、只不过关注点是数据库表及表字段值的变化。

  1. 数据库脚本执行——数据库表添加、修改是否正常
  2. 页面提交表单、修改、查询、删除 —数据库表信息是否正常

七、峰值测试/容量测试

峰值测试在这种情况下,测试应用程序时用户负载会突然增加和减少。通过执行峰值测试,我们还可以了解应用稳定的恢复时间

容量测试为了分析充斥大量数据时应用程序的行为和响应时间。

八、相容性测试/安全测试

相容性测试执行兼容性测试以确保该应用程序可以在不同的硬件,操作系统,网络环境和屏幕尺寸上正常运行。

安全测试是移动应用程序测试过程中最重要的部分,它可确保您的应用程序安全且不会受到恶意软件和病毒等任何外部威胁的攻击。通过这样做,我们可以找出应用程序中的漏洞,这些漏洞可能导致数据丢失,收入增加或对组织的信任。

 

相关文章:

功能测试的分类,分别有什么作用?

目录 前言 一、链接测试 二、表单测试 三、搜索测试 四、删除测试 五、cookies/session测试 六、数据库测试 七、峰值测试/容量测试 八、相容性测试/安全测试 前言 功能测试主要包括链接测试、表单测试、搜索测试、删除测试、cookies、session测试、数据库测试等部分…...

51单片机学习笔记_14 红外遥控

红外传感器 遥控器通过红外 LED 发送调制后的信号&#xff0c;开发板上的红外接收模块接收遥控器的红外线。 单工异步&#xff0c;940nm 波长&#xff08;还有一种 250nm 的N&#xff0c;可见光&#xff09;&#xff0c;EC 通信标准。 38KHz&#xff1a;红外线频率。 IN&…...

【我是土堆 - Pytorch教程】 知识点 学习总结笔记(五)

此文章为【我是土堆 - Pytorch教程】 知识点 学习总结笔记&#xff08;五&#xff09;包括&#xff1a;完整的模型训练套路&#xff08;一&#xff09;、完整的模型训练套路&#xff08;二&#xff09;、完整的模型训练套路&#xff08;三&#xff09;、利用GPU训练&#xff08…...

JUC篇:CopyOnWriteArrayList的应用与原理

系列文章目录 JUC篇&#xff1a;volatile可见性的实现原理 JUC篇&#xff1a;synchronized的应用和实现原理 JUC篇&#xff1a;用Java实现一个简单的线程池 JUC篇&#xff1a;java中的线程池 JUC篇&#xff1a;ThreadLocal的应用与原理 JUC篇&#xff1a;Java中的并发工具类 文…...

【总结】爬虫1-requests

爬虫1-requests 1. requests的基本用法 requests需要提前导入&#xff0c;才能使用 1.1 请求网络数据&#xff1a;requests.get(请求地址) response requests.get(https://cd.zu.ke.com/zufang)1.2 设置解码方法&#xff08;罗马的是需要设置 - 一定要在获取请求结果之前设…...

基于springboot实现学生综合成绩测评系统【源码】分享

基于springboot实现学生综合成绩测评系统演示开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包…...

uniapp初体验———uView组件库的使用与钉钉小程序的运行

这周学长给了我一个校企合作的项目&#xff0c;要求是用uniapp开发&#xff0c;最终打包成钉钉小程序&#xff0c;不过我并不会uniapp&#xff0c;也是学了一段时间&#xff0c;开始写项目&#xff0c;中间也遇到过很多问题&#xff0c;比如开发者工具还有如何运行到开发者工具…...

初始Go语言2【标识符与关键字,操作符与表达式,变量、常量、字面量,变量作用域,注释与godoc】

文章目录Go语言基础语法标识符与关键字操作符与表达式变量、常量、字面量变量类型变量声明变量初始化常量字面量变量作用域注释与godoc注释的形式注释的位置go docgodocGo语言基础语法 标识符与关键字 go变量、常量、自定义类型、包、函数的命名方式必须遵循以下规则&#xff…...

Vue计算属性详解

目录 ​编辑 1、什么是计算属性 2、为什么要有计算属性 1. 为什么不是使用模板语法 2. 为什么不是使用method对于复杂逻辑 3. 什么时候要用计算属性 4. 定义计算属性fullName 5. 计算属性的配置项 1、什么是计算属性 写在computed对象中的属性&#xff0c;本质上是…...

rk3568-AD按键驱动调试

rk3568-AD按键驱动调试转载请备注&#xff1a;daisy.skye的博客_CSDN博客-Qt,嵌入式,Linux领域博主dts设备树节点 /rk356x_linux_220118/kernel/arch/arm64/boot/dts/rockchip/rk3568.dtsi 板级设备树dts /home/scooper/jkD7/20221221/ido_evb3568_v2_android11_sdk/kernel/…...

Docker三剑客之swarm

一、什么是docker swarm Swarm是Docker公司推出的用来管理docker集群的平台&#xff0c;几乎全部用GO语言来完成的开发的&#xff0c;代码开源在https://github.com/docker/swarm&#xff0c; 它是将一群Docker宿主机变成一个单一的虚拟主机&#xff0c;Swarm使用标准的Docker…...

Lucene Solr Elasticsearch三者之间的关系,怎么选?

Lucene简介&#xff1a; Lucene主要用于构建文本搜索应用程序&#xff0c;包括Web搜索引擎、桌面搜索工具和商业应用程序。它提供了诸如单词分析、查询解析、搜索结果排序等功能&#xff0c;可以轻松地在大量文档中快速搜索和查找相关信息。 Lucene具有以下特点&#xff1a; …...

为你的网站加上Loading等待加载效果吧 | Loading页面加载添加教程

为你的网站加上Loading等待加载效果吧 | Loading页面加载添加教程 效果图 : 教程开始 新建一个loading样式css 将以下代码放进去 然后引用这个文件 code #Loadanimation{ background-color:#fff; height:100%; width:100%; position:fixed; z-index:1; ma…...

Redis安装和配置

网上有海量的Redis文章&#xff0c;写的都很详细。这里就是简单记录一下自己查aof问题过程中遇到的问题&#xff0c;主要是aof文件所在目录在redis.conf里的位置 1。在ubuntu16上安装Redis sudo apt-get install -y redis-server 2。修改redis配置 sudo vim /etc/redis/re…...

MobTech|如何使用秒验

什么是秒验&#xff1f; 秒验是MobTech公司提供的一款实现一键验证功能的产品&#xff0c;从根源上降低企业验证成本&#xff0c;有效提高拉新转化率&#xff0c;降低因验证带来的流失率&#xff0c;3秒完成手机号验证&#xff08;一键登录&#xff09;。 秒验主要整合了三大…...

CSS实现自动分页打印同时每页保留重复的自定义内容

当需要打印的内容过长时系统会产生自动分割页面&#xff0c;造成样式不太美观。使用CSS的 media print 结合 <table> 可以实现对分页样式的可控。效果如下&#xff1a; 假设有50条数据&#xff0c;打印时系统会自动分成两页&#xff0c;同时每页保留自定义的header和foo…...

基于prometheus的监控告警怎么实现?

基于 Prometheus 的监控告警实现一般需要以下几个步骤&#xff1a; 安装和配置 Prometheus&#xff1a;安装 Prometheus 并配置好需要监控的目标。可以使用 Prometheus 的配置文件&#xff08;prometheus.yml&#xff09;来指定需要监控的目标&#xff0c;例如服务、主机、容器…...

2007年4月全国计算机等级考试二级JAVA笔试试题及答案

2007年4月全国计算机等级考试二级JAVA笔试试题及答案 一、选择题 &#xff08;1&#xff09;已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF&#xff0c;则该二叉树的后序遍历为 A&#xff0e;GEDHFBCA B&#xff0e;DGEBHFCA C&#xff0e;ABCDEFGH D&#xff0e;…...

灌水玩玩 ChatGPT AIGC生成的有栈协同程序实现(例子)

CO&#xff1a; 你是一名 C/C 高级软件工程师。 请使用 stackful 协程&#xff0c;实现一个 Sleep 随眠的协同程序&#xff0c;注意并非 stackless 协程&#xff0c;不允许使用 C/C 17 以上的语言标准实现&#xff0c;允许使用 boost 基础框架类库。 ChatGPT&#xff1a; 好的…...

【砝码称重】暴力DFS(一半分)+ dp(可AC)

题目描述&#xff1a; 题目分析&#xff1a; 我也没有完全搞太明白&#xff0c;简单说说我的理解 1.dp【i】【j】表示前 i 个砝码&#xff0c;是否可以称出来重量为 j 的物品&#xff0c;如果可以的话&#xff0c;值为1&#xff0c;不可以 为0&#xff1b; 2.针对当前第 i 个…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...

提升移动端网页调试效率:WebDebugX 与常见工具组合实践

在日常移动端开发中&#xff0c;网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时&#xff0c;开发者迫切需要一套高效、可靠且跨平台的调试方案。过去&#xff0c;我们或多或少使用过 Chrome DevTools、Remote Debug…...