如何有效地描述软件缺陷(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 ...
随机推荐
- 20145315&20145307《信息安全系统设计基础》实验五
20145315&20145307<信息安全系统设计基础>实验五 北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1453 1452 姓名:陈俊达 ...
- 生成 PDF 全攻略【2】在已有PDF上添加内容
项目在变,需求在变,不变的永远是敲击键盘的程序员..... PDF 生成后,有时候需要在PDF上面添加一些其他的内容,比如文字,图片.... 经历几次失败的尝试,终于获取到了正确的代码书写方式. 在此 ...
- 谈谈duilib
据我所知,duilib已经不再维护了,q群也不再对外开放了. 尽管不再更新,但duilib的学习价值还是很好的.当有一定基础后再扩展duilib的功能,或根据duilib学习到的知识去着手写自己的界面 ...
- Eclipse使用快捷键代码格式化有时失效解决办法
今天写代码的时候发现使用快捷键格式化代码没用了. 首先,先看看自己手动格式化是否还行 右键 - Source - Format 结果:正常! 既然手动正常的话那就可能是这个快捷键的热键被占用了,然后我 ...
- Caused by: java.sql.BatchUpdateException: Transaction error, need to rollback. errno:1205 Lock wait timeout exceeded; try restarting transaction
更新的时候报 Caused by: java.sql.BatchUpdateException: Transaction error, need to rollback. errno:1205 Loc ...
- 移动端设置-----rem
对于现在不同尺寸的移动端屏幕,如果设置px来说实在有点影响用户体验,在小屏幕上太大,大屏幕上太小,不能实现响应式,所以就引进了rem的概念. rem是相对于根元素<html> 在我的项目中 ...
- Codeforces 2016 ACM Amman Collegiate Programming Contest B. The Little Match Girl(贪心)
传送门 Description Using at most 7 matchsticks, you can draw any of the 10 digits as in the following p ...
- 网络基础知识之 Ping
========================================假定主机A的IP地址是192.168.1.1,主机B的IP地址是192.168.1.2,都在同一子网内,则当你在主机A上 ...
- yii2 composer安装
安装Yii2 1.安装composer 在命令行输入 curl-sS https://getcomposer.org/installer | php mv composer.phar /usr/loc ...
- centos 7.1 apache 源码编译安装
Apache编译安装 一,需要软件: http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz 1.apr-1.5.2.tar.gz http://mi ...