bug总是多不如看一看,前端写完代码进行的自测流程减少bug重复反工,提高开发效率。

news2025/1/21 9:40:49
提测标准:
  1. 修改bug前要熟知之前的操作逻辑以及涉及其代码的周边逻辑,修改bug后的操作逻辑和测试确认,检测其它周边逻辑。

  1. 至少需要另外1个开发进行交叉测试

  1. 必要时进行代码Code Review(代码规范,主要逻辑,复杂业务有无注释等, 复杂业务找了解这块的开发,有没有封装可复用的组建。时间<30分钟)

  1. 无影响正常操作及阻断流程的bug。

  1. 对于公用样式、JS、组件的改动需要评估对全局的影响,并需要进行Code Review。

  1. 对于新开发的页面或功能,送测时需要通知UI,UI会检查开发的页面是否符合设计,体验是否统一。

  1. 检查是否有异步代码,查看network接口的调用执行顺序是否符合预期。

  1. 单据是否有审批状态,如果单据为审批中操作按钮都应该禁用。

  1. 页面是否有缓存,数据编辑后当前页面的数据是否发生变化。

  1. 尽量少使用evel函数和innerHtml插入因为这些代码可以解析脚本。

  1. 提交git的时候一定要看本地提交是否有多余的代码操作取代哦console.log 和 debug。

  1. 长时间的调用接口有没有try catch进行处理。

合法性校验

对于一般的输入框,考虑如下:

  • 是否必填,空格是否校验有没有进行trim处理。

  • 对于空格的处理(前空格/后空格/中间存在空格/不允许空格)

  • 超长字符处理

  • 输入字母、中文、标点或其他符号是否合法

  • 编号是否重复

  • 判断账户金额时候足够支付的时候,尤其的自定义金额,一定要拿到原来的金额进行判断(走查询接口),不要拿输入的金额判断。

  • 支付金额不能为0,支付金额不能为负数,支付金额注意js的小数点,一般保留两位,输入框是否可以输入文本(只能输入数字)。

而对于特别的输入框一般都有特定的校验规则,例如数字框、密码框、邮件框、电话号码框等等,这些情况就要校验自己写的正则对不对。

上传文件

主要自测点如下:

  • 文件类型是否正确

  • 文件大小限制

  • 文件数量限制

  • 上传一个空的文件/文件夹,测试是否能够正常上传

  • 上传失败后再进行上传操作,测试能够继续正常上传

  • 文件里的内容进行校验是否为空是否必填是否重复。创建的时候后端有没有进行校验传入的数据,判重。

  • 导入一万条数据接口会不会502,前端有没有将数据分批传送,后端有没有分批创建。

按钮点击loading态。

常见于查询、保存等交互操作,接口返回数据需要一定的时间,而我们 又不想让用户多次重复操作,就需要给页面/按钮加一个loading态,同时禁止点击提交按钮。

如果是弹窗里有按钮,比如说金额的改动,点击完成按钮直接禁用按钮防止多次点击,当再次打开弹窗之后再把按钮给解除禁用,然后检测是否有异步代码,考虑网络慢和网络异常的情况,接口返回成功情况,接口返回失败情况。

删除操作

对于任何删除操作,都应该给予用户一个提示,在用户二次确认过后再执行删除操作,除非交互设计明确了这个地方不需要提示。要记住删除永远是个风险操作。

边界条件
  1. 代码能正确处理接口没有返回数据的场景,比如字段不存在或者值为null或者空数组

  1. 接口返回未登录错误处理,确认该页面是否可以不登录访问;必须登录才可用的页面才需要跳转到登录页面

  1. 对于非必须登录就可以查看的页面(比如个人中心),可以忽略接口不应该返回未登录的错误。

  1. 文字过长(换行或省略,限制输入字符的max-length),元素很多(一行显示不下等,需要换行或者约定可显示最大值),这些测试可以保证我们在’极端‘用例下也可以正常运行。

修改bug后的自测
  1. 需要了解bug的影响面,改完bug后需要对相关流程走一遍,确保没有引入新的问题。另外如果bug的修改涉及到较多的方面,需要在bug里备注说明

  1. 改完bug后需要自己在dev或test环境验证一下(可能需要测试帮忙发布下代码)

  1. 改完bug后尽量通知给相关测试,让他们尽快验证,以免拖到最后发现还有问题没有时间去改。(如果没有发布代码记得给他们说一下)

  1. 重新打回的bug需要确定原因,相互确认

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

服务器SMTP邮件设置

服务器SMTP邮件设置 在服务器设置登录验证时需要绑定一个自动收发邮件的服务器进行验证 这时候就要对STMP进行配置&#xff0c;如下 填写的主机为邮件对应的主机 腾讯QQ邮箱 POP3&#xff1a;pop.qq.com SMTP&#xff1a;smtp.qq.com IMAP&#xff1a;imap.qq.com 端口&…

1.13

周报 完善案例 ​ this.$nextTick(function () {this.$refs.input.focus()})}​ //点击编辑直接获取焦点 this.$refs.input.focus() //但是这种写法 由于input是用v-show控制的 所以执行了上面代码 改变了isEdit值 但是不会立马去重新解析模板 input框还没有出来 //将handleed…

算法第十期——DFS(深度优先搜索)的剪枝优化

目录 DFS:剪枝 DFS:有哪些剪枝方法 DFS例题一&#xff1a;剪格子 【思路】 DFS例题二&#xff1a;路径之谜 【样例分析】 DFS例题三&#xff1a;四阶幻方 【思路】 【做法一】 【做法二】 DFS例题三&#xff1a;分考场 【样例分析】 【思路】 DFS习题 DFS:剪…

TPM零知识学习十一 —— tpm全安装流程复盘(下)

接前一篇文章《TPM零知识学习十 —— tpm全安装流程复盘&#xff08;中&#xff09;》&#xff0c;链接为&#xff1a; TPM零知识学习十 —— tpm全安装流程复盘&#xff08;中&#xff09;_蓝天居士的博客-CSDN博客 五、TPM模拟器做成服务 本步骤前导步骤参见 《TPM零知识学…

Docker——网络配置

目录 本次目标&#xff1a; 一、Docker网络配置 1.bridge模式(默认模式) 2.host模式 二、bridge模式 三、host模式 网络模式与数据卷容器挂载的操作 四、如何创建自定义网络 本次目标&#xff1a; Docker网络配置Docker部署SpringCloud项目 一、Docker网络配置 Dock…

蓝牙耳机啥牌子音质好?听音乐最好的蓝牙耳机分享

现如今&#xff0c;蓝牙耳机越来越成为外出携带设备使用频率最高的数码产品之一。随着技术的进步&#xff0c;蓝牙耳机在音质上的表现也受到了很多人的关注。在这&#xff0c;我来给大家介绍四款音质很不错的蓝牙耳机&#xff0c;一起来看看吧。 一、南卡小音舱蓝牙耳机 售价…

SpringBoot+Vue项目医护人员排班系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏…

Unity3d VFX 采用skinned mesh sampling(蒙皮采样)发射粒子效果时fbx模型是否优化(Optimized)带来的问题记录

前言&问题 如题的问题困扰了很久&#xff0c;最近终于在机缘巧合下解决了&#xff0c;这里特此记录分享一下&#xff0c;可能会对此有问题的朋友有点引导。 之前在弄一个通过摄像头/或视频识别人物的肢体动作并同步的功能&#xff1a; 详细功能可以去B站查看一下。https…

python学习 --- 列表基础

目录 一、列表的创建 1、使用中括号 2、使用中括号和内置函数list() 二、列表的特点 三、获取列表中元素 1、获取列表中指定元素的索引-index() 2、获取列表中单个元素 3、获取列表中多个元素-切片 四、列表元素的查询和遍历 1、判断指定元素在列表中是否存在 2、遍历…

为什么使用 golang http包 会把 linux 句柄打满?

最近工作的时候一个接入服务需要测性能测试&#xff0c;万万没想到测出了一个把 linux 句柄打满的问题 具体是什么问题呢&#xff0c;我们一起来看看 正常操作 项目中&#xff0c;有一些 http 请求是这样写的&#xff1a; 请求 https 的地址&#xff0c;为了绕过 tls &…

【论文精读】基于流序列的基于残差图卷积网络的匿名网络流量识别

Flow Sequence-Based Anonymity Network Traffic Identification with Residual Graph Convolutional Networks 基于流序列的基于残差图卷积网络的匿名网络流量识别 摘要 从网络流量中识别匿名服务是网络管理和安全的关键任务。 目前&#xff0c;一些基于深度学习的工作已经…

JavaScript 事件案例

文章目录JavaScript 事件案例统计输入字符数量验证输入内容搜索框复选框的全选和反选下拉列表自定义鼠标右键菜单ctrlenter发送消息规定范围内拖拽元素两元素碰撞切换图片内容滚动条鼠标滚动缩放图片JavaScript 事件案例 统计输入字符数量 <!DOCTYPE html> <html>…

一文看懂C/C++编译过程以及g++编译选项

前言在linux系统下&#xff0c;输入man g&#xff0c;即可以看到gcc官方文档对gcc编译选项的详细说明&#xff0c;本文也主要是在官方文档基础上&#xff0c;对gcc/g编译过程和一些编译选项进行了总结和说明&#xff0c;希望对学习这块内容的人有所帮助。1、编译的四个阶段一般…

Cannot read properties of null (reading ‘pickAlgorithm‘)

2568 verbose node v16.15.0 2569 verbose npm v8.5.5 2570 error Cannot read properties of null (reading ‘pickAlgorithm’) 2571 verbose exit 1 2572 timing npm Completed in 20918ms 2573 verbose unfinished npm timer reify 1673607123032 2574 verbose unfinished …

openSUSE-Leap-15.4系统分析和微调指南-略读笔记

openSUSE-Leap-15.4系统分析和微调指南——略读笔记 openSUSE Leap 15.4 System Analysis and Tuning Guide SUSE 产品文档-中文(简体)-下载中心 https://documentation.suse.com/zh-cn/sled/15-SP4/ 单击English选择简体中文——单击PDF是可以下载的&#xff0c;例如System A…

学习记录:featurecounts

Input one or more files of aligned reads (short or long reads) in either SAM or BAM formata list of genomic features in either Gene Transfer Format (GTF) or General Feature Format (GFF) or Simplified Annotation Format (SAF)比对后产生的bam或者sam文件&#…

一次简单的本机调试webshell的经历

环境安装 安装php和nginx&#xff0c;不再赘述 apt-get update apt-get install nginx这里我的版本是php7.4 # php -v PHP 7.4.33 (cli) (built: Jan 6 2023 16:10:36) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend …

Optional最佳实践(对象操作利器)

前篇文章已经总结了集合的操作是如何在Java8优化的&#xff1a;函数编程和Stream_txxs的博客-CSDN博客&#xff0c;这篇文章总结一下对于对象如何利用Java8进行操作&#xff0c;这样对于大部分代码都可以用Java8的语法进行操作了。 一、 Optional 是什么 Optional 的作者 Bri…

收购淘米后,MMV加速走向迪士尼式IP开发之旅

一家纯正的元宇宙控股公司与经典IP公司碰撞&#xff0c;能擦出怎样的火花&#xff1f;这个问题或将在不远的将来得出答案。 1月12日晚间&#xff0c;刚在一周前以SPAC方式登陆纳斯达克的MMV&#xff08;MultiMetaVerse&#xff0c;即“元宇宙控股”&#xff09;&#xff0c;宣…

C语言进阶——动态内存管理

目录 一. 为什么存在动态内存分配 二. 动态内存函数 1.malloc 2.free 3.calloc 4.realloc 三. 常见的动态内存错误 一. 为什么存在动态内存分配 在此之前&#xff0c;我们为数组开配空间都是这样的 int nums[10]{0}; 但这样会有很大的局限性 1. 空间开辟大…