精华内容
下载资源
问答
  • bug的种类和解决

    2019-04-11 20:59:54
    出现这种错误code码,就是捕捉到了错误,最后我排查问题是因为,我调用了别人写一个接口,而那个人接口没有打版到test4环境(我现在用是test4环境),所以辅捉到了异常,报了网络开小差,有了错误码。...

    1,在这里插入图片描述

    出现这种错误code码的,就是捕捉到了错误,最后我排查的问题是因为,我调用了别人写的一个接口,而那个人的接口没有打版到test4环境(我现在用的是test4环境),所以辅捉到了异常,报了网络开小差,有了错误码。
    2,在这里插入图片描述
    像这种,访问的接口都访问不到,报的是503,那就是跨域问题(这里的跨域指的是什么?就是谁调用我这边的接口,调用方调用的环境不是我所打版的环境)

    3,关于一些逻辑判断的问题(比如怎么知道用户是否有这个奖励特权权益),肯定是后端开发这边处理的,不是前端进行这些逻辑处理的。所以不要听别人说什么就是什么,别人说是前端处理的,你有疑问:怎么逻辑处理是前端处理呢?你就要反问出来,自己认为的不一定就是错的。

    4,用户下单一直推不到我们这边mq消息,怎么办?

    首先,你去rabbitMq管理界面看看到底有没有消息传过来,如果没有,
    其次,你再看代码中的virtual-host是什么,从而看你的rabbitmq队列看对地方了没有?(也就是rabbitMq管理界面的virtual-host和代码中的virtual-host要保持一致)
    代码中的virtual-host的位置如下(即mq所在的项目vip-task下的测试环境的配置文件):
    在这里插入图片描述
    rebbitMq界面管理如下:
    在这里插入图片描述
    在这里插入图片描述
    第三步,既然你发现保持一致了(上面截得有消费的mq和消费者的图是已经改好之后截的图,如果没有收到消息,图应该是没有消费的mq且显示出来的是没有消费者的),发现一致之后,还是没有mq推过来怎么办?而且此时你自己手推,rabbitmq管理界面会显示ready是9,unacked是9,那unacked是什么意思呢?

    unacked的意思是:https://www.jianshu.com/p/5413766fa9c5 没有给ack 它不知道消费成功还是失败

    那接下来因为收不到mq消息,你怎么做呢?

    回答:因为推消息的是别人那边,是钱包那边,所以去问钱包那边的老大,virtual-host是不是coreservice?是coreservice还是/?
    钱包的老大回答了,是/,那就将的配置文件的代码中virtual-host改成/,并提交打版,然后再让测试推一下mq.
    发现还是推送不过来mq,

    那接下来就去找钱包那边的老大,因为你第二次去找他,他忙得很,就找个人帮你排查一下,然后问题就解决了。

    是他们那边的问题,就直接找他们的老大,让他们的老大安排。

    展开全文
  • 软件缺陷的种类划分 功能不正常:简单地说就是所应提供的功能,在使用上并不符合产品设计规格说明书中规定的要求,或是根本无法使用。 软件在使用上感觉不方便:只要是不知如何使用或难以使用的软件,在产品设计上...

    软件缺陷的种类划分

    功能不正常:简单地说就是所应提供的功能,在使用上并不符合产品设计规格说明书中规定的要求,或是根本无法使用。
    软件在使用上感觉不方便:只要是不知如何使用或难以使用的软件,在产品设计上一定是出了问题。所谓好用的软件,就是使用上尽量方便,使用户易于操作。
    软件的结构未做良好规划:这里主要指软件是以自顶向下方式开发,还是以自底向上方式开发。如果是以自顶向下的结构或方法开发的软件,在功能的规划及组织上比较完整,相反			     以自底向上的组合式方法开发处的软件则功能较为分散,容易出现缺陷。
    使用性能不佳:被测软件功能正常,但使用性能不佳,这也是一个问题。此类缺陷通常是由于开发人员采用了错误的解决方案,或使用了不恰当的算法导致的
    边界错误:缓冲区溢出问题在这几年已成为网络攻击的常用方式,而这个缺陷就属于边界错误的一种。简单来说,程序本身无法处理超越边界所导致的错误。
    计算错误:只要是计算机程序,就必定包括数学计算。软件之所以会出现计算错误,大部分出错的原因是由于采用了错误的数学运算工时或未将累加器初始化为0
    **软件缺陷的严重程度**
    按照严重程度分为:系统崩溃,严重,一般,次要,建议
    按优先级分:高,中,低
    

    Bug定级示例

    1级,系统崩溃
    定义:严重阻碍测试和开发工作
    对应优先级:最高
    具体可分为:
    1.功能完全没有实现
    2.应用闪退/崩溃无法运行
    3.应用必现安全模式,无法运行
    4.其他导致功能无法测试的问题
    2级,至关重要
    定义:非阻碍用例执行的严重问题
    对应优先级:高
    具体可分为:
    1.简单操作应用闪退/崩溃,卡死
    2.数据丢失
    3.严重影响系统,自身功能无法运行
    4.严重数值计算错误
    5.数据库损坏或无法保存配置
    6.安全性问题(包括数据加密等)
    3级,主要
    定义:功能存在缺陷,但不影响应用和系统的稳定性
    对应优先级:中
    具体可分为:
    1.内存泄露(长时间不用的对象需要被回收,不被回收占内存)
    2.功能实现逻辑覆盖不全面
    3.非必现,但复现概率超过50%的闪退/崩溃和安全模式
    4级,一般
    定义:对应用熟悉度高才能感知到的问题,对应用基本功能实现无影响
    对应优先级:中
    具体可分为:
    1.轻微数值计算错误
    2.功能实现有误,与产品文档不完全贴切
    3.用户简单操作,即可明显感知的UI问题
    5级,较小
    定义:界面,性能缺陷
    对应优先级:低
    具体可分为:
    1.操作界面错误(提示显示规则,刷新规则是否与文档一致)
    2.边界条件显示错误      
    3.提示信息和界面效果展示错误(包括未给出信息、信息提示错误等)
    4.复现率低于5%的闪退/崩溃和安全模式      
    5.插件兼容和性能未优化问题      
    6.非正常操作导致UI显示异常
    6级,建议
    定义:对于产品的意见或者建议
    对应优先级:低
    具体可分为:
    1.对于产品设计方面的意见和建议
    2.对于产品界面优化方面的意见和建议
    3.对于产品需要优化增强用户体验方面的意见和建议

    展开全文
  • FindBugs的Bug种类说明

    2011-12-28 10:55:06
    Findbugs是一个静态分析工具,它检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能问题。Findbugs自带检测器,其中有60余种Bad practice,80余种Correctness,1种 Internationalization,12种...

    Findbugs是一个静态分析工具,它检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。Findbugs自带检测器,其中有60余种Bad practice,80余种Correctness,1种 Internationalization,12种Malicious code vulnerability,27种Multithreaded correctness,23种Performance,43种Dodgy。

    Bad practice 坏的实践

    一些不好的实践,下面列举几个:

    HE 类定义了equals(),却没有hashCode();或类定义了equals(),却使用

    Object.hashCode();或类定义了hashCode(),却没有equals();或类定义了hashCode(),却使用Object.equals();类继承了equals(),却使用Object.hashCode()。

    SQLStatement 的execute方法调用了非常量的字符串;或Prepared Statement是由一个非常量的字符串产生。

    DE 方法终止或不处理异常,一般情况下,异常应该被处理或报告,或被方法抛出。

    Correctness 一般的正确性问题

    可能导致错误的代码,下面列举几个:

    NP 空指针被引用;在方法的异常路径里,空指针被引用;方法没有检查参数是否null;null值产生并被引用;null值产生并在方法的异常路径被引用;传给方法一个声明为@NonNull的null参数;方法的返回值声明为@NonNull实际是null。

    Nm 类定义了hashcode()方法,但实际上并未覆盖父类Object的hashCode();类定义了tostring()方法,但实际上并未覆盖父类Object的toString();很明显的方法和构造器混淆;方法名容易混淆。

    SQL方法尝试访问一个Prepared Statement的0索引;方法尝试访问一个ResultSet的0索引。

    UwF所有的write都把属性置成null,这样所有的读取都是null,这样这个属性是否有必要存在;或属性从没有被write。

    Internationalization 国际化

    当对字符串使用upper或lowercase方法,如果是国际的字符串,可能会不恰当的转换。

    Malicious code vulnerability 可能受到的恶意攻击

    如果代码公开,可能受到恶意攻击的代码,下面列举几个:

    FI 一个类的finalize()应该是protected,而不是public的。

    MS属性是可变的数组;属性是可变的Hashtable;属性应该是package protected的。

    Multithreaded correctness 多线程的正确性

    多线程编程时,可能导致错误的代码,下面列举几个:

    ESync空的同步块,很难被正确使用。

    MWN错误使用notify(),可能导致IllegalMonitorStateException异常;或错误的

    使用wait()。

    No 使用notify()而不是notifyAll(),只是唤醒一个线程而不是所有等待的线程。

    SC 构造器调用了Thread.start(),当该类被继承可能会导致错误。

    Performance 性能问题

    可能导致性能不佳的代码,下面列举几个:

    DM方法调用了低效的Boolean的构造器,而应该用Boolean.valueOf(…);用类似

    Integer.toString(1) 代替new Integer(1).toString();方法调用了低效的float的构造器,应该用静态的valueOf方法。

    SIC如果一个内部类想在更广泛的地方被引用,它应该声明为static。

    SS 如果一个实例属性不被读取,考虑声明为static。

    UrF如果一个属性从没有被read,考虑从类中去掉。

    UuF如果一个属性从没有被使用,考虑从类中去掉。

    Dodgy 危险的

    具有潜在危险的代码,可能运行期产生错误,下面列举几个:

    CI 类声明为final但声明了protected的属性。

    DLS对一个本地变量赋值,但却没有读取该本地变量;本地变量赋值成null,却没有读取该本地变量。

    ICAST 整型数字相乘结果转化为长整型数字,应该将整型先转化为长整型数字再相乘。

    INT没必要的整型数字比较,如X <= Integer.MAX_VALUE。

    NP 对readline()的直接引用,而没有判断是否null;对方法调用的直接引用,而方法可能返回null。

    REC直接捕获Exception,而实际上可能是RuntimeException。

    ST 从实例方法里直接修改类变量,即static属性。

    展开全文
  • 给出昆虫编号,看昆虫能否交配,如果出现同性交配或者自我交配情况,则出现BUG。 思路分析 显然是一道关系并查集可以过小水题,自从做了食物链感觉所有并查集都是水题。。。 并查集基础 tips 一定要scanf 两个...

    题目大意

    给出昆虫编号,看昆虫能否交配,如果出现同性交配或者自我交配的情况,则出现BUG。

    思路分析

    显然是一道关系并查集可以过的小水题,自从做了食物链感觉所有并查集都是水题。。。
    并查集基础

    tips

    • 一定要scanf
    • 两个test case之间要有额外的换行符

    以后再用cin我是猪

    #include<iostream>
    #include<vector>
    #include<algorithm>
    #include<cmath>
    #include<string>
    #include<string.h>
    #include<map>
    #include<cstdio>
    using namespace std;
    
    #define ll int
    #define MAX 2005
    
    ll kind[MAX * 2];
    
    ll find(ll a) {
    	if (a == kind[a]) return a;
    	else return kind[a] = find(kind[a]);
    }
    
    void unite(ll a, ll b) {
    	kind[find(b)] = kind[find(a)];
    }
    int main() {
    	ll N; cin >> N;
    	for (int i = 1; i <= N; i++) {
    		ll n, m, a, b, sign = 1; scanf("%d%d", &n, &m);
    		for (int i = 0; i <= n * 2; i++)kind[i] = i;
    		for (int j = 0; j < m; j++) {
    			scanf("%d%d", &a, &b);
    			if (sign) {
    				// a与b是不同性别  1-n:性别1   n+1-2n:性别2
    				if (find(a) == find(b)) sign = 0;
    				else {
    					unite(a, n + b); unite(a + n, b);
    				}
    			}
    		}
    		printf("Scenario #%d:\n", i);
    		if (sign)cout << "No suspicious bugs found!" << endl << endl;
    		else cout << "Suspicious bugs found!" << endl << endl;
    	}
    }
    
    展开全文
  • bug的种类 1.对用户来说不能正常使用,能被用户感知到的错误bug。 2.用户能正常使用,但是有各种异常的错误bug。 3.软件系统使用没有任何问题,但是不符合产品预期的问题。 沟通 毕竟:因为信息不对称,预期是产品...
  • 题意:bug有两种性别,每个bug是两个性别之一,现在给出两个bug的关系,bug之间只允许异性恋,求出所有bug中是否存在同性恋 思路:种类并查集。每个节点赋予权值,根的权值为两节点权值的同或和,判断根相同的两节点...
  • 我是先做了种类并查集的题,后来做了带权并查集的题,最后发现,种类并查集和带权并查...就说这个种类并查集吧,这里的权就是不同种类直接的权,比如这道可能是最简单的种类并查集,a bug's life,就只有两个种类,雄...
  • Bug预防体系

    2019-01-11 11:31:15
    会对项目的整体质量有一个把控,对于项目常见的问题,开发经常犯的错误都会有所了解,为了避免或者减少这样的错误或不规范的事情在发生,测试人员可以整理构建属于产品的bug预防体系,总结项目经常出现bug的种类、...
  • Bug的种类有千百种,但是你的代码引起bug的原因可能就那么几个,我们可以总结一下,看看我们为什么会出现Bug,然后以后写代码的时候就可以尽量避免这种情况的发生。 前一段时间在做一个项目,测试的时候出现了几个...
  • 此外,Bug的性别很好辨别。Problem 因为若雨妹妹太懒了,他懒得去分析他总结出来的bug数据。你需要根据数据判断是否存在同性恋,输入有 t 组数据,每组数据给出bug数量n, 和关系数m, 以下m行给出相交往的一对Bug编号 ...
  • 感觉种类并查集挺有意思,做个思路记录~~ //种类并查集 #include<iostream> #include<cstdio> #include<cstring> using namespace std; int parent[2010]; int rel[2010];//注意:rel为x与根...
  • A Bug's Life 种类并查集

    2014-04-03 20:56:48
    就是种类并查集一种,如果理解食物链思想,这道题应该不是问题,都是用向量思想理解,代码如下: #include struct node { int f; int r; } s[20010]; int find(int x) { int temp; if(x==s[x].f) return
  • 会对项目的整体质量有一个把控,对于项目常见的问题,开发经常犯的错误都会有所了解,为了避免或者减少这样的错误或不规范的事情再发生,测试人员可以整理构建属于产品的bug预防体系,总结项目经常出现Bug 的种类、...
  • 思路:同食物链,这里是分成两个种类,n乘个2 继续用挑战上思路 #include const int N = 2010; int f[2*N]; int Find(int x) { return f[x]==x?x:f[x]=Find(f[x]); } bool same(int x,int y) { return Find(x)...
  • A Bug’s Life 题意: 在m对关系中,不同性别可以在一起,要求判断是否有同性在一起情况 #include<iostream> #include<algorithm> using namespace std; #define _for(i, a, b) for(int i = (a); ...
  • 现给出所有交往列表,问是否有可疑\(bug\)(进行同性交往)。 思路 法一:种类并查集 参考:https://www.2cto.com/kf/201310/249052.html 对于每一个集合中元素,用一个数组\(rank\)记录它和它祖先性别是否...
  • 好不爽,个人赛时竟然花费了一小时在一道简单的种类并查集上,于是就找了几个类似的水一水= =! 我们记录每个结点父节点时,在开一个数组a,记录这个结点到根结点的距离。 这样 如果一个操作中的两个人在一个连通...
  • 看完题目其实就能知道是挺裸的种类并查集 以下是个人对种类并查集的理解: 种类并查集是并查集的一种延申应用 如果并查集表示的关系是亲戚的亲戚是亲戚 那么种类并查集表示的关系就是敌人的敌人是朋友 种类并查集...
  •  种类并查集比普通并查集多一个relation数组,relation[i] 记录了 i 和 其直接父亲节点关系,这个关系表示因题目而异,种类并查集重点和难点就是对这个relation数组维护。种类  ...
  • POJ 2492(种类并查集) Time limit : 5000 ms Memory limit : 32768 kB 小菜鸟第一篇博客,呜呜呜,有不对地方请指正(๑&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;؂&amp;amp;amp;amp;amp;...
  • 给你n个虫子,m个虫子相恋关系,问有没有同性虫子相恋。#include&lt;stdio.h&gt; using namespace std; #define MAXN 2005 int n,m; int pre[MAXN]; int type[MAXN]; void init(){ for(int i=1;i&lt;...
  • 关键在于到根节点距离,如果两个点到根节点距离相等,那么他们性别肯定就一样(因为前面如果没有特殊情况,两个点就是一男一女)。一旦遇到性别一样,就说明找到了可疑 1 #include<bits/stdc++.h...
  • 这是一道简单的种类并查集,而且也比较简单只要比较给出的两个点是否有相同祖宗如果有那么他们距离祖宗结点的距离是否为偶数 如果是偶数那么他(她)们必然是同性恋。 #include <iostream>...
  • 题目意思就是 给定n只虫子 不同性别可以在一起 相同性别不能在一起 给你m对虫子 判断中间有没有同性别在一起; 我们把同性放到一个集合里 如果一个集合里出现了异性 则说明存在同性恋在一起 假设 x 为一种...
  • 会对项目的整体质量有一个把控,对于项目常见的问题,开发经常犯的错误都会有所了解,为了避免或者减少这样的错误或不规范的事情在发生,测试人员可以整理构建属于产品的bug预防体系,总结项目经常出现bug的种类、...
  • 基础的种类并查集,一直想写,但是苦于不会,今天找了个简单的练手。种类并查集除了需要维护fa[]数组,同时还要维护关系数组,这里面只有2种关系,一种是互斥,一种是不互斥,这样已经很明显了,我们用re数组中的...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 358
精华内容 143
关键字:

bug的种类