软件测试基础篇

在这里插入图片描述

文章目录

  • 一、软件测试的生命周期
  • 二、BUG
    • BUG的描述
    • BUG的级别
    • BUG生命周期
    • 产生争执怎么办?
    • 如何开始第一次测试
    • 测试的执行和BUG的管理

一、软件测试的生命周期

软件测试的生命周期:
1.需求分析:需求是否完整,需求是否正确
2.测试计划:确定软件是由谁来测试,测试从什么时候开始测试,什么时候结束测试,测试哪些模块
3.测试设计、测试开发:写测试用例(手工测试用例,自动化测试用例),编写测试工具
4.测试执行:执行测试用例
5.测试评估:测试人员书写测试报告

在这里插入图片描述

二、BUG

BUG的描述

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

bug一般描述的越详细,开发进行改正越容易

BUG的级别

BUG每个公司的定义都略有差异,我们在这里以其中一种举例:
1.Blocker(崩溃):
阻碍开发或测试工作的问题;造成系统崩溃、死机、死循环、数据库数据丢失、主要功能丧失。如:代码错误、死循环、数据库死锁等(该问题在测试中出现次数较少,一旦出现后应立即停止当前版本测试)
2.Critical(严重):
系统主要功能丧失、数据库保存调用错误、用户数据丢失。功能设计与需求严重不符,模块无法启动或调用,程序重启、自动退出、安全问题等。如:软件中数据保存后数据库中显示错误,程序接口错误(该等级问题出现在不影响其他功能测试的情况下可以继续该版本测试)
3.Major(一般):
功能没有完全实现但不影响使用。如:操作时间长,查询时间长,格式错误,删除没有确认边框(该问题实际测试中存在最多)
4.Minor(次要):
界面、性能缺陷。如:错别字、界面格式不规范、不该显示的要隐藏、提示语丢失、用户体验感受不好(此类问题在测试初期较多,优先程度较低;在测试后期出现较少,应及时处理)

从上到下,BUG等级由高到低,危害程度由高到低,如果发现崩溃级别的BUG,就需要停止测试,测试将项目打回,开发进行修复,修复完之后自己先仔细的测试一下

BUG生命周期

每个公司、每一个工具对BUG生命周期的定义是不一致的,测试人员应该跟踪一个BUG的整个生命周期,从Open到Closed的所有状态
在这里插入图片描述
new:新发现的BUG,测试人员决定是否指派给开发进行修改
open:确认是BUG,并且认为需要进行修改,指派给相应的开发人员
Fixed:开发人员进行修改后表示成修改状态,有待测试人员回归测试验证
Rejected:认为不是BUG,拒绝修改
Delay:认为暂时不需要修改或者暂时不能修改,延后修改
Closed:如果修改状态的BUG经测试人员回归测试验证通过,关闭BUG
Reopen:如经过验证Bug仍然存在,需要重新打开BUG,开发人员重新改

大家需要注意当我们发现BUG交给开发之后,开发进行修改之后并不是就没有问题了,需要再次进行测试,开发修改了BUG,有可能会产生新的BUG

产生争执怎么办?

能让开发人员解决最多BUG的测试人员是最优秀的测试人员。
作为一名测试人员,会遇到以下几种问题:

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

如果遇到了争执不要怕,记住批判性思维:清楚–准确、切题–深刻,有意义,有逻辑性–公正、全面
1.先检查自身,bug描述的是否清楚
2.站在用户的角度考虑问题,让开发人员了解到bug对用户可能造成的困扰,这样才能促使开发人员更加积极、高质量地修改bug
3.BUG定级有有理有据
4.提高自身的技术和业务水平。不光要提出问题,最好也能提出解决方案
5.开发人员不接受时,不要争吵

如何开始第一次测试

我们在第一次做测试时需要做许多准备:
1.阅读所有项目相关文档:需求文档、设计文档、用户手册
2.尽可能的参加各种项目会议,了解项目的背景、人员组成、尽可能的去了解需求和业务
3.熟悉项目所使用的测试管理工具、配置管理工具,获取相应地址和登陆方式
4.阅读已有的测试方案和测试案例
5.阅读旧的bug库,了解系统功能。重要的是和测试团队的协作
6.了解公司规范,特别是用户编写规范、用例执行规范、bug提交规范、测试工具的使用规范等

在准备了以上工作以后,我们需要与测试组长进行确认:
1.测试的计划是什么?
2.测试的内容是什么?test case有多少?安排的时间?
3.我要测试的内容开发人员是谁?需求人员是谁?

测试的执行和BUG的管理

如何发现更多的BUG
1.软件测试存在二八原则,百分之80的故障集中于百分之20的模块,如果某部分问题较多,加强测试的宽度和深度
2.开发人员也存在二八原则,百分之80的故障集中于百分之20的开发人员,如果某些开发人员的bug较多,加强他开发模块的测试广度和宽度
3.多进行逆向思维和发散性思维(没有测试经验,只能多写测试用例,多看看别人的测试用例)
4.不要局限于用例和需求文档
5.尽早介入项目(尽早介入需求,就会尽早理解需求),千万不要等开发的差不多了再介入项目

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

串口屏-迪文10寸T5串口屏数据交互

效果演示 为了便于理解 建议先看上篇博客 点击跳转到上一篇博客 正式开始 1 打开DGUS 2 如图点击文本显示 数据变量 3 填写数据地址 按步骤操作 3-1 先点击框选1处 3-2 再点击框选2处改地址 我改的1000 3-3 设置完直接导出 插入U盘替换DWSET文件夹文件(这一步不理解去看上一…

C++ set类成员函数介绍 (set和multiset)

目录 🤔set模板介绍: 🤔特点: 🤔set的成员函数: 😊set构造函数: 🔍代码实例: 🔍运行结果: 😊 set赋值函数&#xf…

Linux——线程的同步与互斥

目录 模拟抢火车票的过程 代码示例 thread.cc Thread.hpp 运行结果 分析原因 tickets减到-2的本质 解决抢票出错的方案 临界资源的概念 原子性的概念 加锁 定义 初始化 销毁 代码形式如下 代码示例1: 代码示例2: 总结 如何看待锁 申…

【C++】STL中stack的用法及模拟实现

目录 一、stack的简介二、stack的使用三、stack的模拟实现 一、stack的简介 stack是一种容器适配器,专门用在后进先出操作的上下文中环境中,其中的元素只允许从容器固定的一端进行插入和删除操作。stack是作为容器适配器来实现的,容器适配器…

信息安全实践1.3(HTTPS)

前言 做这个实验对Tomcat的版本有要求,最好是使用Tomcat8。因为我之前使用Tomcat10,然后一直做不出来。 要求 部署Web服务器端HTTPS功能,通过网络嗅探分析HTTPS通过SSL实施安全保护的效果 关键步骤 首先要给tomcat配置https,也…

Unity3D安装:离线安装 Unity

推荐:将 NSDT场景编辑器 加入你的3D工具链 3D工具集: NSDT简石数字孪生 在没有 Hub 的情况下离线安装 Unity Unity 下载助手 (Download Assistant) 支持离线部署。在这种部署方式中,可下载用于安装 Unity 的所有文件,然后生成脚本…

采购申请审批测试

采购申请审批的配置并不难,但是总会有原因导致业务无审批策略,而且这个配置也比较脆弱,有时同步也会出现问题,小编利用这篇操作记录下测试结果。 1、项目类别的审批策略分类 下图是审批策略分类-项目类别不给值,测试…

(浙大陈越版)数据结构 第三章 树(上) 3.4 小白专场:树的同构(PTA编程题讲解)

题意理解和二叉树表示 给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换变成T2,则称两棵树是“同构”的。 eg1:现请你判断如下两棵树(左侧为T1,右侧为T2)是否为同构树? 显然T1可以通过有限次左右孩子…

如何利用IDEA将Git分支代码回退到指定历史版本

一、背景 作为一名后端开发,相信大家一定遇到过这样的情景,代码开发人员过多,并且开发分支过多,导致代码版本管理困难,这样就难免遇到一些代码合并出错,比如,当我提交了本次修改到本地和远程分…

jsp页面调试

现象: 访问jsp页面, 页面为空, 网络请求显示失败, 控制台打印错误net::ERR_INCOMPLETE_CHUNKED_ENCODING 200 分析: 错误描述:编码模块不完整,返回浏览器的流不完整 可能得原因: 1、网络是否稳定 2、服务器端是否有对响应数据做限制,比如…

photoshop矫正扫描图片的倾斜问题以及修改图片内容

由于工程原因,资料需要重新梳理 1.扫描工程表格到电脑中 2.在ps中导入表格内容(表格有时候是倾斜的) 需要修正为正常状态,即垂直状态 设置步骤: 1.调整ps的背景颜色与所在图片的背景颜色一致 用吸管工具&#xff…

【thingsboard+NodeRed+chirpstack】实现Lora节点设备的数据上下行通讯

本文主要实现基于 thingsboard+NodeRed+chirpstack 实现 lora设备的数据上下行通讯。 NodeRed作为mqtt桥接器,在开源的社区版 thingsboard上实现 这里写目录标题 LoRa 设备上下行通讯方案数据上行数据下行Device 层面创建设备时,要添加 relation规则链层面灯控模块规则链规则…

Sentinel降级规则

1.降级规则简介 官方文档 熔断降级概述 除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。一个服务常常会调用别的模块,可能是另外的一个远程服务、数据库,或者第三方 API 等。例如,支付的…

华为OD机试之处理器问题(Java源码)

处理器问题 题目描述 某公司研发了一款高性能AI处理器。每台物理设备具备8颗AI处理器,编号分别为0、1、2、3、4、5、6、7。 编号0-3的处理器处于同一个链路中,编号4-7的处理器处于另外一个链路中,不通链路中的处理器不能通信。 如下图所示。…

基于html+css的图展示97

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

安装Arch Linux后要做的十件事

Arch Linux 是一款轻量级、灵活且高度可定制的Linux发行版,被广泛用于个人电脑和服务器。一旦您成功安装了Arch Linux,接下来有一些重要的任务需要完成,以确保系统的稳定性和安全性,并为您的需求做好准备。 本文将详细介绍安装Ar…

【Android】配置不同的开发和生产环境

目录 前言 配置build.gradle(Module级别) 创建对应环境的目录 切换不同环境 ​编辑选择打包的环境 前言 在web开发中不同的环境对应的配置不一样,比如开发环境的url是这样,测试环境的url是那样的,在app中也会涉…

jdk15至17——sealed密封关键字

sealed关键字是从jdk15开始预览,直到jdk17成为正式版,可以对继承父类和实现接口进行更加细粒度的限制,之前的限制也只有final用于禁止继承,默认包权限限制在同一个包内,sealed密封类/接口可以明确指定哪些类可以进行继…

通过Python的PIL库给图片添加马赛克

文章目录 前言一、Pillow是什么?二、安装PIL库三、查看PIL库版本四、使用方法1.引入库2.定义图片路径3.打开需要打马赛克的图片4.获取图片尺寸5.创建一个新的图片对象6.定义块的宽高7.循环遍历图片中的每个块进行处理8.保存马赛克图片9.效果 总结 前言 大家好&#…

客服配置-shopro

客服配置 注意事项 shopro客服系统 采用 workerman 的 gateway-worker 作为服务基础,请先安装 gateway-worker 扩展包shopro商城 已不再支持 workerman 在线客服插件 安装部署 安装扩展包 composer require workerman/gateway-worker:~3.0 删除禁用函数(如有未列…