软件测试—基础篇

简介: 软件测试—基础篇

🔎软件测试的生命周期

软件的生命周期

某一软件从被提出并着手实现开始直到软件停止使用为止的时间

具体可分为(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)不光要发现问题, 还要对问题提出相应的解决方案

🔎结尾

创作不易,如果对您有帮助,希望您能点个免费的赞👍

大家有什么不太理解的,可以私信或者评论区留言,一起加油

相关文章
|
数据挖掘 iOS开发 MacOS
Python数据分析:从导入数据到生成报告的全面指南
随着数据科学和人工智能的迅速发展,Python 已经成为了最受欢迎的数据分析语言之一。Python 具有简单易学、灵活性强、可扩展性高等优点,使其在数据分析领域具有广泛的应用。本文将介绍 Python 数据分析的基本步骤,帮助你了解如何使用 Python 进行数据分析。
|
XML 数据可视化 Java
文本对比工具,绕不开这个6款!
文本对比工具,绕不开这个6款!
1320 0
|
C语言 计算机视觉 Python
【Qt】Qt下配置OpenCV
【Qt】Qt下配置OpenCV
237 3
|
XML Java 关系型数据库
MyBatis Plus入门实践详解
MyBatis Plus入门实践详解
235 0
|
监控 安全 Cloud Native
云安全中心和架构
云安全中心和架构
184 0
|
Dubbo 前端开发 Java
maven多模块和依赖冲突问题汇总记录(上)
maven多模块和依赖冲突问题汇总记录(上)
667 0
|
SQL Java 数据库
【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)(下)
【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)(下)
614 0
|
Windows
win11摄像头黑了用不了的七个解决办法
使用电脑时候,电脑摄像头会遇到黑了用不了,图像无法显示的问题。是设置的问题或者驱动的问题
1301 1
win11摄像头黑了用不了的七个解决办法
瑞萨RA6M4开发板在RT-Thread中使用segger_rtt软件包
瑞萨RA6M4开发板在RT-Thread中使用segger_rtt软件包
239 0