软件测试中的BUG分析定位概述(QA如何分析定位BUG)

你是否遇到这样的场景?

QA发现问题后找到DEV说:

不好了,你的程序出问题了!

DEV(追查半小时之后):

唉,是你们测试环境配置的问题

唉,是你们数据不一致

唉,是你们**程序版本不对

唉,是**产品线的问题

当时的日志呢?

当时cpu有异常么?

可以复现么?

这里就应该是这样啊!

你是否期待这样的场景?

QA发现问题后,经分析判断,胸有成竹的找到DEV说:

你的程序出bug了,初步断定是XX类的XX判断分支有问题,应该把某某的判断一改就好了!——==定位精准==

你的程序出bug了,过去某某产品线就曾经出现过类似的问题,都是某某函数用错了,导致前端某某输入的情况下,会导致某某异常,你检查一下吧!——==经验丰富==

你的程序出bug了,应该是某某的问题。页面截屏、日志、系统资源情况、复现步骤我都记录在bug系统了,请尽快修复——==有理有据==

RD说:

赞,和你合作很愉快!

QA做BUG定位的意义是什么?

明确一个“问题”是不是真的是“BUG”

——问题:与预期不符,表象

——BUG:代码错误,实质

避免来回扯皮,提高测试修复效率

——误报降低、原因明确

有助于理解产品内部逻辑流程

——知其然,也知其所以然

提升DEV对QA的信任度

——靠谱!

QA做BUG定位的几个误区:

心态误区:不明觉厉,与己无关

—— BUG定位没那么高大上,三板斧会用就行

手段误区:定位必须看代码

——大部分定位还用不上代码能力

目标误区:所有问题都该被当做BUG定位

——问题不一定是BUG,即便是也得考虑性价比

分工误区:DEV不需要帮助QA的bug定位

——大家目标是一致的,DEV需提供可测性支持

QA定位BUG的大体流程:

时间: 2025-01-01 10:19:19

软件测试中的BUG分析定位概述(QA如何分析定位BUG)的相关文章

软件测试中关于Bug沟通的一些细节和建议

这两周产品线加速bug收敛速度以来,开发和测试人员陆续的反馈了一些问题,大部分都属沟通类或者细节类.对几种典型问题,测试人员也经过了组内讨论,希望能在细节方面,大家都能注意互相提醒一下,提高产品线的运作效率. 一.resolve的bug,验证不通过,然后把bug进行reject操作----------这个处理过程,会出现一些疑义. 目前测试组进行约定,测试人员验证resolve的bug,未通过验证后,首先要做的是和开发人员进行沟通,而不是直接把bug进行reject操作.(让开发人员给出原因 这

软件测试中的黑天鹅系列(一) 认识软件测试中的黑天鹅

1. 软件测试中的"黑天鹅" 几年前,我带领的一个测试小组遗漏了一个严重的bug到网上,当用户反馈这个bug后, 我们对它进行了深入的分析和重现,最终所有人一致认为,这个bug能够发生实在是机缘巧合,因为它需要多个条件同时发 生才有可能触发,比如"XX算法开关必须打开.XX算法开关又必须关闭.XX参数必须取某个特定值.用户的使用环境必须是 XX个场景.硬件必须是使用XX接口板.软件必须是XX版本.XX的带宽恰巧又不够...",在用户那里,这些条件有一条不 满足,就不

软件测试中的人才培养浅谈

软件测试是对开发人员已经发布出来的软件进行验证和测试,以保证软件的质量.和其他工作一样,也需要相应的工作人员实现已规划好的测试计划. 本文将从测试人才招聘.测试人才的应用.绩效考核和职业规划几个方面对软件测试中的人才培养进行描述. 1.测试人才招聘 招聘是为已经确定的工作岗位物色适合的人选的过程.在这个过程中,首先需要明确职位描述.技术知识能力要求.完成这份工作所需要具备的基本素质和其他具 体的特殊的要求.职位描述包括岗位职责和将来的工作任务.技术.知识和能力要求是必须掌握了相应的技术,知识和能

软件测试中的黑天鹅(二) 黑天鹅发生的前后

1.历史与三重迷雾 在"认识软件测试中黑天鹅"一文中,我描述了什么是软件测试中的黑天鹅及其特点,本文将 探讨测试中的黑天鹅发生之前.之后.以及正在发生之中的故事. <黑天鹅>一书的作者Nassim指出"历史是模糊的.你 看到了结果,但看不到导致历史事件发生的幕后原因."其实,测试何尝不是这样,假如把测试看成一个盒子,这个盒子也 是模糊的,你看不到盒子里面是什么,整个机制是如何运行的. 书中描述:"对待历史问题,人类思维会犯三个毛病,我 称之为三

ART世界探险(12) - OAT文件分析(2) - ELF文件头分析(中)

ART世界探险(12) - OAT文件分析(2) - ELF文件头分析(中) 段(section)的概念 一块内存分配给应用程序之后,从代码的组织上,我们就有将它们分段的需求. 比如,可以分为代码段,数据段,只读数据段,堆栈段,未初始化的数据段等等. 在GAS汇编器中,我们通过.section伪指令来指定段名.ARM编译器我买不起,我就忽略它了. 标准section 段的描述 默认段名 代码段 .text 经过初始化的数据段 .data 未经初始化的数据段 .bss BSS是Block Star

软件测试中的测试用例复用技术

摘要:软件测试是确保软件质量的可靠手段,是软件开发过程中必不可少的重要环节.本文提出了面向复用的测试用例设计过程,为测试用例复用提供了实现策略.测试用例的复用对于缩短软件开发周期和降低软件开发成本具有极其重要的意义. 关键词:软件测试:测试用例 1.引言 随着软件工程领域的拓展,在软件产业飞速发展的今天,软件测试成为保证软件质量的重要手段.测试用例的选择对于软件测试的成败起着决定性作用,因此如何设计最少的测试用例实现最大的测试覆盖成为自动化测试领域中的主要研究对象.测试用例是确定一组最有可能发现

Android中bindService基本使用方法概述_Android

Android中有两种主要方式使用Service,通过调用Context的startService方法或调用Context的bindService方法,本文只探讨纯bindService的使用,不涉及任何startService方法调用的情况.如果想了解startService相关的使用,请参见<Android中startService基本使用方法概述>. bindService启动服务的特点 相比于用startService启动的Service,bindService启动的服务具有如下特点:

Android中startService基本使用方法概述_Android

Android中有两种主要方式使用Service,通过调用Context的startService方法或调用Context的bindService方法,本文只探讨纯startService的使用,不涉及任何bindService方法调用的情况.如果想了解bindService的相关使用,请参见<Android中bindService基本使用方法概述>. 当我们通过调用了Context的startService方法后,我们便启动了Service,通过startService方法启动的Servic

PHP中使用addslashes函数转义的安全性原理分析_php技巧

本文实例讲述了PHP中使用addslashes函数转义的安全性原理分析.分享给大家供大家参考.具体分析如下: 先来看一下ECshop中addslashes_deep的原型 复制代码 代码如下: function addslashes_deep($value) {     if (empty($value)) {         return $value;  //如为空,直接返回;     } else {         return is_array($value) ? array_map(