软件测试-软件缺陷有哪些,一文贯彻到底

软件缺陷

软件缺陷:又称之为“Bug”。即计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。

表现形式A

软件没有实现产品规格说明书所要求的功能模块。
表现形式B

软件中出现了产品规格说明指明不应该出现的错误。
表现形式C

软件实现了产品规格说明中没有提到的功能需求。
表现形式D

软件没有实现虽然产品规格说明没有明确提及但应该实现的目标。
表现形式E

软件难以理解、不易使用、运行缓慢、用户体验不友好。

缺陷的定义

1、软件在使用过程中存在的任何问题都叫软件的缺陷。
2、缺陷不等同于bug。
3、缺陷的存在会导致软件产品在某种程度上不能满足用户的需求
4、只要你的软件让用户觉得不爽

缺陷的判定标准

软件未实现需求(规格)说明书中明确要求的功能 –少功能
软件出现了需求(规格)说明书中指明不应该出现的错误 -功能错误
软件实现的功能超出需求(规格)说明书指明的范围 -多功能
软件未实现需求(规格)说明书中虽未明确指明但应该实现的要求 –隐性功能错误
软件难以理解,不易使用,运行缓慢,用户体验不好 -不易使用

缺陷产生的原因

需求阶段: 需求描述不易理解,有歧义、错误等
设计阶段: 设计文档存在错误或者缺陷
编码阶段 :代码出现错误
运行阶段 :软硬件系统本身故障导致软件缺陷

软件缺陷的类型

1、功能错误:软件没有达到需求文档的功能要求,或者功能异常
2、 界面错误:软件功能正常,但是界面不好看或者未达到规格说明中的要求
3、兼容性错误:软件和系统中的其他的程序冲突,导致软件无法运行
4、易用性错误:软件用起来不好用
5、 改进建议:改了更好,不改也没事

缺陷属性(在禅道中学习)

1.缺陷标识(ID): 缺陷标识是标记某个缺陷的一组符号。每个缺陷必须有一个唯一的标识。

2.缺陷类型 : 缺陷类型是根据缺陷的自然属性划分的缺陷种类。功能 接口 需求 易用性..

3.缺陷严重程度 :缺陷严重程度是指因缺陷引起的故障对软件产品的影响程度。致命/严重/一般/建议

4.缺陷优先级: 缺陷的优先级指缺陷必须被修复的紧急程度。紧急/一般/不紧急

5.指派人:指这个bug交给谁来修复

6.缺陷状态 :缺陷状态指缺陷通过一个跟踪修复过程的进展情况。

新建(打开):测试人员或其他人员发现并确认提交的bug,如新提交的bug。

被否决:经过确认,提交的bug确认为不是bug.

待修复:开发确认bug的有效性,进行处理

处理中:开发确认bug的有效性,进行处理

已修复:已被开发人员找到原因并修复的缺陷。

关闭 (最终态):测试人员在修复的版本中验证该问题确实已修复。

重新打开:测试人员在修复的版本中验证,确认仍存在该缺陷。

待跟踪:bug无法重现,开发不能定位到问题的原因

缺陷报告的重要组成
(1) 编号

提交缺陷的顺序

(2) 标题

简明扼要的描述缺陷

(3) 发现者

谁发现的缺陷,比如工号、用户名、姓名等

(4) 发现日期

提交缺陷的系统日期,一般是当天

(5) 所属模块

哪个功能模块发现的缺陷(方便开发经理根据模块定位该缺陷的负责人)

(6) 所属版本

在软件哪个版本发现的缺陷,如XX系统vYYYY-MM-DD;或XX系统version X.X.X

(7) 指派给谁

测试人员将缺陷指派给开发经理,开发经理会根据该缺陷所在模块再次指派给具体开发人员

(8) 缺陷状态

创建之后默认为激活状态(打开)

(9) 严重程度

准确评估bug的严重程度,评判标准参考公司的定义规范。

(10) 优先级别

准确评估bug的优先级程度。具体参照公司丢与优先级的定义。一般阻塞测试流程的问题为紧急,其它是情况而定

(11) 缺陷描述

把发现缺陷的过程、步骤、使用的数据等记录下来,使开发人员通过该描述再现该Bug

需注意问题:

① 单独记录每一个缺陷,不要把两个或者多个缺陷记录在一起

② 缺陷描述要清晰准确易读,使用必要、量少的步骤保证缺陷复现

③ 对缺陷的严重程度和优先级别的划分要准确、客观

④ 提交缺陷报告前要认真审核,确保提交的缺陷为有效缺陷

⑤ 不要为了引起开发人员的重视而夸大缺陷

⑥ 小的缺陷也需要记录缺陷报告

⑦ 及时报告缺陷(给开发人员留一些充足的修复时间)

⑧ 对发现的缺陷不做任何评价(随意评价缺陷,很容易伤开发人员的心哦)

⑨ 随机缺陷也要报告(随机缺陷不易重现,按照固定步骤时有时无,所以需要表明它是随机缺陷,尽量详细描述其出现的步骤,以及出现的频率等)

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WordPress:解决xmlrpc.php被扫描爆破的风险

使用WordPress的朋友都知道,一些【垃圾渣渣】会利用xmlrpc.php文件来进行攻击,绕过WP后台错误登录次数限制进行爆破。虽然密码复杂的极难爆破,但及其占用服务器资源。 方法一、利用宝塔防火墙(收费版) 一般可以直接使…

代码随想录算法训练营第五十二天【动态规划part13】 | 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

300.最长递增子序列 题目链接 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 求解思路 动规五部曲 1.dp数组及其下标定义: dp[i]表示包括i以前的以nums[i]结尾的最长递增子序列的长度 2.状态转移方程: 位置i的最长升序…

如何解决SSL证书部署后未生效或网站显示不安全

本文介绍SSL证书部署后未生效或网站显示不安全的排查方法。 浏览器提示“您与此网站建立的连接不安全” 浏览器提示“无法访问此页面” 浏览器提示“这可能是因为站点使用过期或者不全的TLS安全设置” 浏览器提示“此页面上部分内容不安全(例如图像)”…

网络类型解析(基础):探索通信世界的多样面貌

在当今数字化时代,网络已经成为人们生活和工作中不可或缺的一部分。从个人设备之间的直接通信到全球范围的数据传输,不同类型的网络为我们提供了多种连接方式和通信选择。透过对这些网络类型的解析,我们将更好地理解它们的特点、优势和适用场…

Excel导入操作

<template><el-dialogwidth"500px"title"员工导入":visible"showExcelDialog"close"$emit(update:showExcelDialog, false)"><el-row type"flex" justify"center"><div class"upload-e…

C++stack

目录 1.什么是stack 2.容器适配器 3.stack的使用 top push pop 4.模拟实现stack 1.什么是stack 1. stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除只能从容器的一端进行 元素的插入与提取操作。(后进先出) 2. stack是作为容…

git的版本控制流程

1、git是一款版本控制工具 例如我们常用的淘宝&#xff0c;每次升级&#xff0c;版本号就会加一。那么我们怎么控制版本号呢&#xff1f; --使用git。 2、最常使用的git指令 git add . 暂存 git commit -m"***" 提交到本地 git pull 将远程仓库代码下拉到本地 git …

Python知识碎片补充【侯小啾python领航班系列(十四)】

Python知识碎片补充【侯小啾python领航班系列(十四)】 大家好,我是博主侯小啾, 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…

c#学习相关系列之as和is的相关用法

一、子类和父类的关系 public class Program{static void Main(string[] args){Animal animal new Dog();// Dog dog (Dog)new Animal(); 编译成功&#xff0c;运行报错Dog dog (Dog)animal;Dog dog new Dog();Animal animal dog; //等价于Animal animal new Dog();}}pub…

应用于智慧社区的AI边缘计算盒子+AI算法软硬一体化方案

据统计&#xff0c;全国大约有45W个小区&#xff0c;监控高空抛物、治理乱扔垃圾、人员管理、烟火检测、占道、人流量检测、车型检测等&#xff1b;营造社区安全等需求跟每一个参与者息息相关&#xff0c;据法院公开资料显示&#xff0c;每年有1000宗以上跟高空抛物有关的各类案…

0X04

看到一道有趣的misc题 misc签到题 打开后啥都没有&#xff0c;全选后发现每一行有空格&#xff0c;数了一行发现空格数量转ascil码后是f&#xff0c;猜测都如此&#xff0c; 后面就可以交个脚本了&#xff0c;统计之后转换成ascii from Crypto.Util.number import long_to_b…

【Linux--进程控制】

目录 一、进程等待1.1进程等待方法1.2获取子进程status 二、进程替换2.1单进程版本--最简单得程序替换2.2 进程替换得原理2.3 多进程版本--验证各种程序替换接口2.4 总结 一、进程等待 1.1进程等待方法 问题1&#xff1a;进程等待是什么&#xff1f; 通过系统调用wait/waitpi…

算法:笛卡尔平面坐标系上,若干连接点形成线,剔除距离小于阈值的点,Kotlin

算法&#xff1a;笛卡尔平面坐标系上&#xff0c;若干连接点形成线&#xff0c;剔除距离小于阈值的点&#xff0c;Kotlin const val THRESHOLD 0.6f //距离小于这个点将被剔除。data class Point(val x: Float, val y: Float)fun removeNearbyPoint(points: List<Point>…

【数电笔记】逻辑代数的基本定律、常用公式

说明&#xff1a; 笔记配套视频来源&#xff1a;B站 逻辑代数的基本定律 1. 常量间的运算 2. 逻辑变量与常量的运算 3. 与普通代数相似的定律 4. 摩根定律&#xff08;反演律&#xff09; 5. 等式证明方法例题 逻辑代数的常用公式 1. 吸收律 2. 冗余律 3. 示例应用 4. 关于异…

conda 安装指定Version的指定Build

入下图&#xff0c;我想装cudnn的7.6.5的指定Build版本cuda10.0_0 应该使用如下命令&#xff1a; mamba install cudnn7.6.5cuda10.0_0 没有mamba用conda install也可以

快手获客技巧:轻松获取高转化率的潜在客户!

**一、引言** 随着互联网的发展&#xff0c;越来越多的企业开始关注短视频平台&#xff0c;尤其是快手。作为中国最大的短视频平台之一&#xff0c;快手拥有庞大的用户群体和丰富的视频内容。通过掌握快手获客技巧&#xff0c;企业不仅可以获取更多潜在客户&#xff0c;还能提高…

Flash学习

FLASH介绍 FLASH是常用的&#xff0c;用于存储数据的半导体器件&#xff0c;它具有容量大&#xff0c;可重复擦写&#xff0c;按“扇区/块”擦除、掉电后数据可继续保存的特性。 常见的FLASH有NOR FLASH和NAND FLASH。 NOR和NAND是两种数字门电路&#xff0c;可以简单地认为F…

简述MyBatis、MyBatis-Plus、以及MyBatis-Plus的简单运用

什么是MyBatis MyBatis是一个开源的Java持久层框架&#xff0c;用于简化与关系型数据库的交互。它通过将SQL语句与Java代码进行分离&#xff0c;提供了一种优雅的方式来处理数据库操作。 MyBatis的核心思想是将SQL语句与Java方法进行映射&#xff0c;使得开发人员可以通过配置…

《ChatGPT实操应用大全》探索无限可能

&#x1f5e3;️探索ChatGPT&#xff0c;开启无限可能&#x1f680; 文末有免费送书福利&#xff01;&#xff01;&#xff01; ChatGPT是人类有史以来最伟大的发明。他能写作、绘画、翻译、看病、做菜、编程、数据分析、制作视频、解高等数学题…&#xff0c;他会的技能…

FPGA 常用代码

边沿检测 Verilog边沿检测是数字电路设计中常用的方法之一。它是一种检测输入信号边沿变化的技术&#xff0c;用于实现时序控制、数据采集和数字信号处理等功能。其基本原理是通过触发器检测输入信号的状态变化&#xff0c;并触发相应的逻辑操作。 // 边沿检测模块 // 使用两…