bug的分类
语法上的问题:
在循环的时候,
1.一定要注意这个循环的对象是否是空对象;空对象就不需要进行循环了,
判断一下,空对象就不需要进行循环了; 2.在XXX.a属性的时候,要注意这个对象是否有这个key;
可以是用关键字in;
'key' in boj 有这个字段就是true,
没有这个字段就是false (3) 对以显示的内容;都应该考虑内容过长怎么处理这个问题;
通过的解决办法是超出 显示省略号 (4) 在弹框添加内容后;清除数据; 不要让数据有引用值; (5) 限制用户的输入;用户输入太长了,可能报错; (6) 文件上传时,应该检查上传文件的格式是否正确;以及验证文件的大小;
文件格式检查办法
var fileName =params.file.name;
var fileArr = fileName.split('.');//将字符串转化为数组;
var fileType=fileArr[fileArr.length-1];//获取数组最后一个就是文件的格式类型 (7) 时时注意自己的代码有没有异步操作,应为异步可能会发生意想不到的情况;
比如下面这个就是异步造成的bug;写代码时,随时注意这样做会不会产生异步
imsendStart(item){
//教室所需要的的参数
var treeArr_params=[];
// 查询教室参数
let treeidParams={
id:item.id
}
this.$api.sever(treeidParams).then(res=>{
if(res.success==true&&res.data){
treeArr_params= res.data.map(v=>v.classroomId);
}else{
treeArr_params=[];
}
})
let params={
classroomId:treeArr_params, //这里可能拿不到值,因为这里可能会产生异步这样的情况
}
this.$api.immediatelyStart(params).then(res=>{ })
}, (8)视图没有跟新的情况
// 渲染接口
postTestRenderTestListApi(){
this.$api.postTestRenderTestList().then(res=>{
if(res.success==true){
if(res.data&&res.data.length>0){
this.schoolTestList=res.data;//赋值语句 是有问题的;如果只有一条数据,这条数据被删除后;就不会走到if语句体里面;
//就会出现视图未跟新这样的情况;在else中处理一下
}else{
this.currentOrder=-1;
this.$emit('nodatahander')
}
}else{
//因为没有数据他返回的是false
this.schoolTestList={};
}
})
},
 细节:
(1) 在上传文件的过程中,应该有提示语;表示文件正在上传中;
操作上的问题
(1) 在表格中删除数据时,第1页页以后的数据,在删除的时候,将页码重置为1;
然后在调用更新接口,如果第二页有一条数据,那么删除后,可能会出现没有数据这种情况;
因为此时页码是2,所以没有数据了; (2) 在小程序中,下拉刷新 上拉刷新 的时候,注意数据是否有堆叠这种情况; (3)
很多时候,我们都需要存储用户点击的值,
那么什么时候应该存储用户的值
就显得非常的重要了,
我有些时候喜欢在用户点击的时候,
就把值给存储起来了;
其实这是非常的不专业的;
并不是用户点击了就处理了值;
应该是用户点击了确认按钮,你才应该存储值 后面在写今天只想到这么多了
今天又增加了一些,希望自己每天都可以进步;

文件上传的注意点

1==》在进行文件上传的时候,需要限制文件的类型。
2==》是否限制文件的大小
3==》上传成功后,需要将文件对象清空。
4==》上传的时候时候需要提示正在上传中
5==》按钮一定不可以多次连续点击
6==》当用户上传的时候,将按钮设置为loadIng中,除非成功或者失败才可以重置。

表格分页的注意点

1==》
注意表格某一页的数据只有一条数据。
在删除的时候,需要将页码重置为1 2==》
在表格进行条件查询的时候。
一定要将页码重置为1 3==》表格中,在进行数据勾选的时候;
无论是批量删除还是单个删除
操作完后,都应该将勾选值重置为【】

多次连续点击一定会有bug产生,所以需要注意一下

一定要考虑最初初始状态

在我们写完页面对完接口之后。
一定要喊后端将数据清空,走一次初始状态。
否者在项目上线的初始状态。
一定会有千奇百怪的问题

一定要if之后的else

我们都知道if和else
我们在使用的使用
一定要考虑else这种情况会怎么样哈
比如说:成功后的if中你赋值了
else失败的情况是不是你要将值清空
严格的来说:
如果if中的语句是赋值语句
那么else中的语句就是清空语句
这个你一定要注意哈

内容太多如何做处理

我们一定要考录内容太多的处理方式哈
比如说:
上传的文件名很长
数据太多
选择框中的数据太多应该怎么处理
总之就是数据太多应该怎么去处理

隐式转换的注意点

我们都知道 数字 0 null  undefined  ' '  " "
这几个进行隐私转换的时候等于false
然后有意思的是事情就发生了
在进行数量展示的的时候
if(item.num){
this.money=item.num
}else{
this.money=''
}
后端返回来的item.num=0
然后我就翻车了
这个要注意一下哈
看一下是否是数字类型的
数字类型的判断需要注意

一定要注意数据值少了怎么样

比如echarts的柱状图,正常情况是7个柱状图。
在特殊情况下,可能有只有2个柱状图
这样的情况会不会出问题呢
很显然我出问题了

使用JSON.stringify的value=undefined会出问题的

let signInfo = [
{
fieldId: 539,
value: undefined
},
{
fieldId: 540,
value: undefined
},
{
fieldId: 546,
value: undefined
},
] // 判断到value为undefined,返回空字符串即可
JSON.stringify(signInfo, (key, value) => typeof value === 'undefined' ? '' : value)
// '[{"fieldId":539,"value":""},{"fieldId":540,"value":""},{"fieldId":546,"value":""}]'
链接:https://juejin.cn/post/7017588385615200270 这样情况很有可能会出现在表单搜集数据
有人已经翻过车了

表单类型的bug

表单数据什么都没有填写,直接点击提交按钮是否会报错?
结果按钮加了一个转圈圈,导致后面第二次压根就无法添加了。
尴尬不嘛? 所以我们可以延伸:表单类型的bug
<1> 数据为空,直接点击提交按钮。
<2> 数据只写了必须输入的字段,直接提交
<3> 数据只写了非必须输入的,直接提交
<4> 提交失败,按钮是否可以再次重复提交
<5> 第一次正确提交后,你是否把值清空了,特别是引用类型的值。
<6> 表单(输入类型)一定限制字数或者内容

关于表格删除的bug

<1> 单条数据删除时,如果某一页只有一条数据,删除后出现无数据咋个办?
<2> 在批量勾选删除时,同样出现某一个把全部数据删除了,出现无数据咋个办?
<3> 批量删除后,是否把勾选的值清空

关于运算符的bug

只要含有小数的四则运算,你就一定要考虑精度丢失这样的问题

关于循环的bug

在循环的时候,你一定要考虑某一个字段为空这样的情况
在获取某个值的时候,要考虑是否是空状态
否则会造成页面假死这样的情况。你一定要注意哈

你最常见的bug

1.表单没有去限制长度
2.展示表单的地方没有考虑内容太多如何处理
3.字体的颜色,大小,间距,没有注意到
要注意界面上的显示值与你传递的参数是否保持一致
要注意界面上的显示值与你传递的参数是否保持一致
要注意界面上的显示值与你传递的参数是否保持一致
重要的事情说三次

样式bug

屏幕变小后,会不会影响你的界面。其实不应该影响页面布局的。
因为用户可能是屏幕分辨率比较低的笔记本。写好页面后,应该缩小页面,观察是否影响界面
这次已经提出了一个bug 22.11.29

性能方面的bug

像表格,列表。如果后端没有分页的话。你应该考虑一下数据如果达到上千条数据后
页面会非常的卡顿。(数据只要达到3000条左右的时候,就会非常的的卡顿)
解决办法:1.喊后端分页处理 2.前端分页处理或者做虚拟滚动
到不然肯定会有性能方面的bug

echarts的折线图的bug

 echarts的折线图:当x轴数据特别多。此时X轴会自动省略掉其中的一些轴。这是echars的一个特点
此时可能会出现X轴最后一个刻度无法显示。【只要数据量大,就一定会出现的】
解决办法:设置showMaxLabel: true,后虽然可以显示X轴最后一个刻度.
但是也有可能是最后一个刻度无法显示完全。
还需要配置grid: {left: '3%',right: '4%', bottom: '3%',containLabel: true }来处理

bug的分类的更多相关文章

  1. bug级别分类

    bug级别分类 2014-10-20 10:02 6403人阅读 评论(0) 收藏 举报  分类: SQA(17)  版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   由 ...

  2. Bug的分类和管理流程

    1.按照严重程度划分 定义:是指Bug对软件质量的破坏程度,即BUG的存在将对软件的功能和性能产生怎样的影响 分类:系统崩溃.严重.一般.次要.建议 2.按优先级划分 定义:表示处理和修正软件缺陷的现 ...

  3. bug的分类和等级

    一.bug的定义 软件的bug,狭义指软件程序的漏洞或缺陷,广义指测试工程师或用户提出的软件可改进的细节.或与需求文档存在差异的功能实现等 对应三个测试目的:(3个为了) 1.为了发现程序的代码或业务 ...

  4. bug大致分类及如何定位

    前端 一.概念:网站的静态页面设计,网站前端工作使用的是html.css.javascript等技术设计网站页面的样式和排版布局,这就是网站前端. 二.Bug类别 1.HTML:出现文本的问题基本都是 ...

  5. Bug的分类及优先级划分

    P0等级(功能无法正常使用.Block测试流程) 严重花屏 内存泄漏 用户数据丢失或破坏 系统崩溃/死机/冻结 模块无法启动或异常退出 严重的数值计算错误 功能设计与需求严重不符 其它导致无法测试的错 ...

  6. 修改BUG心得

      修改BUG心得 分类: 项目管理/CMMI2013-01-14 22:06 845人阅读 评论(0) 收藏 举报 目录(?)[-] 一 二 三 一. 1.写第一版时就杜绝这些的发生. 2.思维要开 ...

  7. 改进意见的答复及bug重现

    各组对本组的互评链接如下 Thunder:http://www.cnblogs.com/vector121/p/7905300.html 王者荣耀交流协会:http://www.cnblogs.com ...

  8. 对BUG的分析与理解

    对BUG的分析与理解 bug的分类 bug,其实就是软件期望的行为与实际行为的差异.从程序的角度来看,在软件整个生命周期中都会有bug的出现.需求分析过程中,需求理解的不足,导致的理解错位 ,遗漏甚至 ...

  9. bug的编写技巧与级别划分

    一.bug编写技巧 确.清晰.简洁.完整.一致 二.bug包含的要素 缺陷ID.缺陷标题.测试环境.缺陷发现日期时间.缺陷提交人 缺陷优先级.缺陷严重等级.发现缺陷软件版本.测试类型 缺陷复现步骤.期 ...

  10. BUG漏测的原因总结,以及如何处理

    一.漏测的概率 漏测,是指软件产品的缺陷没有在测试过程中被发现,而是在版本发布之后,用户在使用过程中发现存在的缺陷. 二.预防漏测的意义 我们都知道,缺陷越早被发现,发现和解决缺陷所花的成本就越小,如 ...

随机推荐

  1. 从下个月开始,App Store 要求使用 Xcode 14 构建的 iOS 16 兼容应用程序

    Xcode 继向开发者发布第一个iOS 16.5 测试版后,苹果公司周二宣布了对开发者向 App Store 提交应用程序的新要求.从下个月开始,Apple 将要求每个应用程序都必须使用 Xcode ...

  2. 火山引擎DataLeap数据调度实例的 DAG 优化方案 (一):问题与需求分析

    DAG:全称为 Directed Acyclic Graph,指有向无环图,具备严密的拓扑性质,有很强的流程表达能力. DataLeap 是火山引擎自研的一站式大数据中台解决方案,集数据集成.开发.运 ...

  3. Djagno 使用locals()

    Django使用locals()函数 locals()函数会以字典类型返回当前位置的全部局部变量 在 views.py中添加 #展示 class Goods_list(View): def get(s ...

  4. 【快速阅读二】从OpenCv的代码中扣取泊松融合算子(Poisson Image Editing)并稍作优化

    泊松融合我自己写的第一版程序大概是2016年在某个小房间里折腾出来的,当时是用的迭代的方式,记得似乎效果不怎么样,没有达到论文的效果.前段时间又有网友问我有没有这方面的程序,我说Opencv已经有了, ...

  5. Asp .Net Core 系列:集成 Ocelot+Consul实现网关、服务注册、服务发现

    什么是Ocelot? Ocelot是一个开源的ASP.NET Core微服务网关,它提供了API网关所需的所有功能,如路由.认证.限流.监控等. Ocelot是一个简单.灵活且功能强大的API网关,它 ...

  6. Mysql--JOIN连表查询

    一.Join查询原理 MySQL内部采用了一种叫做 nested loop join(嵌套循环连接)的算法:通过驱动表的结果集作为循环基础数据,然后一条一条的通过该结果集中的数据作为过滤条件到下一个表 ...

  7. ME21N 采购订单新增页签增强

    1.实现效果 根据客制化需求,要在采购订单中新增大量字段,所以要在界面上添加一个单独的页签.效果如下: 2.增强实现 2.1.增强结构 因为是在抬头上边添加,所以增强CI_EKKODB结构 2.2.函 ...

  8. 给科研人的 ML 开源发布工具包

    什么是开源发布工具包? 恭喜你的论文成功发表,这是一个巨大的成就!你的研究成果将为学界做出贡献. 其实除了发表论文之外,你还可以通过发布研究的其他部分,如代码.数据集.模型等,来增加研究的可见度和采用 ...

  9. 面对科技公司的制裁,俄罗斯放出封印7年的神兽:RuTracker

    大家好,我是DD! 最近俄乌冲突引发的科技公司站队,Oracle.微软.三星等全球知名科技公司都开始对俄罗斯实施制裁与封锁.就连崇尚自由的开源社区GitHub也发文会严格限制俄罗斯获得维持其咄咄逼人的 ...

  10. 广州|阿里云 Serverless 技术实战营邀你来玩!

    活动简介 "Serverless 技术实战与创新沙龙 " 是一场以 Serverless 为主题的开发者活动,活动受众以关注Serverless 技术的开发者.企业决策人.云原生领 ...