如何有效地描述软件缺陷(Defect)?
最近一个月偷懒了,刚看到一篇博文很不错。最近也是碰到一样的问题,由于我记录bug的描述不够清晰。导致开发看不懂我描述的bug,还有一些配置信息没记录好。出现一问三不知的情况,还被领导训。下面的博文是来自http://blog.csdn.net/xifeijian/article/details/8363570的。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
作为软件测试人员,最基本的一项技能就是如何把所发现的缺陷(Defect)准确无歧义的表达出来,尤其还是全英文表达的时候。
其实从缺陷的描述也可以看出一个软件测试人员的基本功,甚至可以看出测试人员在做一些自由测试的时候的投入程度。
本文主要以缺陷出现的频率来说明测试人员在遇到不同频率的缺陷的时候如何做?
缺陷的频率主要有:Always, Usually(>50%), Sometimes(<50%), Once
对于所有的缺陷,都需要做到的是:
1,查看当前测试环境和测试数据,并记录下来。
2,记录与该缺陷相关的配置等条件
3,记录出现缺陷时候log信息
4,描述尽量做到每个步骤最多两个动作,一连串的操作尽量分句说明。
5,英语表达尽量用主动句型,体现操作性。
6,缺陷出现时候的现象一定要描述详细,不要和步骤混在一起描述,一个步骤最好对应一个相应的输出结果
7,缺陷出现之后若可以继续进行操作,也尽量多做几个步骤,这样更容易发现当前缺陷周围的缺陷,8/2原则或许在这里可以起到作用。
8,尽量把缺陷出现时候的相关功能运行情况也都描述详细
9,对于一些比较难描述清楚、或者不能稳定重现的缺陷,在缺陷中需要添加出错时截图,所谓有图有真相。
10,缺陷描述的终极目的,先抛开缺陷记录的管理意义不说,主要是能让开发人员根据缺陷描述,轻松地重现缺陷
对于Always和Usually这类容易重现的缺陷,除了以上必须做到的,还需要做到
1,按照缺陷重现的步骤重复做3次以上,这样可以寻找最短的重现路径,可以做到把不必要的过程过滤。(注意:不确定的步骤一定不能过滤)
2,同一缺陷现象出现在不同的地方,尽量能够做总结,可以把不同的步骤分别写出。
3,缺陷描述以及缺陷出现的各种环境等尽量做到简介且全面,不需要总等到开发人员问。
对于Sometimes的缺陷,理论上来说缺陷都能重现出来,所以我们遇到的sometime只是目前还没有找到必然的那个路径。
若与开发人员是在一起工作的比较好,遇到这类缺陷的时候,可以和开发人员沟通,简单描述一下,共同推测必然出现的路径。找出更多重现的路径就有可能转为Always或Usually,开发人员解决起来就容易些了。重现不出来,至少也需要把所有遇到缺陷的相关环境都详细描述出来。
若与开发人员不在一起工作的,那就尽量把缺陷出现时候的各种log信息作为缺陷附件提交。
对于Once的缺陷:偶尔出现一次的缺陷,就是短时间内测试人员自己没有重现出来的,测试时间有限,考虑成本问题,也不可能允许你一直去分析。
这样的缺陷,我们测试人员能做到的首先跟开发人员沟通,有时候开发人员看一眼log就知道问题所在甚至推测出必然路径的。否则,我们能做到的就是把上述1-10条把缺陷记录在库,在后续多个版本进行验证(Verify)。
作为测试人员,遇到缺陷的时候除了把缺陷描述简洁明了之外,我们更需要做到的是:
1.尽量做到及时和开发人员沟通(尤其对需求不确定的情况)
2.立刻检查当前状态并做记录(不要间隔时间太长,发现的时候立刻记录,好记忆不如烂笔头)
3.如果同样的步骤连续发生好几个缺陷,需要把每个缺陷的频率都标注好
4. 如果有外部网络或者设备等因素的影响,也尽量把外部环境描述清楚(这样有助于开发人员Fix缺陷)
作为测试人员的我们,目标只有一个——软件产品质量。 我们不但要发现问题还要协助开发人员解决问题
如何有效地描述软件缺陷(Defect)?的更多相关文章
- 编程菜鸟的日记-《软件测试》Ron Patton著-读书笔记
第一部分 软件测试综述 第一章 软件测试的背景 1.软件测试员的目标:尽可能早地找到软件缺陷,并确保其能得以修复. 2.仅仅测试程序是否按预期方式运行有何问题:程序能完好的跑通并不代表软件不存在缺陷, ...
- 缺陷=bug?
Defect(缺陷):是指静态处在于软件工作产品(文档.代码)中的错误,也指软件运行时由于这些错误被激发导致的软件产品与其属性的偏离现象. Bug:Bug通常是软件缺陷(Defect)导致的一些软件故 ...
- 2020软件测试工程师面试题汇总(内含答案)-看完BATJ面试官对你竖起大拇指!
测试技术面试题 1.什么是兼容性测试?兼容性测试侧重哪些方面? 参考答案: 兼容测试主要是检查软件在不同的硬件平台.软件平台上是否可以正常的运行,即是通常说的软件的可移植性. 兼容的类型,如果细分的话 ...
- 软件缺陷分析方法:ODC
资料 Orthogonal Defect Classification:简要描述. ODC-5-2.pdf :详细说明了ODC对于缺陷属性分类的描述,以及具体应该怎么划分. ODC-5-2-Exten ...
- 软件测试 → 第二章 基础-> 软件缺陷与缺陷管理
一.缺陷定义与分类 1.1.软件缺陷 定义:在软件工程整个生命周期中任何背离需求.无法正确完成用户所要求的功能的问题,包括存在于组件.设备.或系统软件中因异常条件不支持而导致系统失败等都属于缺陷. 从 ...
- 【软件分析与挖掘】Multiple kernel ensemble learning for software defect prediction
摘要: 利用软件中的历史缺陷数据来建立分类器,进行软件缺陷的检测. 多核学习(Multiple kernel learning):把历史缺陷数据映射到高维特征空间,使得数据能够更好地表达: 集成学习( ...
- Java 如何有效地避免OOM:善于利用软引用和弱引用
Java 如何有效地避免OOM:善于利用软引用和弱引用 想必很多朋友对OOM(OutOfMemory)这个错误不会陌生,而当遇到这种错误如何有效地解决这个问题呢?今天我们就来说一下如何利用软引用和弱引 ...
- 如何有效地报告 Bug
如何有效地报告 Bug 引言 为公众写过软件的人,大概都收到过很拙劣的bug(计算机程序代码中的错误或程序运行时的瑕疵--译者注)报告,例如: 在报告中说"不好用": 所报告内容毫 ...
- WCF技术剖析之二十五: 元数据(Metadata)架构体系全景展现[元数据描述篇]
原文:WCF技术剖析之二十五: 元数据(Metadata)架构体系全景展现[元数据描述篇] 在[WS标准篇]中我花了很大的篇幅介绍了WS-MEX以及与它相关的WS规范:WS-Policy.WS-Tra ...
随机推荐
- Qt——浅谈样式表
优秀的程序,不仅要有严密逻辑,而且应该有美观的外表.从软件界面,便可看出你是否用心在做,是否是一个有思想的人. Qt样式表的术语和语法规则和HTML CSS有很多相似之处. 样式规则 Qt中样式规则由 ...
- Golang友团无闻Go语言Web基础视频教程
教程内容:GO语言资料Golang友团无闻Go语言编程基础Golang友团无闻Go语言Web基础教程 Go语言Web基础教程列表:[Go Web基础]12Go Web 扩展学习.mp4[Go Web基 ...
- JS组件系列——表格组件神器:bootstrap table(三:终结篇,最后的干货福利)
前言:前面介绍了两篇关于bootstrap table的基础用法,这章我们继续来看看它比较常用的一些功能,来个终结篇吧,毛爷爷告诉我们做事要有始有终~~bootstrap table这东西要想所有功能 ...
- fiddler手机抓包教程
序言 记录一下自己第一次使用fiddler抓取手机的信息,做一个备忘 实现步骤 一.首先设置一下fiddler,使其对HTTPS协议进行抓包 二.然后设置fidder使得fiddler支持远程计算机连 ...
- Redis 学习(二)
Redis可以存储以下5种数据类型 1. String 字符串 整数 浮点 2. List 一个链表 3. Set 无序收集器 4. Hash 无序散列表 5. Zset 有序集合
- Java中使用Jedis操作Redis(转载)
整理 1.字符串 添加:set keyname value 查询:get keyname 拼接:append keyname value 删除:del keyname 添加多个: mset keyna ...
- GitHub 上 57 款最流行的开源深度学习项目
转载:https://www.oschina.net/news/79500/57-most-popular-deep-learning-project-at-github GitHub 上 57 款最 ...
- HTTP请求头
了解HTTP请求,是每个BS程序员必备的素质.下面篇幅进行记录.参考网址:http://tools.jb51.net/table/http_header Http请求方式 GET: 向Web服务器请求 ...
- 【Alpha版本】十天冲刺——日志集合贴
No Bug 031402401鲍亮 031402402曹鑫杰 031402403常松 031402412林淋 031402418汪培侨 031402426许秋鑫 Day1 Day2 Day3 Day ...
- MongoDB系列二
简介 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql ...