软件测试—基础篇

news2024/11/27 18:41:45

软件测试—基础篇

  • 🔎软件测试的生命周期
  • 🔎如何描述一个BUG
  • 🔎如何定义BUG 的级别
  • 🔎BUG 的生命周期
  • 🔎测试的执行与管理
    • 测试的执行与管理
    • 如何发现更多的BUG
  • 🔎产生争执怎么办
  • 🔎结尾

🔎软件测试的生命周期

软件的生命周期
某一软件从被提出并着手实现开始直到软件停止使用为止的时间
具体可分为(1))需求分析 (2)计划 (3)设计 (4)编码 (5)测试 (6)运行及维护

软件测试的生命周期
具体可分为(1)测试需求 (2)测试计划 (3)测试设计 (4)测试开发 (5)测试执行 (6)测试评估
(1)测试需求
判断对软件的需求是否完整, 对软件的需求是否正确

(2)测试计划
a. 确定软件由谁进行测试
b. 确定软件测试开始的时间
c. 确定软件测试结束的时间
d. 确定软件需要测试哪些模块

(3)测试设计
设计测试用例(手动测试用例, 自动测试用例)

(4)测试开发
编写测试工具

(5)测试执行
测试人员执行测试用例

(6)测试评估
测试人员编写测试报告

🔎如何描述一个BUG

(1)发现问题的版本
开发人员需要知道出现问题的版本, 才能够通过对应版本的代码重现BUG, 版本的标识有利于统计和分析每个版本的质量

(2)问题出现的环境
环境分为软件环境和硬件环境, 如果是web 项目, 需要描述浏览器版本, 客户机操作系统等, 如果是app 项目, 需要描述机型, 分辨率, 操作系统版本等, 详细的描述有利于故障的定位

(3)错误重现的步骤
描述BUG 重现的最短步骤

(4)预期行为的描述
要让开发人员知道怎么样才是正确的, 尤其要以用户的角度描述程序的行为是怎样的
(如果是依据需求提出的故障, 最好能写出需求的来源)

(5)错误行为的描述
描述BUG
(可以通过截图, 录屏等方式展现BUG)

(6)其他
某些公司会有一些其他的要求
例如
故障的分类: (1)功能故障 (2)界面故障 (3)兼容性故障
优先级的分类: 严重影响测试的, 可以将优先级调高

(7)不要将多个BUG 放在一起
在无法确认是由同一段代码造成的故障时, 不要将BUG 放在一起提交

🔎如何定义BUG 的级别

不同的公司对于BUG 的级别有着不同的叫法
比如
p0, p1, p2, p3等
崩溃, 严重, 一般, 次要等
但具体的意思都是差不多的

(1)Blocker(崩溃)
阻碍开发或测试工作的问题
造成系统崩溃, 死机, 死循环, 导致数据库数据丢失, 与数据库连接错误, 主要功能丧失, 基本模块缺失等问题
例如: 代码错误, 死循环, 数据库发生死锁, 重要的功能不能使用等
(一旦出现这种程度的BUG, 应立即中止当前版本的测试, 由测试人员打回给开发人员)

(2)Critical(严重)
系统主要功能部分丧失, 数据库保存调用错误, 用户数据丢失
功能设计与需求严重不符, 模块无法启动或调用, 程序重启, 自动退出, 关联程序间调用冲突, 安全问题, 稳定性等
例如: 软件中数据保存后数据库中显示错误, 用户所要求的功能缺失, 程序接口错误, 数值计算错误等

(3)Major(一般)
功能没有完全实现但是不影响正常的使用, 功能菜单存在缺陷但不会影响系统稳定性
例如: 操作时间长, 查询时间长, 格式错误, 删除按钮没有确认框等

(4)Minor(次要)
界面, 性能缺陷
不影响功能的执行, 可以优化性能的方案等
例如: 错别字, 界面格式不规范, 页面显示重叠, 提示语丢失, 文字排列不整齐等

🔎BUG 的生命周期

在这里插入图片描述

● New: 新发现的Bug,未经评审决定是否指派给开发人员进行修改。
● Open: 确认是Bug,并且认为需要进行修改,指派给相应的开发人员。
● Fixed: 开发人员进行修改后标识成修改状态,有待测试人员的回归测试验证。
● Rejected: 如果认为不是Bug,则拒绝修改。
● Delay: 如果认为暂时不需要修改或暂时不能修改,则延后修改。
● Closed: 修改状态的Bug经测试人员的回归测试验证通过,则关闭Bug。
● Reopen: 如果经验证Bug仍然存在,则需要重新打开Bug,开发人员重新修改。

🔎测试的执行与管理

测试的执行与管理

在这里插入图片描述

测试人员发现BUG 后, 将BUG 提交到公司的系统中
开发人员将存放在系统中的BUG 进行修改
开发人员将修改好的BUG提交到公司的系统中
测试人员将存放在系统中的修改好的BUG 进行测试


如何发现更多的BUG

(1)软件测试存在二八原则, 80%的故障集中在20%的模块中, 如果某部分问题较多, 加强对该部分测试的深度和广度

(2)开发人员存在二八原则, 80%的故障集中在20%的开发人员, 如果某些开发人员的BUG 较多, 加强对他开发模块的测试深度和广度

(3)多进行逆向思维和发散性的思维
(这点比较依赖测试人员的经验)

(4)不要局限于用例和需求文档

(5)尽早介入项目, 不要等到开发的差不多了再介入项目


🔎产生争执怎么办

作为一名测试人员, 一般会遇到以下几种情况

  • 这不是BUG
  • 这个BUG 的级别太高了
  • BUG影响不大, 暂不修改

处理方法🥝

前提: 一定不要吵架

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

(2)站在用户角度考虑问题 应该让开发人员了解到Bug对用户可能造成的困扰, 这样才能促使开发人员更加积极地、高质量地修改Bug. 在争执时, 可以问一句:如果你是用户, 你可以接受么?

(3)BUG定级要有理有据

(4)不光要发现问题, 还要对问题提出相应的解决方案

🔎结尾

创作不易,如果对您有帮助,希望您能点个免费的赞👍
大家有什么不太理解的,可以私信或者评论区留言,一起加油

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

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

相关文章

基于PaddlePaddle的词向量实战 | 深度学习基础任务教程系列

词向量是自然语言处理中常见的一个操作,是搜索引擎、广告系统、推荐系统等互联网服务背后常见的基础技术。 在这些互联网服务里,我们经常要比较两个词或者两段文本之间的相关性。为了做这样的比较,我们往往把词表示成计算机适合处理的方式。最…

CRM管理系统有哪些优势?在企业中有什么作用?

CRM管理系统有哪些优势?在企业中有什么作用? 其实,公司上crm管理系统不仅不会增加员工负担,还能提升员工满意度、赋能员工。当然,前提是一款优质的CRM管理系统。 那么,一款优质的CRM管理系统一般具备哪些…

45.Promise,async,await

目录 1 Promise 1.1 状态 1.2 then 1.3 任务的优先级 1.4 连续then 1.4.1 then()的返回值也是一个Promise对象 1.4.2 默认情况下,在第一个then之后,会执行第二个then的成功函数 1.4.3 then的value可以用返回值传递 1.4.4 通过then的返…

为什么老年人会经常性出现吃饭呛咳的情况 什么因素导致的

其实很多老年人在吃饭或是喝水的时候,都存在吞咽困难的问题,呛咳或者是忘了如何下咽。其实在老年人群体当中,这也是一种较为常见的现象,但是很多人都把这种现象当回事。 对于呛咳的现象是很好判断的,在家里老人喝水或是…

专注区块链底层技术突破,“复杂美”用技术开源推动产业未来

杭州复杂美科技有限公司(以下简称:复杂美)成立于2008年,是一家致力于高性能撮合技术研发的区块链底层技术提供商,专注于区块链撮合系统、区块链清算系统的应用与推广。 公司于2013年启动区块链、智能合约的研发应用&am…

PyTorch 深度学习实战 | 基于 ResNet 的花卉图片分类

“工欲善其事,必先利其器”。如果直接使用 Python 完成模型的构建、导出等工作,势必会耗费相当多的时间,而且大部分工作都是深度学习中共同拥有的部分,即重复工作。所以本案例为了快速实现效果,就直接使用将这些共有部…

36岁大龄程序员被裁,找了2个月工作,年包从100万降到50万,要不要接?

为了找到工作,你愿意接受降薪多少?一位36岁的杭州程序员问:36岁被裁,找了2个月工作,年包从100万降到50万,真心纠结,要不要接?网友们分成了旗帜鲜明的两派,一派人认为不要…

【数学模型】欧拉公式和证明

一、说明 在图型学中,欧拉公式很有用处,比如皮克定律也可以用欧拉公式证明。本篇介绍欧拉公式的定义和三个证明过程。 二、欧拉公式 在任何一个规则球面地图上,用 R记区域个 数 ,V记顶点个数 ,E记边界个数 &#xff0c…

BGP基础知识

今天海翎光电的小编主要介绍一下BGP的相关基础知识,文章浅显易懂,适合对BGP完全没有了解的同学。 BGP介绍 边界网关协议BGP(Border Gateway Protocol)是一种实现自治系统AS(Autonomous System)之间的路由可…

【cmake篇】选择编译器及设置编译参数

实际开发的过程中,可能有多个版本的编译器,不同功能可能需要设置不同的编译参数。 参考博客链接:选择编译器及设置编译器选项 目录 一、选择编译器 1、查看系统中已有的编译器 2、选择编译器的两种方式 二、设置编译参数 1、add_compi…

CSSOM和CSSOM View

CSSOM和CSSOM View这两个我都不是熟悉的领域。 1.描述样式表和规则等 CSS 的模型部分(CSSOM) cssom中document.styleSheets :获取文档中所有的样式(只读),这个不常见,不做过多的介绍 2.元素视图…

科普|汽车毫米波雷达的规定和标准 微功率短距离无线电发射SRRC认证

01 — 24-24.25 GHz 上一篇提到,在我国《微功率短距离无线电发射设备目录和技术要求》中,保留了24-24.25 GHz的频段作为H类设备,可以用于汽车雷达,它的发射功率限值是:20mW (e.i.r.p),近似为13dBm。除了…

【Open CASCADE -生成MFC和QT事例方式】

源代码目录 adm目录:包含编译OCCT的相关工程; adm/cmake目录:包含使用CMake构建OCCT的相关处理脚本; adm/msvc目录:包含window平台 Visual C 2010, 2012, 2013, 2015, 2017 and 2019等版本的32/64平台solutinon文件; data目录: 包…

ESP32驱动1.28寸GC9A01播放视频(二、程序说明和效果展示)

ESP32驱动1.28寸GC9A01播放视频(二、程序下载和效果展示)1.28寸GC9A01屏幕屏幕引脚定义程序说明程序更改1、Arduino_DataBus *bus和Arduino_GC9A01 *gfx要改成ESP32匹配的2、SPI库的SPI.cpp文件中的“SPIClass::begin”函数中,引脚定义需要跟…

分布式跟踪系统

分布式跟踪系统 背景 当代的互联网的服务,通常都是用复杂的、大规模分布式集群来实现的。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器&#xff0…

护眼灯真的可以保护眼睛吗?推荐五款达到护眼级别的灯

护眼灯是可以起到一定的保护视力的作用。 普通的台灯的出现是为了照明,它的功能只要照明。像眩光、频闪、蓝光等是普通台灯所存在的问题,而这些问题会造成我们的眼睛近视,所以在我国近年来青少年近视率越来越高的重要原因之一。 护眼灯就优化…

对比斐波那契和快排时间复杂度

斐波那契数列时间复杂度 ​ // 计算斐波那契递归Fib的时间复杂度&#xff1f; long long Fib(size_t N) {if(N < 3)return 1;return Fib(N-1) Fib(N-2); }Fib()递归高度是N&#xff0c;那它最后一层就是2^(N-1) 如果N50&#xff0c;最后一层是2^(49)一个恐怖的值 更恐怖…

手撕Udp套接字|实现群聊通信|实现Windows Linux通信交互

​ 专栏和Git地址 操作系统https://blog.csdn.net/yu_cblog/category_12165502.html?spm1001.2014.3001.5482UdpSockethttps://github.com/Yufccode/BitCode/tree/main/Linux/%E4%BB%A3%E7%A0%81/0215Udp%E5%A5%97%E6%8E%A5%E5%AD%97 README 本项目通过Linux套接字编程&…

AiDD AI+软件研发数字峰会开启编程新纪元

随着OpenAI 推出全新的对话式通用人工智能工具——ChatGPT火爆出圈后&#xff0c;人工智能再次受到了工业界、学术界的广泛关注&#xff0c;并被认为向通用人工智能迈出了坚实的一步&#xff0c;在众多行业、领域有着广泛的应用潜力&#xff0c;甚至会颠覆很多领域和行业&#…

go+vue——基于gin框架和gorm的web开发实战

govue——基于gin框架和gorm的web开发实战gin框架视频、资料、笔记安装Go环境&#xff0c; 添加环境变量&#xff08;可能自动添加好&#xff09;下载 Go环境变量goland 报错&#xff1a; GOROOT is not defined创建项目&#xff1a;Golang中的GoPath和GoModule什么是GoPath&am…