如何高效填写软件测试缺陷报告?

news2025/7/20 12:59:33

软件缺陷的描述是软件缺陷报告的基础部分,需要使用简单、准确、专业的术语来描述缺陷。否则,它就会含糊不清,可能会误导开发人员,影响开发人员的效率,也会影响测试人员自身的声誉,准确报告缺陷是非常重要的。

清晰准确的软件缺陷描述可以减少开发人员退回来的缺陷数量,可以节省开发人员和测试人员的时间。

  1. 提高软件缺陷修复的速度,使项目组能够有效地工作。
  2. 提高测试人员的可信任程度,可以得到开发人员对有效缺陷的及时响应。
  3. 加强开发人员、测试人员和管理人员的协同工作,让他们更好的工作。

一、报告缺陷注意事项

尽量确保缺陷可以重现。

  • 如果提交的缺陷无法重现,会影响开发人员的工作效率。

简洁、准确、完整

  • 测试人员在提交缺陷报告时,要站在开发人员的角度上思考问题,要确保开发人员能迅速定位问题,而不会产生理解上的歧义。

一个缺陷一个报告

有的测试人员喜欢在一个缺陷报告里提交多个缺陷,这种习惯不提倡,原因有以下两点:

不便于分配。

  • 比如缺陷报告有2个缺陷,分别属于不同的开发人员,到底该分配给谁呢?

不便于验证。

  • 比如一个缺陷报告里面有2个缺陷,缺陷1已经解决,缺陷2还没有解决,那么这个缺陷报告该不该关闭呢?

二、缺陷书写规范

标题:应保持简短、准确,提供缺陷的本质信息

  • 尽量按缺陷发生的原因与结果的方式书写;
  • 避免使用模糊不清的词语,例如:“功能中断,功能不正确,行为不起作用”等。应该使用具体文字说明缺陷的症状;
  • 为了便于他人理解,避免使用俚语或过分具体的测试细节。

复现步骤:应包含如何使别人能够很容易的复现该缺陷的完整步骤。

为了达到这个要求,复现步骤的信息必须是完整的、准确的、简明的、可复现的。

常见问题:

包含了过多的多余步骤,且句子结构混乱,可读性差,难以理解;

包含的信息过少,丢失了操作的必要步骤;

  • 复现步骤的正确书写方式:
  • 提供测试的环境信息;
  • 简单地一步步引导复现该缺陷,一个步骤包含的操作不要多;
  • 每个步骤前使用数字对步骤编号;
  • 尽量使用短语或短句,避免复杂句型句式;
  • 复现的步骤要完整、准确、简短;
  • 将常见步骤合并为较少步骤;
  • 按实际需要决定是否包含步骤执行后的结果。

实际结果:是执行复现步骤后软件的现象和产生的行为。

实际结果的描述应向标题信息那样,要列出具体的缺陷症状,而不是简单地指出“不正确”或“不起作用”。

期望结果:描述应与实际结果的描述方式相同。通常需要列出期望的结果是什么。

附件:对缺陷描述的补充说明

可以是以下一些类型:

  • 缺陷症状的截图;
  • 测试使用的数据文件;166 199 188

其它:

  • 选择合适的缺陷严重性属性;
  • 按相应的规定,填写相应的字段信息

避免常见的错误:

  • 避免使用我、你等人称代词,可以直接使用动词或必要时使用“用户”代替
  • 避免使用情绪化的语言和强调符号;
  • 避免使用诸如“似乎”、“看上去可能”等含义模糊的词汇,而需要报告确定的缺陷结果;
  • 避免使用自认为比较幽默的语句,只需客观地描述缺陷的信息;
  • 避免提交不确定的测试问题,自己至少需要重现一次再提交。

反面的示例:

上海人:哪能查询到的结果和查询条件不搭噶的。

北京人:哥们好不容易输入一堆个人详细信息后,点击保存后全瞎了。

 

三、缺陷处理流程

四、缺陷跟踪

新提交的缺陷为新建状态,确认有效后为打开状态,经开发人员修改后,缺陷变为已修复(待验证)状态。此时就需要测试人员对缺陷进行回归测试,验证问题是否修复。

  • 如果问题仍然存在,则测试人员将该缺陷的状态修改为重新打开;
  • 如果问题已经修复,则测试人员将该缺陷的状态置为关闭状态(验证通过),同时添加回测说明如“该缺陷已解决”。

还有一种情况:开发人员认为缺陷在当前版本可以暂不修改,而考虑在后续版本中再做修正,缺陷的对应状态为延期。

  • 对于这种情况,项目负责人应召集开发人员、测试人员和其他项目相关人员进行讨论,如果讨论结果为同意则延期,如果不同意,则重新打开缺陷。

Bug统计

 

 

五、缺陷密度

基本的缺陷测量是以每千行代码的缺陷数(个/KLOC)来测量的。称为缺陷密度,其测量单位是defects/KLOC。可按照以下步骤来计算一个程序的缺陷密度:

  • 累计开发过程中每个阶段发现的缺陷总数。
  • 统计程序中新开发的和修改的代码行数。
  • 计算每千行的缺陷数=1000*缺陷总数/代码行数。

例如:一个29.6万行的源程序总共有145个缺陷,则缺陷密度为:

缺陷密度=1000*145/296000=0.49  个/KLOC。


 软件测试基础入门

最新软件测试视频教程,软件测试基础入门到项目实战(涵盖软件测试基础+黑马头条项目实战)
Linux系统2天快速入门Linux系统操作教程2天快速入门linux项目搭建
MySQL数据库软件测试工程师必备MySQL数据库,mysql系统精讲+课后练习
Python自动测试教程 黑马程序员Python自动测试教程,python从基础到UnitTest框架管理测试用例

自动化测试
Web自动化软件测试web自动化测试,Web自动化流程精讲和移动自动化测试环境
Appium框架视频 零基础入门移动自动化测试——Appium框架
Appium进行IOS真机自动化测试 轻松教你使用Appium进行IOS真机自动化测试【黑马程序员】

接口测试4天玩转接口测试,接口重点全解析+传智健康项目实战(包含requests库,集成UnitTes,Dubbo等诸多工具)

性能测试性能测试全套教程,4天快速入门性能测试+项目商城实战(含JMeter工具等)

综合项目强化
微信小程序自动化测试软件测试微信小程序自动化测试实战
金融项目功能测试软件测试4天快速搞定金融项目功能测试实战教程

一键收藏不谢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/7958.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]java毕业设计基于SSM的酒店管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

高新技术企业的认定条件(三)

十、企业创新能力评价 企业创新能力主要从知识产权、科技成果转化能力、研究开发组织管理水平、企业成长性等四项指标进行评价。各级指标均按整数打分,满分为100分,综合得分达到70分以上(不含70分)为符合认定要求。具体分值如下&…

opencv4.5.5安装的坑

opencv4.5.5安装的坑 Package opencv was not found in the pkg-config search path. Perhaps you should add the directory containing opencv.pc’ to the PKG_CONFIG_PATH environment variable No package ‘opencv’ found 我把对应目录的opencv4.pc修改成了opencv.pc,运…

记录<一个多SDK中引入ffmpeg出现的top1的crash问题>解决方案

文章目录一. 背景二. 分析、定位crash源代码三. 分析汇编四. 分析源码五. 思考一. 背景 App从某个版本开始突然收到一例高频crash,,crash信息如下 crash栈如下: crash栈信息很少,只能看出是线程刚启动就crash了,内存…

Java【类和对象】,你还没对象?我教你new一个!

文章目录前言一、初识面向对象1.什么是面向对象2.面向对象过程二、类的定义与使用1.什么是类2.如何定义类3.示例三、类的实例化1.什么是类的实例化2.类和对象的说明四、this引用1.为什么要有this引用第一种情况第二种情况2.什么是this引用3.this引用的特征五、对象的构造及初始…

ubuntu上运行make menuconfig两种报错

1) 如果如上报错,没有target,这是因为运行这个make的时候没在对应的目录下运行,通常是有make的目录,这种系统性的编译的,则是应该在代码的根目录。在根目录下用根目录下的make。 2)然后我来到根…

Restful 接口设计-前言(手把手教你入门到精通)

文章目录前言一:什么是API分类一分类二前言二:Web的发展前言三:传统开发模式VS前后端分离传统的开发模式前后端分离了解API和Web的发展有利于帮助你掌握Restful接口设计 前言一:什么是API API(Application Programmi…

第三章 多维随机变量及其分布

思维导图 基础知识 二维随机变量 我们研究一个多维的东西,往往先从较低的维度比如说二维作为主要的研究对象,一个是因为维度低会比较简单,易于理解;另一个则是考试中低维的问题往往更加常见 定义与分布函数 定义上其实很简单&am…

双亲委派机制

Java 虚拟机对 class 文件采用的是按需加载的方式,也就是说当需要使用该类时才会将它的 class 文件加载到内存生成 class 对象。而且加载某个类的 class 文件时,Java 虚拟机采用的是双亲委派模式,即把请求交由父类处理,它是一种任…

【Pytorch with fastai】第 6 章 :其他计算机视觉问题

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

【MySQL】数据库中表的增删查改操作详解

文章目录前言SQL的通用语法一、表的创建与表的新增语法数据类型的介绍演示二、表的删除语法删整张表的语法删记录的语法演示三、表的查询查询整张表(一)全列查询(二)指定列查询(三)带表达式的查询&#xff…

深入ftrace function graph功能

学习完了ftrace的function的基本功能,其作用主要是用来跟踪特定内核函数调用的频次,对于内核,特别是初学者,对于函数的调用关系不清晰,并且内核中有很多函数指针,会把我们弄的摸不着头脑,那么我…

C语言百日刷题第九天

前言 今天是刷题第9天,放弃不难,但坚持一定很酷~ 快来跟我一起刷题吧。 加油,一起努力进步 C语言百日刷题第九天前言76.计算偶数的所有质因子77. 提取不重复的整数78.二进制中1的个数79.猴子分桃80.百钱买百鸡76.计算偶数的所有质因子 输入…

可防离职员工冒用身份,合合信息名片全能王与钉钉用数字名片打造安全“围栏”

名片全能王与钉钉发布数字名片:可防离职员工冒用身份,追踪营销线索 名片是人际交往中的一条纽带。秦汉有竹制的“谒”,唐代纸质的“名刺”也被沿用许久。如今,无实体的数字名片在商务人士中已十分普及,科技加持下&…

共享存储知识

文章目录一、架构图二、RAID(廉价冗余磁盘整列)三、存储操作四、FusionCompute对接存储五、添加数据存储时的选项六、磁盘配置模式七、磁盘模式八、快照九、FC-SAN一、架构图 SAN(存储区域网络) IP-SAN(SCSI协议封装在…

Linux多线程C++版 线程基础 进程和线程关系 线程分类 Linux线程实现 线程表示

目录1.线程的基础2.进程和线程的关系3.线程分类 了解4.Linux线程实现5.线程标识1.线程的基础 进程是资源管理的最小单位,线程是程序执行最小单位。每个进程有自己的数据段,代码段和堆栈段。线程通常叫做轻型的进程,它包含独立的栈和CPU寄存器…

[附源码]java毕业设计基于的楼盘销售管理系统论文2022

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

SpringCloud Gateway 自定义Filter用代码怎么写?别再说我只会配置基本Filter了,来学学如何定制Filter过滤器

文章目录学习SpringCloud Gateway自定义全局Filter(GlobalFilter)ServerWebExchange自定义非全局Filter(GatewayFilter)学习SpringCloud Gateway SpringCloud Gateway使用及原理分析大全——断言及过滤器(上篇&#x…

【openwrt】libubox组件——uloop_process

uloop_processuloop_process主要数据结构struct list_head processesstruct uloop_processuloop_process主要函数uloop_handle_processesuloop_process原理uloop_process使用示例uloop_process 是 Libubox 提供的一个进程管理工具,它主要用来等待子进程工作的结束,一…

DAP和IAP

DAP和IAP DAP模型:通过训练样本学习一组属性分类器直接预测测试样本的属性。 IAP模型:通过训练样本的类别,(多分类器)间接预测测试样本的属性。 两者之间的区别:属性分类器的学习方式,DAP是一组…