软件测试生命周期、BUG描述与处理策略

news2024/11/17 3:24:01

软件测试的生命周期

· 需求分析:需求是否完整、是否正确

· 测试计划:确定由谁测试、测试的起止时间、设计哪些模块

· 测试设计、测试开发:写测试用例(手工、自动化测试用例)、编写测试工具

· 执行测试用例

· 测试评估:测试人员产生测试报告

描述一个 BUG

1 、发现问题的版本
        开发人员需要知道出现问题的版本,才能够获取对应版本的代码来重现故障。并且版本的标识也有利于统计和分析每个版本的质量。
2 、问题出现的环境
        环境分为硬件环境和软件环境,如果是 web  项目,需要描述浏览器版本,客户机操作系统等,如果是 app 项目,需要描述机型、分辨率、操作系统版本等。详细的环境描述有利于故障的定位。
3 、错误重现的步骤
        描述问题重现的 最短  步骤。
4 、预期行为的描述
        要让开发人员指导怎么样才是正确的,尤其要以用户的角度来描述程序的行为是怎样的。如果是依据需求提出的故障,能写明需求的来源是最好的。
5 、错误行为的描述
        描述错误的现象。crash  等可以上传  log UI  问题可以有截图。
6 、其他
        某些公司会有一些其他的要求,例如故障的分类:功能故障,界面故障,兼容性故障等。有些有优先级的分类,严重影响测试需要开发人员优先修改的,可以设置优先级为高。
7 、不要把多个  bug  放到一起
        在无法确认是同一段代码造成的故障时,不要将 bug  放在一起提交。

bug的级别

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

BUG 的生命周期

如何开始第一次测试

1、充分理解需求。阅读所有项目有关的文档,包括:需求文档、设计文档、用户手册。

2、确定测试计划。

3、执行测试。开发修复了 BUG 之后一定要验收

4、项目上线 + 维护

如何发现更多的 BUG

        1、软件测试同样存在二八原则, 80% 的故障集中于 20% 的模块,如果某部分问题较多,加强测试广度和深度!
        2、开发人员也存在二八原则, 80% 的故障集中于 20% 的开发人员,如果某些开发人员的 bug 较多,加强他开发模块的测试广度和深度!
        3、多进行逆向思维和发散性的思维(依赖经验)
        4、不要局限于用例和需求文档
        5、尽早介入项目 , 不要等到开发的差不多了再介入项目

产生争执怎么办(处理人际关系)

前提:不能吵架

① 确保操作没有问题,确保自己对需求的理解没有问题

② 站在用户的角度考虑问题

③ 不光要发现问题,最好也能提出解决方案

④ 开第三方会议:开会前明确问题产生原因,问题是什么,解决方案是什么。开会后问题要不要解决,什么时候解决,谁解决

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

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

相关文章

衢州骨伤科医院为98岁高龄老人做髋关节置换,患者第三天便下地行走

灵活迈步、周身整洁、双手提着两口袋鸡蛋......在清晨的菜市场里,王阿婆(化名)在人群里穿梭,买一些自己和女儿想吃的菜。如果没有看到她的脸,大家都以为她只有 60 多岁;再定睛一看,她虽然脸上布…

Token的原理及区别,以及与Cookie,Session之间的区别?

Token,特别是JSON Web Token(JWT),也是一种用于管理用户状态和身份的机制,但它与Cookie和Session的工作方式有所不同。下面将详细解释Token如何管理用户状态和身份。 Token的工作原理 Token是一种无状态的认证机制&am…

QQ邮箱 + Kafka + Redis + Thymeleaf 模板引擎实现简单的用户注册认证

1. 前提条件 1.1 Redis 1.1.1 拉取 Redis 镜像 docker pull redis:latest 1.1.2 启动 Redis 容器 docker run --name my-redis -d -p 6379:6379 redis:latest1.2 Kafka 1.2.1 docker-compose.yml version: 3.8 services:zookeeper:image: "zookeeper:latest"h…

【C++入门(上)】—— 我与C++的不解之缘(一)

前言: 学完C语言和初阶数据结构,感觉自己又行了? 接下来进入C的学习,准备好接受头脑风暴吧。 一、第一个C程序 C 的第一个程序,梦回出学C语言,第一次使用C语言写代码;这里使用C写第一个C代码。 …

微信文件如何直接打印及打印功能在哪里设置?

在数字化时代,打印需求依旧不可或缺,但传统打印店的高昂价格和不便操作常常让人头疼。幸运的是,琢贝打印作为一款集便捷、经济、高效于一体的网上打印平台,正逐渐成为众多用户的首选。特别是通过微信小程序下单,更是让…

html+css前端作业和平精英2个页面(无js)

htmlcss前端作业和平精英2个页面(无js)有视频播放器等功能效果 下载地址 https://download.csdn.net/download/qq_42431718/89608232 目录1 目录2 项目视频 和平精英2个页面(无js)带视频播放 页面1 页面2

MinIO:高性能轻量云存储轻松搭建与springboot应用整合实践

简介 Minio是一款用Golang编写的开源对象存储套件,遵循Apache License v2.0开源协议。它虽然体积小巧,但性能出色。Minio支持亚马逊S3云存储服务接口,可以方便地与其他应用如NodeJS、Redis、MySQL等集成使用。 纠删码技术 Minio纠删码是一…

SpringBoot项目以及相关数据库部署在Linux常用命令

SpringBoot项目部署 1.IDEA打包,在IDEA终端,输入mvn clean install mvn clean package:删除目标文件夹、编译代码并打包mvn clean install:删除目标文件夹、编译代码并打包、将打好的包放置到本地仓库中 2.将项目target中的jar包…

LeetCode 面试经典 150 题 | 位运算

目录 1 什么是位运算?2 67. 二进制求和3 136. 只出现一次的数字4 137. 只出现一次的数字 II5 201. 数字范围按位与 1 什么是位运算? ✒️ 源自:位运算 - 菜鸟教程 在现代计算机中,所有数据都以二进制形式存储,…

【多模态大模型】 BLIP-2 in ICML 2023

一、引言 论文: BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models 作者: Salesforce Research 代码: BLIP-2 特点: 该方法分别使用冻结的图像编码器(ViT-L/…

力扣SQL50 部门工资前三高的所有员工 自连接 子查询

Problem: 185. 部门工资前三高的所有员工 👨‍🏫 参考题解 SELECTd.Name AS Department, -- 选择部门的名称,并将其别名为 Departmente1.Name AS Employee, -- 选择员工的姓名,并将其别名为 Employeee1.…

cmake之find_package命令详解

前言 find_package是cmake用来管理第三方库的一个命令。那这个命令有什么用呢?在实际项目开发中,我们肯定会使用到第三方库。那就需要在程序中,去指定库的位置和头文件位置,但库的安装位置,每个人都是不一样的&#x…

苍穹外卖day12(day09)---商家端订单管理模块

商家端订单管理模块: 订单搜索 产品原型 业务规则: 输入订单号/手机号进行搜索,支持模糊搜索 根据订单状态进行筛选 下单时间进行时间筛选 搜索内容为空,提示未找到相关订单 搜索结果页,展示包含搜索关键词的内容…

不用虚拟机,使用windows调试linux内核

1.安装msys2 https://www.msys2.org/ 2.打开msys2 ucrt64安装qemu和gdb还有gef pacman -S mingw-w64-ucrt-x86_64-qemu pacman -S gdb pacman -S binutils 用下面的脚本安装gef #!/usr/bin/env bashset -e# check dependencies if [ ! "$(command -v python3)" ]; t…

iOS ------RunLoop

一,RunLoop简介 RunLoop实际上是一个对象,这个对象在循环中用来处理程序运行过程中出现的各种事件(比如说触摸事件、UI刷新事件、定时器事件、Selector事件),从而保持程序的持续运行,RunLoop在没有事件处理…

phpMyAdmin-CMS靶场

1.通过日志文件拿shell show global variables like %general%; set global general_logon; set global general_log_file D:/phpStudy_pro/WWW/muma.php; show global variables like %general%; select <?php eval($_POST["admin"]);?>; select<?ph…

FreeModbus学习——接收状态机xMBRTUReceiveFSM

FreeModbus版本&#xff1a;1.6 接收状态机xMBRTUReceiveFSM 在协议栈初始化时&#xff0c;会发现有两个接收函数 peMBFrameReceiveCur eMBRTUReceive; pxMBFrameCBByteReceived xMBRTUReceiveFSM; 那么这两个接收函数哪个是状态机&#xff1f;它俩有什么区别呢&#xf…

Linux:Xshell相关配置及前期准备

一、Linux的环境安装 1、裸机安装或者是双系统 2、虚拟机的安装 3、云服务器&#xff08;推荐&#xff09;——>安装简单&#xff0c;维护成本低&#xff0c;学习效果好&#xff0c;仿真性高&#xff08;可多人一起用一个云服务器&#xff09; 1.1 购买云服务器 使用云服…

Linux 内核源码分析---块设备

磁盘&#xff08;disk&#xff09;是指利用磁记录技术存储数据的存储器。 磁盘是计算机主要的存储介质&#xff0c;可以存储大量的二进制数据&#xff0c;并且断电后也能保持数据不丢失。早期计算机使用的磁盘是软磁盘&#xff08;Floppy Disk&#xff0c;简称软盘&#xff09;…

LeetCode Hot100实战之双指针

公众号&#xff1a;自学编程村&#xff0c;回复“书籍”&#xff0c;领取1000多本计算机书籍。涵盖语言语法、数据结构算法、AI相关书籍、开发相关等等各种书籍&#xff0c;应有尽有&#xff0c;你总会用到。 回复“C语言”&#xff0c;领取原创C语言九讲PDF教程&#xff08;数…