前面已经提到了什么是Bug,Bug即软件错误。当软件规格说明书存在且正确时,若程序与规格说明书不一致则视为软件错误,对于软件规格说明书中没有提到的部分功能,则以用户需求与预期为主,不符合用户合理预期的视为软件错误;
对于一名测试人员而言,可以狭义的认为其工作就是不断地发现bug和提交bug,本文将进一步介绍与Bug相关的内容:
描述一个bug
一般情况下,一个合理的bug描述主要包含下面几个部分:
- 发现问题的版本
对于开发人员而言,只有清楚测试人员提出bug时的对应版本,才可以根据相应的版本对应的代码来查找问题出处; - 问题出现的环境
对于web项目而言,环境就代表浏览器的版本、客户机的操作系统等;若是APP项目,环境则包含了操作系统的版本、APP安装的机型等; - 发现的问题的步骤
为了让开发人员更快更好地复现bug,就需要测试人员在bug的描述中清楚体现Bug出现的详细步骤; - 预期结果的描述
预期结果的描述是bug为什么是bug的有力证明,也是为了让开发人员清楚什么样的是正确的,需要得到什么样的效果才是修改成功; - 错误行为的描述
对实际情况进行描述,也是证明Bug的有力证据;
要清楚创建bug的目标是为了让开发人员或其他人员可以复现以此来修改,因此对于bug的描述要尽可能清楚明了,一般包括但不限于上面几点,一般还会根据不同企业的具体要求增加其他要素;
Bug的级别
关于bug的定级,一般不同的企业要求不同,这里只做普遍情况下的简单介绍:
- 崩溃
直接导致开发或测试工作无法开展,系统崩溃,死机,数据库数据丢失,主要功能模块缺失等; - 严重
系统主要功能部分丧失,功能设计与需求严重不符,安全存在问题,系统稳定性存在问题等; - 一般
功能实现不完全但又不影响正常使用,一般级别大致就是存在问题但又不影响正常使用; - 次要
功能可以正常使用,但可以进一步优化,用户体验一般,进行优化更好;
Bug的生命周期
测试人员在提交一个bug之后,应该持续关注bug的状态转换,直到其生命周期结束;下面是bug的状态转换图:
new:测试人员新发现的bug;
open:确认时bug,交由开发人员进行修改;
rejected:不被认为是bug,开发人员拒绝修改;
fixed:开发人员进行修改;
delay:因为一些原因延后修改bug;
closed:经测试人员再次测试,确认修改成功,关闭bug;
reopen:经测试仍未修改成功,重新开启bug;
与开发产生争执的解决办法
不可否认的是,测试人员每提出一个bug,对于开发人员就意味着工作量的增加,因此由于bug的提出而与开发产生争执在所难免,下面提供了一些解决思路:
- 对自己提出的bug进行确认,是否描述不够清楚,是否提出了一个无效bug;
- 检查自己的bug定级是否合理,参考bug级别和用户体验;
- 以用户的角度引导开发人员,作为用户是否可以容忍这样的bug存在;
- 尽可能提高自己的业务水平,在提出bug的同时,可以给出bug修改的参考意见(只是建议,不可以喧宾夺主);
- 经上述流程,依然不被开发认为是有效bug,可以发起bug评审(邀请产品代表、开发代表、测试代表参加),共同沟通,解决bug如何修改以及如何避免此类问题发生等问题;
over!
查看全文
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dgrt.cn/a/2139286.html
如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!
相关文章:
软件测试之Bug篇
前面已经提到了什么是Bug,Bug即软件错误。当软件规格说明书存在且正确时,若程序与规格说明书不一致则视为软件错误,对于软件规格说明书中没有提到的部分功能,则以用户需求与预期为主,不符合用户合理预期的视为软件错误……
Java高级技术 单元测试(JUnit4)
JUnitJUnit总览一、什么是单元测试?二、JUnit的使用与入门案例三、JUnit断言机制四、JUnit框架的常用注解五、JUnit5的注解JUnit总览 一、什么是单元测试? 所谓单元测试,就是针对最小的功能单元,编写测试代码对其进行正确性测试。……
【算法题】831. 隐藏个人信息
题目:
给你一条个人信息字符串 s ,可能表示一个 邮箱地址 ,也可能表示一串 电话号码 。返回按如下规则 隐藏 个人信息后的结果:
电子邮件地址:
一个电子邮件地址由以下部分组成:
一个 名字 ,……
[oeasy]python0122_日韩字符_日文假名_JIS_Shift_韩国谚文
日文假名和韩国谚文
回忆上次内容
上次回顾了非ascii的拉丁字符编码的进化过程 0-127 是 ascii 的领域 世界各地编码分布 拉丁字符扩展 ascii 共 16 种 由iso组织制定 从iso-8859-1到iso-8859-16 无法同时显示俄文和法文 此时中日韩的文字也需要进入计算机 象形文字的字符集……
第二章 第一节词性角度的扩展
一,词性角度的扩展之限定词
(1)有冠词 a/an the 资产配置策略 (2)数词 dozen 一打(12个)
序数词,百分数 two thirds三分之二
Hispanic西班牙裔 (3)还有……
Unity Render Streaming 云渲染
版本: Unity:2021.3.16f1 Unity Render Streaming:3.1.0-exp.5 (目前 .6 好像有些问题,我只好降到 .5 了) 创建项目 先搞这几个版本或者更高的Unity版本,然后为了让我们的案例看起来更好看&……
项目一:挑战6秒
项目一:挑战6秒 文章目录项目一:挑战6秒一、导入(5分钟)学习目的二、新授(65分钟)1.预展示结果(5分钟)2.本节课所用的软硬件(5分钟)3.硬件介绍(10分钟)4.图形化块介绍(10分钟)5.单个模块的简单使用(10分钟)6.挑战六秒编程逻辑分析(5分钟)7.挑……
osgFBO(八)多Pass–1,pass1.处理采样摄像机
一般情况,一个采样摄像机和1个显示摄像机就足够了,但是,并非完全如此。最近将qedl移植到osg时,就出现了N个步骤。当然,可以把所有的步骤都糅合在最后一个显示摄像机处理,但是那样就会成了大杂烩,……
栈的初始化,入栈和出栈
概念
一种执行“后进先出”算法的数据结构。
优势是存取速度比堆要快;
缺点是存在栈中的数据大小与生存期必须是确定的。
限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,另一端称为栈底。向一个栈插入新元素被称为进栈、入栈或压栈&……
Java Web应用开发——作业五
一.单项选择题(共4题,40.0分) 1 在 JSP 中调用 JavaBean 时不会用到的标记是:( )
A、 < javabean>
B、 < jsp:useBean>
C、 < jsp:setProperty>
D、 < jsp:getProperty>
正确答案&#x……
Hadoop入口FileSystem HDFS操作 本地文件合并到HDFS和HDFS文件合并
Hadoop 文件API的起点是FileSystem类。这是一个与文件系统交互的抽象类。存在不同的具体实现子类来处理HDFS和本地文件系统。
HDFS接口的FileSystem对象:
Configuration conf new Configuration();
FileSystem hdfs FileSystem.get(conf); HDFS直接操作&#x……
combiner partitioner
combine是在map端进行的,是在patition之后 partitioner也是在map端进行的 combine 适用在每个map端进行简单的合并,同样也是继承Reduce类。…
toString.indexOf(:)和subsTring
package com.test2.test;public class subStirngTest {public static void main(String[] args) {String sb"abcdefgh";String sc"abcd:efgh";int splitIndexsc.indexOf(":");//找到标识符的位置System.out.println(splitIndex);sb.substring(1)……
Aprior 算法
Apriori 算法:(hadoop中实现) 第一步:统计项的频度 (用一个MR统计出来) 假设是一个矩阵 U1 app1 , app3
U2 app1 , app2 , app3
U3 app2 , app3 把矩阵看成一行行的向量
U1<app……
matlab中kmeans简单使用
[Idx,C,sumD,D]Kmeans(data,3,’dist’,’sqEuclidean’,’rep’,4) 等号右边: kmeans:K-均值聚类 data是你自己的输入数据 3 是你要聚成3类 dist sqEuclidean 这2个参数,表示距离函数为欧式距离。什么是欧式距离自己百度 ’rep’,4 聚类重……
matlab中贝叶斯简单使用
Matlab部分代码: Data_prediction load(lichen\Pima-prediction-set.txt);
Data_train load(lichen\Pima-training-set.txt);
training_data Data_train(:,1:8);
training_label Data_train(:,9);
prediction_data Data_prediction(:,1:8);
prediction_la……
awk sed 的截取和替换vsftpd.log
vsftpd.log 日志
首先需要在配置文件中添加开启的语句。
然后必须有用户登录才会产生日志文件。 日志格式: 截取结果: Static.sh脚本内容:
#!/bin/bash
cat /var/log/vsftpd.log |awk {print $8 " "$9" "$10" &……
Hadoop中Writable和WritableComparable区别
Hadoop的key和value的传递序列化需要涉及两个重要的接口Writable和WritableComparable。 1> Writable: public void write(DataOutput out){} public void readFields(DataInput in){} 也就是读数据和写数据的方式 2> WritableComparable:……
FP树挖掘算法实现
Fptree算法: FP-growth算法,采用的是分而治之的思想,在挖掘的过程中不会像Apriori算法那样,产生大量的候选集,Apriori算法中如果有10^4个频繁一项集会导致10^7个频繁二项集,而对长度为100的频繁模式&#x……
hadoop分片大小
Hadoop的最佳分片大小应该和HDFS的块大小相同:如果跨越俩个数据块,那么对于任何一个HDFS节点,基本都不会同时存储在俩个数据块,难免会进行跨网络传输。于在本地数据运行慢许多。…
编程日记2023/4/16 14:50:31