【软件测试】bug篇|软件测试的生命周期|描述bug的要素|bug的级别|bug的生命周期|高频面试题:与开发产⽣争执怎么处理

目录

一、软件测试的⽣命周期

二、BUG

2.1 bug的概念

2.2 描述bug的要素

2.3 bug级别

2.4 bug的⽣命周期

💡2.5 与开发产⽣争执怎么办(⾼频考题)


💡 推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站


一、软件测试的⽣命周期

💡软件测试贯穿软件的整个生命周期

各阶段具体内容:

测试人员不仅要具备开发能力,测试能力,最好具备一定的产品分析能力

测试执行结束后,不能认为项目100%的问题都被发现了,问题是不可能被完全发现的

上线:

学习中,本地写的代码提交到码云/部署到服务器上,可以称为一个上线流程

实际在工作中,上线要分为多个步骤:沙盒,小流量,全流量,全上线

沙盒:企业内部的线上环境,可以供内部人员进行测试

小流量:部分线上真实的用户可以使用到,测试人员要在线上手动测试,还要观察有没有错误日志(真实用户在使用过程中是否出现了问题)

全流量:所有的真实用户都可以使用到

因为上线的过程中可会存在问题,线下测试没有问题,如果直接推到线上可能会发现问题

线上环境和线下环境并不是完全一样的,因此每一步都需要跟进测试


二、BUG

2.1 bug的概念

定义:⼀个计算机bug指在计算机程序中存在的⼀个错误(error)、缺陷(flaw)、疏忽(mistake)或者故障(fault),这些bug使程序⽆法正确的运⾏。Bug产⽣于程序的源代码或者程序设计阶段的疏忽或者错误

💡准确来说:

(1)当且仅当规格说明是存在的并且正确,程序与规格说明之间的不匹配才是错误

(2)当需求规格说明书没有提到的功能,判断标准以最值的用户为准;当程序没有实现其最终用户合理预期的功能要求时,就是软件错误


2.2 描述bug的要素

|为什么描述bug还有要素要求?

在⼼理学上说,⼈们在编写⽂档的时候,经常会出现⾃⼰想表达的和写出来的内容往往南辕北辙

|错误的bug描述:浏览器打开链接失败

该描述下,没有明确说明哪个浏览器,失败的具体表现是什么,对于开发⼈员来说⽆法捕捉到更多有效的信息,会造成沟通效率低下,⼯作质量低下等问题

💡描述bug的基本要素:问题出现的版本,问题出现的环境,问题出现的步骤,预期结果,实际结果

bug的基本要素包含但是不仅限于这些

例子:

1.问题出现的版本:版本124.0.6367.202(正式版本)(64位)【浏览器的版本,软件产品的版本】

2.问题出现的环境:window系统的版本xxx 【产品的运行环境】

3.问题出现的步骤:

(1)打开谷歌浏览器

(2)输入网址:http://xxxxx

(3)找到登陆窗口

|上面都是通过具体信息来还原bug

4.预期结果:二维码没有被遮挡,可以微信扫描添加二维码用户 【复现bug】

5.实际结果:二维码被遮挡,微信无法添加二维码用户


2.3 bug级别

|为什么要定义bug级别?

(1)评估程序员的开发能力

(2)年终奖

(3)给bug修复顺序排序

💡bug级别⼀般分为:崩溃、严重、⼀般、次要

崩溃严重⼀般次要
阻碍开发或测试⼯作的问题;造成系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等问题。如:代码错误、死循环、数据库发⽣死锁、重要的⼀级菜单功能不能使⽤等(该问题在测试中较少出现,⼀旦出现应⽴即中⽌当前版本测试)。系统主要功能部分丧失、数据库保存调⽤错误、⽤⼾数据丢失,⼀级功能菜单不能使⽤但是不影响其他功能的测试。功能设计与需求严重不符,模块⽆法启动或调⽤,程序重启、⾃动退出,关联程序间调⽤冲突,安全问题、稳定性等。如:软件中数据保存后数据库中显⽰错误,⽤⼾所要求的功能缺失,程序接⼝错误,数值计算统计错误等(该等级问题出现在不影响其他功能测试的情况下可以继续该版本测试)。功能没有完全实现但是不影响使⽤,功能菜单存在缺陷但不会影响系统稳定性。如:操作时间⻓、查询时间⻓、格式错误、边界条件错误,删除没有确认框、数据库表中字段过多等(该问题实际测试中存在最多)界⾯、性能缺陷,建议类问题,不影响操作功能的执⾏,可以优化性能的⽅案等。如:错别字、界⾯格式不规范,⻚⾯显⽰重叠、不该显⽰的要隐藏,描述不清楚,提⽰语丢失,⽂字排列不整⻬,光标位置不正确,⽤⼾体验感受不好,可以优化性能的⽅案等(此类问题在测试初期较多,优先程度较低;在测试后期出现较少,应及时处理)

2.4 bug的⽣命周期

测试⼈员在执⾏测试的过程中如有发现bug,需要在对应的bug管理平台来创建bug(bug⽣命起

源),创建好的bug需要被开发⼈员修复,以及测试⼈员的持续跟踪和测试


💡2.5 与开发产⽣争执怎么办(⾼频考题)

(1)先检查自身,是否bug描述的不清楚

反省自己:是不是在测试的时候出现了误操作,bug描述是不是没有写清楚

(2)站在用户的角度并抛出问题

功能正常只是测试的一部分,还需要考虑用户的使用感受,如果你是用户,你能接受这样的界面/功能/使用吗?

(3)BUG定级要有理有据

bug定级描述文档拿出来,然后将bug的表现和bug定级描述文档进行匹配,说服程序员

(4)提⾼⾃⾝技术和业务⽔平,做到不仅能提出问题,最好也能给出解决⽅案

但是给出解决方案一定不要以命令的口吻要求开发人员按照自己的逻辑来修改

测试小白:更多的是提出问题(bug)

测试大牛:除了提出问题也能够定位到问题,给出解决方案

(5)bug评审

如果确实是bug,友好沟通不能解决问题,那么就召开bug评审

bug评审主要解决两个问题:

|(1)决定如何处理bug

|(2)分析缺陷产⽣的原因,找出预防的对策

bug评审⾄少需要项⽬组各个⽅⾯的代表参加:

1)测试代表

测试代表主要从Bug的具体表现、严重程度等⽅⾯提供信息,并提出⾃⼰对Bug的处理意⻅。需要注意的是,测试⼈员不应该⼀味地要求对Bug进⾏修改,因为修改可能带来回归的⻛险,同时带来的是回归测试的⼯作量,如果时间⽐较紧迫,修改后剩余的时间若不⾜以做⼀次有效的回归测试,可能不修改是个明智的选择。

2)开发代表

开发代表主要从修改缺陷的难度和⻛险出发,考虑缺陷修改需要付出的代价,以及可能影响的范围、可能引发的⻛险等,如果决定要修改,还要讨论出修改的初步⽅案。

3)产品代表

产品代表主要从产品的整体计划、⽤⼾的要求等⽅⾯对缺陷的修改必要性、缺陷修改的时间和版本提出⾃⼰的意⻅

 

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

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

相关文章

Python筑基之旅专栏(导航)

目录 一、Python筑基之旅专栏博文清单及链接 二、推荐阅读 一、Python筑基之旅专栏博文清单及链接 01、溯源及发展 02、变量和数据类型 03、搭建Python开发环境及库 04、两个重要函数/列表/元组 05、字符串(一) 06、字符串(二) 07、字符串(三) 08、字典 09、集合 10…

Taro React组件开发 —— RuiVerifySlider 行为验证码之滑动拼图

1. 效果预览 2. 使用场景 账号登录,比如验证码发送,防止无限调用发送接口,所以在发送之前,需要行为验证! 3. 插件选择 AJ-Captcha行为验证码文档AJ-Captcha行为验证码代码仓库为什么要选用【AJ-Captcha行为验证码】呢?因为我们管理后台使用的是 pigx ,它在后端采用的是【…

HX-100调频广播覆盖专用天线

HX-100全向天线是北京恒星科通科技发展有限公司自主研发的一款隧道专用宽带调频发射天线,采用圆盘形结构、振子采用铝合金材料制造,具有增益高、功率容量大、工作频带宽、安装方便、防腐防潮、抗风性能好等特点,特别适合隧道调频广播覆盖、地…

【制作100个unity游戏之26】unity2d横版卷轴动作类游13(附带项目源码)

最终效果 系列导航 文章目录 最终效果系列导航前言存储点灯光后处理存储位置信息存储更多数据存储场景信息持久化存储数据引入Unity 的可序列化字典类调用 游戏结束源码完结 前言 欢迎来到【制作100个Unity游戏】系列!本系列将引导您一步步学习如何使用Unity开发各…

拆分字段——kettle开发11

一、拆分字段 1、拆分字段就是将一个字段拆分为多个字段,原字段就不存在数据流之中,拆分的规则是按照一个的分隔符进行拆分。具体语法如下图所示。 2、实操将EXCEL中name拆分为firstname 和 lastname,具体转换包括EXCEL输入、拆分字段、EXCEL输出。 EXC…

《软件方法(下)》8.3.4.5和《设计模式》中用语的区别

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 8.3 建模步骤C-2 识别类的关系 8.3.4 识别关联关系 8.3.4.4 类关系再整理 有了前面的知识,我们需要再整理一下类的关系。用类图表示类的关系如图8-134。 图8-134 “类的…

如何进行硬件监控

在复杂的技术环境中,人们很容易忘记硬件资源的重要性,IT 行业的爆炸性增长使得监控各种硬件资源变得越来越重要,在处理运行关键业务应用程序并在日常基础上启用全局操作的大型网络时,保护这些网络环境的基本构建块至关重要。硬件监…

苗情灾情监控系统—提高农业生产效率

TH-MQ2苗情灾情监控系统是一种用于监测农作物生长状况和灾情的设备,通过实时监测和数据分析,帮助农民及时了解作物生长情况,采取相应的管理措施,提高农业生产效率和降低生产成本。 该系统通常由多种传感器、摄像头、数据传输模块等…

IDEA软件和插件安装

安装IDEA版本:IDEA windows 2021.1.3 使用该版本的IDEA,并且安装下面插件后,个人认为非常好用,并且可以不用破解,无限使用企业版,了解具体方法可以留言或私信。 记录几个好用的IDEA插件,后续持…

安装appium自动化测试环境,我自己的版本信息

教程来自:Appium原理与安装 - 白月黑羽 我的软件的版本: 安装是选择为自己安装而不是选all user pip install appium-python-client命令在项目根目录下安装appium-python-client sdk的话最简单的安装方式就是去Android官网下一个android studio然后在…

在美国小众电商平台通过AI+马克杯月入15万,AI副业赚钱思路大揭秘

AI时代,怎么在小众赛道借助AI做好跨境电商生意?今天跟大家分享POD(Print On Demand)定制赛道的案例。在美国小众手工艺电商平台Etsy通过AI马克杯月入15万,这篇文章会跟大家分享具体的副业案例,商业模式,AIPOD模式具体流…

学会这4个Word打印技巧,让你工作效率翻倍!

作为打工人,我们经常需要打印各种Word文档,以下分享的6个Word打印技巧,如果你不知道就太可惜了,一起来看看吧! 技巧1:打印当前页 如果Word文档有很多页,但只需要打印其中的一页,可以…

matplotlib---气泡图

气泡图简介: 气泡图(Bubble Chart)是一种数据可视化图形,主要用于展示多个数据点之间的关系。 气泡图通过气泡的大小,位置和颜色可以展示数据之间的关系。在气泡图中,横轴和纵轴通常表示数据的两个维度&a…

太狠了,凌晨5点面试。。

(关注数据结构和算法,了解更多新知识) 网上看到一网友发文说收到面试邀请,面试时间竟然是早晨5点,这是要猝死的节奏。有的网友说应该是下午 5 点,如果是下午 5 点直接写下午 5 点就行了,或者写 17 点也行,直…

[企业级高效系统工具]短视频矩阵系统 ,一站式管理新媒体账号,短视频精准获客,一键管理上千个短视频账。

一、做项目为什么要搭建一款属于自己的系统? 在讲这个短视频矩阵系统前,我们聊聊做项目的时候为什么要搭建一款属于自己的系统。 1.拥有自己的系统,就意味着你可以随时随地进行源码部署和更新。你的项目就能紧跟时代潮流,始终保持…

具身人工智能:人工智能机器人如何感知世界

什么是具身人工智能 虽然近年来机器人在智能城市、工厂和家庭中大量出现,但我们大部分时间都在与由传统手工算法控制的机器人互动。这些机器人的目标很狭隘,很少从周围环境中学习。相比之下,能够与物理环境互动并从中学习的人工智能 (AI) 代理(机器人、虚拟助手或其他智能系…

强化学习——学习笔记

一、什么是强化学习? 强化学习 (Reinforcement Learning, RL) 是一种通过与环境交互来学习决策策略的机器学习方法。它的核心思想是让智能体 (Agent) 在执行动作 (Action)、观察环境 (Environment) 反馈的状态 (State) 和奖励 (Reward) 的过程中,学习到…

单片机方案开发个性定制

酷得智能是玩具企业合作方案商,致力于为玩具企业提供一站式的智能化解决方案。我们拥有丰富的行业经验和技术实力,能够根据客户的需求和市场趋势,为其量身定制最适合的智能玩具产品和解决方案。 主营业务: 东莞市酷得智能科技有限…

Sping源码(九)—— Bean的初始化(非懒加载)— ConversionService

序言 经过前面一系列的加载、解析等准备工作,此刻refresh方法的执行已经来到了尾声,接下来我们用几篇文章着重的介绍一下Bean的初始化 代码 着重看refresh()主流程中的finishBeanFactoryInitialization()方法。 finishBeanFactoryInitialization 方法…

JAVA开发 利用代码生成奖状

通过java实现用模板生成奖状 1、图片模板2、实现代码3、生成模板 1、图片模板 2、实现代码 import javax.imageio.ImageIO; import java.awt.*; import java.awt.font.TextAttribute; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException;…