web端测试常见BUG总结

2023-10-27

原文:https://www.jianshu.com/p/4c7daac31c0f

一. 缺少非空判断,服务器报500错误

  1. 编辑包含多个字段的页面时,有一些字段在程序中控制是必填的(事先未知),但是提交时没有任何说明提示,当不填写这些字段,直接保存时会出现服务器异常页面,报500状态错误。
  2. 在形如以下结构的if函数中,关系表达式的条件没有对某个变量(该变量因代码疏漏未作初始化赋值)进行非空判断,就直接执行语句体,程序已空值NULL进行参与运算而出现异常,如500错误
if(关系表达式){
  语句体1
}
else{
  语句体2
}
  1. 某个被调用的方法中缺少某些参数的定义,在不知情的情况下,直接调用时传递了未定义过的参数or类型不匹配的参数到该方法,如果对应网站是处理批量的业务,则可能会导致大面积的500异常页面,对网站正常业务和SEO排名损失风险比较大
  2. 新增、编辑->保存。对所提交的字段有的未作非空限制,可以直接保存成功,保存后以空内容展示,可能存在不确定性,比如操作已保存成功的空记录时,是否会影响其他正常添加的记录,是相互独立的,还是会牵连到其他所有的类型

二、服务器配置错误(漏配or错配),更新后出现500 or 404

  1. 服务器配置文件,如web.config中把前台访问的url地址写错,直接发布更新之后,前台页面访问可能会出现404错误
  2. 程序代码中的某些逻辑错误和服务器配置相冲突时,前台页面触发某些特定按钮or页面可能会出现500错误

三、数据传递过程无控制,导致数据输出到界面功能异常or样式变形

  1. 搜索功能:有的页面本身有回显所搜索关键词的功能,搜索输入框填写的keywords字符较长(如:100字符),直接搜索后这些长字符显示在页面中,使得页面原来的样式变形,甚至有的功能按钮被挤到页面之外而不能使用
  2. 新增功能:对于新增字段的长度没有任何限制,超长字符新增可以保存成功,回到列表页也没有对显示的字符长度进行控制,所有字符长度都展示在列表,挤压其他字段的样式导致异常
  3. 某个功能(如:金额输入和统计)在A页面程序限制只能输入正整数,而在B页面却没有相应控制,若不小心在B页面输入了非正整数,比方小数,A和B的数据分别传递到到同一个C页面时数据处理会出现异常
  4. 文章上传/图片上传:超长字符的文章内容or较大尺寸的图片上传,程序没有进行相关的压缩和截取,直接完全调取到前台页面,导致浏览样式异常;

四、批处理数据时服务器响应异常

  1. 批量下载/批量导出:单次选择多条数据记录(如:几k~几w)进行下载,而且数据包占用容量较大时,由于下载本身不一定可以同步进行,有时间差,又会占用服务器资源,系统很可能出现暂时性的卡顿,甚至长时间都不能正常响应其他请求
  2. 批量上传/批量导入:
    a. 比如在上传图片和附件的场景,一般会有限定上传的总数不超过几个文件,若没有限定,则可能出现上传时排队和服务器响应受阻的现象
    b. 对于利用特定的模板导入大量的数据时,采用分步分时间段导入or一次性完全导入,分步导入的情况若遇到其他异常导致导入中断,没有想过异常处理机制,系统会出现错误而不能正常使用;一次性导入,若数据量过大,而服务器不足以支撑,可能会服务器崩溃
    c .批量修改/批量删除/批量转移:一次性修改替换指定的关键词,批量修改数据的状态,批量删除记录,批量将数据记录从一个库转移到另外一个库…这些场景很可能因服务器的频繁的处理而无法为其他请求提供服务;

五.附件上传时,未控制格式、尺寸和容量大小,系统处理出现异常

  1. 文件上传功能:没有限制上传的文件格式、尺寸和大小,当上传非常规文件(如:js文件)、大容量文件(如:图片大小>20M),较大分辨率(如:1600×1200),服务器没有相应的异常处理机制,导致网站出现持续长时间的卡顿,影响后续操作
  2. 上传的是非常规的文件,如js格式文件,程序无相关控制,直接将js文件上传到数据库,前台页面访问时若不能解析则出现异常页面

六.业务逻辑漏洞

支付功能:
a. 商品选择支付的时候,实际已扣款成功,但是用户后台显示该商品没有付款,导致不能使用该商品提供的服务
b. 商品所显示的价格是x元,但是实际支付的时候显示和扣款的价格是y元(x≠y)
找密码流程:
按照常规操作,会直接跳跃了某个必须的流程(流程缺失),但是通过url修改参数又可以访问到该流程,存在安全和逻辑漏洞

七、实现同一功能调用的模块不一致

  1. 支付功能:在不同的页面存在同一功能项支付的入口,在不同的入口作同样的支付,花费的金额不完全一致
  2. 文章调用:前台调用后台添加的文章时,在前台某些地方的文字页面调用文章的过程是“后台–>文章页面”,在前台其他文章页面调用文章的过程是“后台–>x页面–>文章页面”,同样类型的文章相当于调用过程不一样,后者多了一个中转过程,可能会造成最终显示在不同文章页面的样式出现截然不同的效果;

八、不可逆操作,导致流程受阻

  1. APP测试,or H5页面测试,触发某个操作,比如手机触屏下滑刷新页面,不能恢复到操作前的正常页面
  2. 输入某个异常值提交之后,程序没有相关的处理机制,导致页面保存,没法继续进行其他操作
  3. 登录方式切换:登录时有几种不同的方式,如:密码登录&短信验证码登录,但同一时刻默认只能显示一种登录方式。当从密码登录界面点击短信登录切换到短信验证码登录界面之后,没有切换返回密码登录界面的功能
  4. 删除异常:正常情况下可以从列表中删除记录,但是若先对列表记录执行了搜索功能之后,再次删除的时候可能出现删除无响应而删除不了数据
  5. 弹框阻止:当触发某个操作,如“保存”、“提交” or 某个开关按钮,界面中弹出一个提示框,此提示框不管怎么操作都无法关闭,直接阻碍了页面上其他功能的操作

九、安全漏洞

  1. 登录账户,退出or注销之后,浏览器返回键回退之后又可以回到已登录的页面继续操作,识别用户身份的信息并没有失效,用登录后才能访问的url直接访问也可以登录,安全漏洞
  2. 搜索功能:前台页面的搜索输入框中输入特殊敏感符号(如:

十、因兼容性问题导致功能异常

  1. 国内浏览器(360、360极速、搜狗、UC、QQ…)分极速模式、兼容模式,有的还有IE模式。不确定是否是程序框架的原因,发现有不少项目对于国内浏览器的兼容模式反而不能正常使用基本功能,极速模式可以大多数功能使用
  2. IE浏览器:目前IE=11的版本大多数情况可以正常使用基本功能,而IE往下的版本(10,9,8,7,6),且不论样式异常的情况,也很可能存在不同程度的兼容问题致使网站功能不能使用;IE=12的版本暂未输入测试过,后续补充
  3. 国际主流的浏览器(Firefox、Google、Opera、Safari、IE),从几次项目的经历来看,前3款浏览器的兼容性做的比较不错,也不太容易引起大面积的功能异常;而Safari由于PC端的更新没有再继续,最新一次没记错应该是2013年,已知存在的兼容问题也没有解决好,所以也存在不少影响正常功能使用的情况;IE已在以上第2点分析

十一、数据调用/加载异常

  1. 翻页功能:有时候会出现前面几页翻页和数据显示都是正常的,往后再翻页就会出现翻页不了or加载的数据异常
  2. 前端页面有几级菜单的情况下,程序都已经调用过,第一级是正常展示的,但是第二级、三级有可能被折叠而没有显示在浏览器显示
  3. 定位到某个导航主题,调用的数据并不是该主题分类的数据,而是调用成了其他分类的数据
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

web端测试常见BUG总结 的相关文章

  • 单台服务器docker如何搭建rabbitmq集群

    文章目录 一 创建多个RabbitMQ容器 二 将RabbitMQ节点加入到集群中 三 测试 四 在多台服务器上部署RabbitMQ集群 五 通过nginx实现负载均衡 六 如何给RabbitMQ容器添加用户 七 碰到的问题 1 本文是在同
  • Altium AD20过孔盖油,通过设计规则实现过孔盖油,简便实用不会造成遗漏出错

    如果是将PCB源文件发给加工厂 只需说明过孔盖油 板厂就会帮你完成对应的操作 但为了避免源文件泄露 会选择Gerber文件 这时候过孔盖油就要自己来做了 如果没有对规则进行设置 那么切换到Solder层 默认的视图应该是这样的 过孔的周围多
  • Nginx 概述 如何正规安装 静态网页配置 反向代理配置 负载均衡配置

    目录 1 基本概念 1 1 Nginx初步认识 1 2 正向 反向代理 1 3 域名和IP 2 Nginx安装和配置 2 1 安装Nginx 2 2 配置 3 Nginx的使用 3 1 部署静态网页 3 2 反向代理和负载均衡 1 反向代理
  • Python基础知识

    目录 前言 一 Python虚拟环境 1 Python虚拟环境的意义 2 Python构造虚拟环境的方法 3 Python虚拟环境问题处理 二 Python其他知识点 1 pip忽略缓存安装 2 镜像源 3 python查找项目依赖 4 p
  • 谷歌翻译API-python接口-Googletrans

    Googletrans是一个免费且无限制的python库 可实现Google Translate API Google Translate交互式API可以用来调用诸如自动侦测语言种类和翻译之类的用途 英文网址 https py google
  • 用python画星空的代码简单,python星空浪漫表白源码

    大家好 给大家分享一下用python画星空的代码简单 很多人还不知道这一点 下面详细解释一下 现在让我们来看看 用python画星空源代码是什么 用python画星空源代码是from turtle import from random im
  • 计算机主机采用的电子器件发展顺序,计算机采用的主机电子器件的发展顺序是什么?...

    计算机采用的主机电子器件的发展顺序是 电子管 晶体管 中小规模集成电路 大规模和超大规模集成电路 按照计算机采用的电子器件不同将计算机划分为电子管 晶体管 中小规模集成电路 大规模和超大规模集成电路四代 计算机采用的主机电子器件的发展顺序是
  • 海神祭司被机器人拉出来_那一抹勾魂的蓝色,卡西欧海神Oceanus 系列介绍

    本内容来源于 什么值得买APP 观点仅代表作者本人 作者 木木滚滚 先前写的卡西欧G shock系列介绍的文章下面 有挺多老哥说想要看卡西欧海神的介绍文章 于是说写就写 也开启一个新的专栏系列文章 希望能坚持写下去 一 卡西欧手表的分类 我
  • 使用lightdm启动dwm或桌面

    简介 LightDM 是一个跨桌面环境的显示管理器 它的特点有 跨桌面 支持不同的桌面环境 支持多种显示技术 X Wayland 轻量级 低内存使用 高性能 支持定制会话 支持远程登录 XDMCP VNC XDMCP 可插拔 完善的测试组件
  • Unity中的一些问题

    Unity代码编写标准流程 1 建议按照执行流程写代码 这样减少忘记写功能的可能性 2 复杂的类型的初始化赋值 不要在初始化中赋值 应该设为private 因为不用在窗口中赋值 所以在start 中初始化 常规问题 一些Unit bug 脚
  • 《Code_Complete_2》持续更新中......

    如何阅读这本书 这本书有意设计成使你既可以从头到尾阅读 也可以按主题阅读 1 如果你想从头到尾阅读 那么你可以直接从第2章 用隐喻来更充分地理解软件开发 开始钻研 2 如果你想学习特定的编程技巧 那么你可以从第6章 可以工作的类 开始 然后
  • 为什么美国程序员工作比中国程序员工作轻松、加班少?

    作者 LJ说 责编 伍杏玲 本文经授权转载自LJ说 ID LjNotes 先问是不是 再问为什么 难道美国的程序员就不加班吗 他们就一天八小时工作 还想来就来 想走就走 非工作时间完全找不到人 还有什么食物饮料都免费提供 让我来告诉你真实的
  • webpack

    看一下完整报错 asset static js index js 4 04 KiB compared for emit name main src main js 39 bytes not cacheable built code gene
  • 基于Neptune开发板的键盘蓝牙模块DIY指南

    本期我们带来基于润和Neptune开发板 以下简称Neptune开发板 的键盘蓝牙模块DIY指南 利用Neptune开发板支持串口和蓝牙功能等特性 将有线键盘改造成蓝牙键盘 实现一个键盘被多操作系统 终端设备识别使用的功能 达到提高工作效率
  • C++ 检测内存泄露工具 -- Windows平台

    平台 Windows7 64bit 编译器G mingw 工具 Dr Memory 项目主页 https code google com p drmemory 可能要FQ 可能会很慢 所以 可以直接按照下面官方主页给出的链接下载 我也放了一
  • 人工智能应用实例:图片降噪

    人工智能应用实例 图片降噪 场景设置 对白色背景 黑色前景的黑白图片进行降噪处理 可以假定背景部分多于前景 图1 从左往右 原图 噪声图 降噪图 降噪模型 我们可以对图片建立这样一个两层的二维模型 底层表示原图 顶层表示任意的噪声图 xi为
  • Power BI 数据模型设计及搭建——星型模型&雪花模型

    前言 之前的笔记提到了 Power BI 数据模型的核心概念 本文继续深入讨论数据模型的设计架构 同时介绍两种常用的数据模型 星型模型和雪花模型 BI 的数据模型和数仓模型有什么不同 数据仓库和Power BI中使用的数据架构模型有一些相似
  • 创建SpringBoot项目时修改Server URL(下载路径)

    使用spring initializr创建Springboot项目时 IDEA默认的Server URL为 https start spring io 使用该下载路径缺点 1 从中央仓库进行下载 下载速度慢 2 当网络不稳定时 或网络访问限
  • 《动手学深度学习 Pytorch版》 4.6 暂退法

    import torch from torch import nn from d2l import torch as d2l 4 6 1 重新审视过拟合 整节理论 详见书本 4 6 2 扰动的稳健性 整节理论 详见书本 4 6 3 实践中的

随机推荐

  • js去掉小数点后面多余的0

    用parseFloat 如 var a 23 8000 alert parseFloat a 结果 23 8 当然这个也有可能有想不到的结果 document write parseFloat 12dream3456 789 documen
  • 4、编写程序,根据用户输入的数字转换成相应的中文的大写数字。例如,1.23转换为“壹点贰叁”。

    Python 4 编写程序 根据用户输入的数字转换成相应的中文的大写数字 例如 1 23转换为 壹点贰叁 问题遇到的现象和发生背景 输入含有0就不会输出 问题相关代码 import jieba ChineseNum 零 壹 贰 叁 肆 伍
  • 读书:滑铁卢

    又到4月23日国际读书日 又是一年轮回 有些老朋友可能知道 TC研修实验室有一条不成文的老传统 每逢此时 都会按书年度进行读书总结 至今 已是第4个年头 只不过 是遭遇 读书滑铁卢 的一年 当我到豆瓣查看这一年的读书记录时 我震惊了 纳尼
  • 模拟CMOS集成电路设计中的电流基准源及用Cadence Virtuoso IC617设计并仿真有关电路

    前言 本文为我自己的学习笔记 属于Cadence Virtuoso系列的进阶部分 采用的软件版本是Cadence Virtuoso IC617 其他文章请点击上方 看我制作的Cadence Virtuoso专栏内容 在前面的文章中 记录了电
  • sql_model

    关于sql mode sql mode是MySQL数据库中的一个环境变量 定义了mySQL应该支持的SQL语法 数据校验等可以通过select sql mode 查看当前数据库使用的sql mode 查看当前数据库的sql mode sel
  • 汉字统计

    题目 统计给定文本文件中汉字的个数 输入格式 输入文件首先包含一个整数n 表示测试实例的个数 然后是n段文本 输出格式 对于每一段文本 输出其中的汉字的个数 每个测试实例的输出占一行 Hint 从汉字机内码的特点考虑 数据范围 无 样例输入
  • Js 逆向:微博登录

    1 先分析参数 su sp是必要的 其中su是加密后的账号 很简单就是个bs64 不再说了 2 直接搜参数 这个时候要搜代表性的 特殊的 例如pwencode 很好只有一个 两种加密 一个是RSA 一个是sha 这里判断用的是RSA 3 直
  • VUE的认识及基础语法

    VUE的认识及基础语法 我们先来了解一下什么是VUE 什么是渐进式 库 插件和框架的区别 vue从而出现了一种开发模式那就是mv 插值表达式的使用 指令 关于属性 循环 v model 自定义指令 过滤器 修饰符 v on 指令常用修饰符
  • 光线追踪(ray tracing)介绍与细节推导

    背景 最近因为找到关于光线追踪相关不错的教程 所以边学习边做记录并希望将相关资料进行分享 光线追踪作为计算机图形学中一种可以获得良好的效果的渲染算法 有着非常广泛的应用 历史背景相关的介绍可参考百度百科或者维基百科 本文中的参考资料来自于P
  • 【爬虫】JS逆向解决反爬问题系列5—sign破解

    欢迎来到我的博客 作者 秋无之地 简介 CSDN爬虫 后端 大数据领域创作者 目前从事python爬虫 后端和大数据等相关工作 主要擅长领域有 爬虫 后端 大数据开发 数据分析等 欢迎小伙伴们点赞 收藏 留言 本次博客内容将讲解关于sign
  • COM基础

    曾经看过潘老师的 lt
  • GPT2-Chinese:中文的GPT2训练代码

    推荐一个中文的GPT2项目 Chinese version of GPT2 training code using BERT tokenizer 作者提供了一份中文的GPT2训练代码 使用BERT的Tokenizer 可以写诗 新闻 小说
  • 液位系统c语言程序,超声波自动测量物体液位系统的设计

    超声波自动测量物体液位系统的设计 任务书 毕业论文15000字 摘要 本系统以STC89C52单片机为核心 通过硬件电路连接和软件程序的编写实现通用型超声波自动测量物体液位系统的设计 其主要原理是由单片机控制超声波发射电路发射超声波 超声波
  • win10手动添加程序到右键菜单/右键以pycharm project方式打开文件夹

    这次主要原因是在安装pycharm时 没选择将pycharm加入右键菜单 以至于无法选定文件夹作为pycharm项目打开 每次都需要打开pycharm 加载一个自己不需要的项目 再从pycharm里打开自己想要的 就去查了一下在win10里
  • 支付宝&微信个人收款支付系统解决方案

    原文链接 对于个人收款支付系统 由于没有营业执照 微信 支付宝官方提供的接口无法使用 个人二维码收款又无法完成支付系统后续工作 这个问题一直以来都没有找到一个适合的解决方案 经过不断尝试 最终找到了一个非常好用的第三方工具来解决这个问题 G
  • 决策树和朴素贝叶斯

    决策树 热力第二 物理 熵 混沌 系统越大 越乱 越看不懂 混乱度越大 熵越大 gt 熵增 容器 容器有个隔板 一边是氧气 一边是氮气 gt 熵 信息论 计算机是二进制 信息熵 中华民族9万个汉字 有多少本书 都是用9万个汉字排列 7000
  • Vue+iview表单验证失效

    iview表单验证的步骤 第一步 给 Form 设置属性 rules rules 第二步 同时给需要验证的每个 FormItem 设置属性 prop 指向对应字段即可 prop 第三步 注意 Form标签里面是 model 第四步 注意 在
  • 项目管理-进度网络图

    项目管理 网络图 一 网络图 1 1 分类 1 1 1 单代号网络图 节点型 1 2 2 双代号网络图 箭线型 1 2 逻辑关系 1 3 提前量和滞后量 1 4 关键路径法 Critical Path Method 1 5 基本概念 二 七
  • c语言c++新手题目a+b a*b

    两个变量之间的基本运算是学习c语言必不可少的入门题目 a b的求和意思是定义两个任意变量并输出他们的和 a b同理 开始写代码之前需要先了解c语言中各种符号的意思 所有的 C 语言程序都需要包含 main 函数 代码从 main 函数开始执
  • web端测试常见BUG总结

    原文 https www jianshu com p 4c7daac31c0f 一 缺少非空判断 服务器报500错误 编辑包含多个字段的页面时 有一些字段在程序中控制是必填的 事先未知 但是提交时没有任何说明提示 当不填写这些字段 直接保存