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

Web功能测试测试点总结!

web测试就是基于BS架构的软件产品的测试,通俗点来说就是web网站的测试。

一 、界面检查

  1. 当我们进入一个页面时,首先应该检查title,页面排版(即页面的展示),而不是马上进入字段校验
  2. 页面面包屑导航是否正确
  3. 当前位置是否可见 您的位置:xxx>xxxx
  4. 文字格式统一性
  5. 排版是否整齐
  6. 列表项显示字段是否齐全,列表项字段名称是否跟表单统一
  7. 同一页面,是否出现字段名称相同、值取不同的问题。
  8. 数据加载情况:除了文本框的值,还要注意以下三点:
    (1)复选框,是否保存打√,或者保存不打√
    (2)下拉框,是否保存选择的值
    (3)多文本框,值是否都被保存,空格,换行是否保存

二、单文本框(type=text)

  1.边界:字段长度  2.判空:是否可以为空  3.唯一性:是否唯一(边界、判空、唯一性、特殊字符、正确性)  4.考虑语言,操作环境  5.特殊符号测试输入:  ' or 1<>'1,' or '1'='1,' or '1'<>'2,"|?><,where a='xxx',下划线是否允许,输入全部空格, 输入 单引号 “<script>alert(“123”);</script>”

  6.特殊字段输入限定:   (1)框内容是否合法(tel,ip,url,email)序号等,直接限制输入数字,其他过滤掉   (2)输入金额文本框,整数首位为0,过滤掉,小数点后面,一般保留两个有效数字。  (3)正确性测试:(必不可少的步骤)   1).(字段长度输入最大允许长度时)数据允许长度的测试:  a.页面是否被挤出的测试(都输入长英文字符串,是否断行);   b.数据库是否允许最大字符(都输入汉字、都输入英文、混合……);   c.最短长度的正确流程,最大长度的正确流程覆盖。   2).对于允许为空的字段,不填入,再次数据传递后,看是否报500错误。   3).未规定字段长度(或者数值大小),不按死板输入,输入非常多字符(或者非常大的数值)时,做允许动作的正确性校验,看是否报错。(要达到的结果:不管有没有长度限制(没有给最长、最大限制让你去测?),最终页面不能抛数据库异常。)  说明:通过不断输入长字符串,看是否有长度校验;  最终都会出现以下两种情况的一种:页面(前台)有校验长度、大小;或者无校验,数据库报错。  所以:所有字段都要做长度、大小限制(不管需求有没有给出明确要求,不管测试颗粒度,都要限制长度,不允许报数据库错误,都要测!!!)。

​ 7.最大长度限制可限定方法:

​ (1)不允许再输入;

​ (2)自动截断处理,并且给用户提示。 8.关于长度概念:   (1) 数据库规定的字节长度A   (2)页面上可以输入的字符数B   控制方法:   1).页面上,不管输入什么字符(全角如汉字、半角如字母),统一规定不能超过B个字符,此种限制,   测试点:全部输入全角B个,测试(B*3字节)会不会超过数据库字节长度   全部输入半角B个,测试(B*1字节)会不会超过数据库字节长度   混合输入全角X半角Y,测试(X*3+Y字节)会不会超过数据库长度   2).页面上,不以字符统计,以总的输入字节数统计,比如,全部输入全角字符,允许可以输入A/3个字符,全部输入半角字符,允许输入A个字符( 民生网的设计)   测试点:全部输入全角,看是否允许输入A/3个字符   全部输入半角,看是否允许输入A个字符   混合输入全角X,半角Y,看是否允许X*3+Y=A   3).判空、唯一、边界值、特殊字符、正确流程(多种数据、多种分支),测试校验位置:ajax鼠标事件校验、前台提交按钮js校验,服务器拿到数据后再次验证

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

三、多文本框(type=textarea)

  1.空格和换行的问题,看需求,是否需要做支持HTML Encoding,输入全部空格时,是否判空处理?””,空格。  2.输入折行,是否也显示折行?比如:列点说明原因,就需要支持。  3.字母截断的问题,对于一串字母,开发人员往往会忘掉做截断,这样如果展示在我们的平台上的话,这一串字母就会把我们的UI撑开  4.长度控制格式, 您还可以输入***个字符

四、添加按钮

  1.添加动作检查范围:   失败:是否提示,提示内容是否正确   失败时:保存用户已输入的内容,避免重新再输入   成功:对话框消失,记录是否可直接查看(还需要刷新?)   列表记录顺序   重复提交情况,点击一次后,是否变成disable  2.上传附件的添加:  (1)文件名称:文件名称很长;文件名称字符多样化(汉字,英文,符号);文件名称重复。  (2) 判空?  (3) 附件格式类型支持?  (4) 附件个数?  (5) 附件空间大小。

五、移除按钮

  1.一般都要在前台先给出一个提示操作“确定移除该……”  2.相关联的东西,是否需要限制移除“该类型下存在应用,无法移除”有到后台比较  3.确定后,真正执行移除操作。  结果:移除后,列表数据是否立即消失。必须有确认删除的提示信息

六、列表

1.列表记录顺序2.是否需要翻页、有没有翻页功能3.字段名称是否与表单一致

七、搜索-文本框

1.功能点、需求点考虑:是否提供模糊查询、输入数值有种类有限定时,是否考虑换成下拉框搜索;2.检查点:文本框值是否消失(是否回填条件值),再次点击“查询”可查看所有记录;考虑搜索结果:是否存在分 页,分页是否正常;是否有序;注意:分页是否仍保存查询条件,检查后面的记录是否符合条件3.查询数据多样性:输入不存在的字段值测试、包括特殊字符查询测试例如:' or '1'='1;输入类似程序语句的条件时是否执行查询,如:XXXX”、XXX and ;4.操作类型:  (1) 不输入的查询  (2) 输入全部空格的查询  (3) 模糊查询(输入部分字段,或者说,输入英文字母,查询到相关中文数据)  (4) 输入不存在的查询  (5) 输入存在的查询  (6) 单个查询和多个条件复合查询。

八、搜索-下拉框

1.检查点:

  • 搜索结果是否有序;
  • 下拉框值是否齐全;(下拉框值本身也是一个动态查询的结果)
  • 下拉框值是否自动消失,再次点击“查询”可查看所有记录(是否要回填条件值);
  • 分页时,是否保存搜索条件。(从UI、开发、业务逻辑、用户使用等角度测试)

  PS:  以上总结的, 是比较纯粹的从页面控件角度测试点出发, 对于完整测试一个整体页面,需要各类测试有机结合起来: (1)UI测试:页面布局; 页面样式检查;控件长度是否够长;显示时,是否会被截断;支持的快捷键,Tab键切换焦点顺序正确性等。 (2)功能测试:页面上各类控件的测试范围,测试点,可参考上方 (3)结合控件的实际作用来补充检查点: 比如, 密码框是否*显示, 输入是否做trim处理等 (4)安全测试:输入特殊字符,sql注入,脚本注入测试  a.后台验证测试,对于较重要的表单 ,绕过js检验后台是否验证  b.数据传输是否加密处理,比如, 直接请求转发,地址栏直接显示发送字符串?  c.数据库存储,特别密码等,是否加密形式存储 (5)兼容性测试 (6)性能测试

六.常见功能点测试思路

根据经验,总结常见的功能点的测试思路:

1.新增或创建(Add or Create)(1)操作后的页面指向  .2 操作后所有绑定此数据源的控件数据更新,常见的排列顺序为栈Stack类型,后进先出  .3 取消操作是否成功

2.编辑或更新 (Edit or Update)

(1)操作后的页面指向(2)操作后所有绑定此数据源的控件数据更新(3)取消操作是否成功(4)编辑界面是否读取出正确、全部的数据源(5)记录在工作流中的编辑功能可用性(6)操作成功的生效时刻及生效范围

3.删除或移除 (Delete or Remove)

(1)操作后的页面指向(2)操作后所有绑定此数据源的控件数据更新 (如下就是删除后,Tab数据没有立即刷新的bug)4.取消操作是否成功(1)记录在工作流中的编辑功能可用性(2)操作成功的生效时刻及生效范围(比如:购物网站,店家商品下架后,并没有同时删除买家的购买记录)5.选中 或 全选 (Check or Check all)(1)多页面中,全选对所有页面是否有效(2)支持多页面的个别选中,且返回查看时保留选中状态(3)界面上的按钮的操作范围是否均受选中功能控制(4)前一页选中状态,在翻页后,应保留原来状态(5)先全选-》移除某个单选-》全选按钮是否移除选中状态

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

相关文章:

Web功能测试测试点总结!

web测试就是基于BS架构的软件产品的测试&#xff0c;通俗点来说就是web网站的测试。 一 、界面检查 当我们进入一个页面时&#xff0c;首先应该检查title&#xff0c;页面排版(即页面的展示)&#xff0c;而不是马上进入字段校验页面面包屑导航是否正确当前位置是否可见 您的位…...

关于vue3的简单学习

Vue 3 简介 Vue 3 是一个流行的开源Java框架&#xff0c;用于构建用户界面和单页面应用。它带来了许多新特性和改进&#xff0c;包括更好的性能、更小的打包大小、更好的Type支持、全新的组合式 API&#xff0c;以及一些新的内置组件。 一. Vue 3 的新特性 Vue 3引入了许多新…...

windows server 2019 -DNS服务器搭建

前面是有关DNS的相关理论知识&#xff0c;懂了的可以直接跳到第五点。 说明一下&#xff1a;作为服务器ip最好固定下来&#xff0c;以DNS服务器为例子&#xff0c;如果客户机的填写DNS信息的之后&#xff0c;服务器的ip如果变动了的话&#xff0c;客户机都得跟着改&#xff0c…...

使用 XCTest 进行 iOS UI 自动化测试

使用 XCTest 进行 iOS UI 自动化测试是一种有效的方法&#xff0c;可以帮助你验证应用界面的行为和功能。以下是使用 XCTest 进行 iOS UI 自动化测试的基本步骤&#xff1a; 设置项目: 确保你的 Xcode 项目已经包含了 XCTest 测试目标。在测试目标中创建一个新的测试类&#xf…...

【Python】FANUC机器人OPC UA通信并记录数据

目录 引言机器人仿真环境准备代码实现1. 导入库2. 设置参数3. 日志配置4. OPC UA通信5. 备份旧CSV文件6. 主函数 总结 引言 OPC UA&#xff08;Open Platform Communications Unified Architecture&#xff09;是一种跨平台的、开放的数据交换标准&#xff0c;常用于工业自动化…...

Linux 中断处理

一、基本概念 1、中断及中断上下文 中断是一种由硬件设备产生的信号&#xff0c;不同设备产生的中断通过中断号来区分。CPU在接收到中断信号后&#xff0c;根据中断号执行对应的中断处理程序&#xff08;Interrupt Service Routine&#xff09; 内核对异常和中断的处理类似&a…...

人大金昌netcore适配,调用oracle模式下存储过程\包,返回参数游标

using KdbndpConnection conn new KdbndpConnection("Host192.168.133.221;Port54321;Databasedb1;Poolingtrue;User IDsystem;Password123");conn.Open();//存储过程调用也是类似using var cmd conn.CreateCommand();cmd.CommandText "模式.包名称.存储过程…...

pandas常用的一些操作

EXCLE操作 读取Excel data1 pd.read_excel(excle_dir) 读Excel取跳过前几行&#xff1a; data1 pd.read_excel(excle_dir,skiprows1) 获取总行数 data1.shape[0] 获取总列数 data1.shape[1] 指定某列数据类型 data1 pd.read_excel("C:数据导入.xlsx",dtype…...

【鸿蒙开发】系统组件Row

Row组件 Row沿水平方向布局容器 接口&#xff1a; Row(value?:{space?: number | string }) 参数&#xff1a; 参数名 参数类型 必填 参数描述 space string | number 否 横向布局元素间距。 从API version 9开始&#xff0c;space为负数或者justifyContent设置为…...

Hadoop和zookeeper集群相关执行脚本(未完,持续更新中~)

1、Hadoop集群查看状态 搭建Hadoop数据集群时&#xff0c;按以下路径操作即可生成脚本 [test_1analysis01 bin]$ pwd /home/test_1/hadoop/bin [test_01analysis01 bin]$ vim jpsall #!/bin/bash for host in analysis01 analysis02 analysis03 do echo $host s…...

蓝桥杯算法题:栈(Stack)

这道题考的是递推动态规划&#xff0c;可能不是很难&#xff0c;不过这是自己第一次靠自己想出状态转移方程&#xff0c;所以纪念一下&#xff1a; 要做这些题目&#xff0c;首先要把题目中会出现什么状态给找出来&#xff0c;然后想想他们的状态可以通过什么操作转移&#xf…...

JavaWeb-监听器

文章目录 1.基本介绍2.ServletContextListener1.基本介绍2.创建maven项目&#xff0c;导入依赖3.代码演示1.实现ServletContextListener接口2.配置web.xml3.结果 3.ServletContextAttributeListener监听器1.基本介绍2.代码实例1.ServletContextAttributeListener.java2.配置web…...

系统架构设计基础知识

一. 系统架构概述系统架构的定义 系统架构&#xff08;System Architecture&#xff09;是系统的一种整体的高层次的结构表示&#xff0c;是系统的骨架和根基&#xff0c;支撑和链接各个部分&#xff0c;包括构件、连接件、约束规范以及指导这些内容设计与演化的原理&#xff0…...

Vue自定义指令介绍及使用方法

介绍​ 除了 Vue 内置的一系列指令 (比如 v-model 或 v-show) 之外&#xff0c;Vue 还允许你注册自定义的指令 (Custom Directives)。 之前已经介绍了两种在 Vue 中重用代码的方式&#xff1a;组件 和 组合式函数。组件是主要的构建模块&#xff0c;而组合式函数则侧重于有状态…...

React 组件生命周期函数的用法和示例代码

React 中的生命周期函数可以分为三个阶段&#xff1a;Mounting&#xff08;挂载&#xff09;&#xff0c;Updating&#xff08;更新&#xff09;和 Unmounting&#xff08;卸载&#xff09;。每个阶段都有不同的函数&#xff0c;用于执行不同的操作。 Mounting&#xff08;挂载…...

【nginx运维】[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)

关于nginx端口被占用的问题&#xff1a; If you get following error, when you try to start nginx… [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) Then it means nginx or some other process is already using port 80. You can kill it using: su…...

浏览器工作原理与实践--虚拟DOM:虚拟DOM和实际的DOM有何不同

虚拟DOM是最近非常火的技术&#xff0c;两大著名前端框架React和Vue都使用了虚拟DOM&#xff0c;所以我觉得非常有必要结合浏览器的工作机制对虚拟DOM进行一次分析。当然了&#xff0c;React和Vue框架本身所蕴含的知识点非常多&#xff0c;而且也不是我们专栏的重点&#xff0c…...

arm工作模式、arm9通用寄存器、异常向量表中irq的异常向量、cpsr中的哪几位是用来设置工作模式以及r13,r14,15别名是什么?有什么作用?

ARM 首先先介绍一下ARM公司。 ARM成立于1990年11月&#xff0c;前身为Acorn计算机公司 主要设计ARM系列RISC处理器内核 授权ARM内核给生产和销售半导体的合作伙伴ARM公司不生产芯片 提供基于ARM架构的开发设计技术软件工具评估版调试工具应用软件总线架构外围设备单元等等CPU中…...

电脑上音频太多,播放速度又不一致,如何批量调节音频播放速度?

批量调节音频速度是现代音频处理中的一个重要环节&#xff0c;尤其在音乐制作、电影剪辑、有声书制作等领域&#xff0c;它能够帮助制作者快速高效地调整音频的播放速度&#xff0c;从而满足特定的制作需求。本文将详细介绍批量调节音频速度的方法、技巧和注意事项&#xff0c;…...

pe格式从入门到图形化显示(十)-扩展最后一个节

文章目录 前言一、怎么扩展最后一个节&#xff1f;二、扩大节1.扩展节2.保存文件 前言 通过分析和解析Windows PE格式&#xff0c;并使用qt进行图形化显示 一、怎么扩展最后一个节&#xff1f; 在PE文件中&#xff0c;扩大最后一个节通常是通过修改PE文件头中的节表来实现的。…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...