【软件测试】软件测试基础2

news2025/1/13 15:58:58

1. 软件测试的生命周期

软件测试的生命周期: 需求分析→测试计划→ 测试设计、测试开发→ 测试执行→ 测试评估
● 需求分析:站在用户的角度:查看需求逻辑是否正确,是否符合用户的需求和行为习惯;站在开发人员的角度:思考需求是否可以实现,或者实现起来难度大小
● 测试计划:指定测试计划(包括但不限于测试的工时,人力的安排…)
● 测试设计:设计测试用例;测试开发:经验丰富的白盒测试人员可以开始单元测试
● 测试执行:参考测试用例来执行测试
● 测试评估:回顾项目,再次确定软件中可能存在的缺陷…

软件测试贯穿于软件的整个生命周期
软件的生命周期(软件测试怎么贯穿):
● 需求分析:测试也要对需求进行分析,分析需求逻辑是否合理,是否符合用户的行为习惯,站在开发人员的角度思考技术实现的难度,针对技术难度来合理调整需求
● 计划:根据需求编写测试计划/测试方案
● 设计:测试人员适当的了解设计,对于设计测试用例是很有帮助的,测试人员搭建测试用例框架,根据需求和设计;编写一部分测试用例
● 编码:测试人员一般是不需要编码的,但已经编码的模块,专业的白盒测试人员可以计划执行单元测试,完善、细化测试用例以及调整测试计划和方案
● 测试:测试阶段是软件测试人员最为重要的工作阶段,根据测试用例和计划执行测试,在执行的过程中记录、管理缺陷,测试完成后编写测试报告。
● 运行维护:测试人员需要参与项目的实施工作。测试人员对项目产品的业务和操作非常了解,加上测试人员的沟通表达能力一般都比较强,所以测试人员可以参与用户使用软件的培训,在试运行项目时收集问题并及时反馈给相关负责人 (测试往往是最了解需求的人,测试人员通常来进行产品的演示和功能的介绍,期间记录下来大家的反馈记录,反馈给产品经理,成为一个新的用户需求)

2. 如何描述一个bug

提bug方法:
标题:(谷歌浏览器打开首页之后,第一个banner页上面的二维码被登录注册控件遮蔽住,导致无法扫描)

  1. 发现bug的版本,环境(Chrome版本+win10)
  2. 发现bug的步骤(让开发人员能够复现bug):
    ● 打开Chrome浏览器,访问XX链接:http://…
    ● 期望的结果:XXXXX
    ● 实际的结果:XXXXX
    其他:(bug类型:前端问题,bug等级:次要…)

bug描述应当具备的内容:标题,版本,环境,步骤,期望的结果,实际的结果,其他…

不要把多个bug放到一起
在无法确认是同一段代码造成的故障时,不要将bug放在一起提交。

案例:
在这里插入图片描述

3. 定义bug的级别

实际工作中需要提前看一下企业对应的bug定级标准文档,这里学习仅供参考,是一种基本模板
● 崩溃:基本见不到
● 严重:也比较少
● 一般:居多
● 次要:居多

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

4. bug的生命周期

测试人员创建完bug之后,开发人员要修复bug,测试人员还需要进行bug回归验证!!!

每个公司、每一个工具对bug生命周期的定义都是不一致的,下面仅是一个常见的例子
测试人员应该跟踪一个Bug的整个生命周期,从Open到Closed的所有状态

BUG状态转换图 :
在这里插入图片描述
New:新发现的Bug,未经评审决定是否指派给开发人员进行修改。
● Open:确认是Bug,并且认为需要进行修改,指派给相应的开发人员。
● Fixed:开发人员进行修改后标识成修改状态,有待测试人员的回归测试验证。
● Rejected:如果认为不是Bug,则拒绝修改。
● Delay:如果认为暂时不需要修改或暂时不能修改,则延后修改。
● Closed:修改状态的Bug经测试人员的回归测斌验证通过,则关闭Bug。(bug终态)
● Reopen:如果经验证Bug仍然存在,则需要重新打开Bug,开发人员重新修改。
无效的bug:open->closed open-rejected-closed

bug的生命周期流程图如下:
在这里插入图片描述

5. 和开发产生争执怎么办

提bug时候,开发不认可我们提的bug(一般为让开发人员进行bug反思(bug排行榜),所以会不喜欢测试提bug)
所以就需要测试人员具备良好的软性素质,工作能力,协作沟通能力等等,情商非常重要
这时就需要:

  1. 具备批判性思维,多反思自己是不是bug描述的不清楚。避免提无效的bug
  2. 提了一个严重级别的bug,开发不认可;这时就需要测试有理有据的进行提bug
  3. 要是开发认为bug可以忽略不记,是小问题;这时就需要测试人员合理友好的进行沟通,站在用户的角度反问:如果你是用户你能接受吗?
  4. 不仅能够提出问题,最好能够给出解决方案
  5. 组织代表参加bug评审:产品代表,开发代表,测试代表
    ● 如何解决bug
    ● 如何预防类似的bug

黑盒测试与白盒测试初见

黑盒测试:把代码看成是一个黑匣子,只关注输入和输出结果之间的关系
白盒测试:能够看到代码本身,针对代码来进行测试

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

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

相关文章

Nexus使用

环境 apache-maven-3.5.4nexus-3.38.1-01 Android开发中常用的maven代理地址 阿里云:http://maven.aliyun.com/nexus/content/groups/public/google:https://dl.google.com/dl/android/maven2/jcenter:https://jcenter.bintray.com/mavenC…

Leetcode:236. 二叉树的最近公共祖先(C++)

目录 问题描述: 实现代码与解析: 原理思路: 问题描述: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x&…

Xmanager7远程登录ubuntu20.04

Xmanager7远程登录ubuntu20.04 本文不介绍Xmanager7的下载和安装方法,详细内容可以参考【实用软件】Xmanager 7.0安装教程 - 哔哩哔哩 (bilibili.com)。关于Xmanager7远程登录的教材参考于 (149条消息) Xmanager远程桌面教程_周先森爱吃素的博客-CSDN博客_xmanage…

代码随想录第60天|84.柱状图中最大的矩形

84.柱状图中的最大的图形 总体思路:找到左右两个方向第一个小于该柱子高度的下标,用右下标-左下标-1得到该柱子高度对应的宽度w,再用宽度w*高度h得到面积,返回面积最大值 双指针法(超时) for循环判断左右第一个小于…

【NI Multisim 14.0虚拟仪器设计——虚拟仪器的引入】

目录 序言 前言 🍉知识点 一、虚拟仪器的引入 🍊1.工具栏 🍊 2.基本操作 ①仪器的选用与连接 ②仪器参数的设置 序言 NI Multisim最突出的特点之一就是用户界面友好。它可以使电路设计者方便、快捷地使用虚拟元器件和仪器、仪表进行电…

Linux云服务器下的gitee提交代码方法

目录 创建一个gitee仓库 gitee提交代码三板斧 1. git add 提交的文件 2. git commit -m "提交日志" 3. git push 可能存在的问题 .gitignore介绍 如何删除文件 创建一个gitee仓库 gitee提交代码三板斧 1. git add 提交的文件 作用:添加我…

Electron + React 应用打包全流程

(第一次用 Typora 写博,希望效果不错~) 这几天有个创意编程比赛,要写一个电脑端应用。我准备用 React.js Electron 做(因为熟悉~),编程部分一路风雨无阻,到了打包却出现了问题。El…

多轮对话(一):概述(意图识别+槽填充)

一、对话系统 基于流水线的面向任务的对话系统包含了四个关键部分: 语言理解。它被称为自然语言理解(NLU),它把用户话语解析为预定义的语义槽。对话状态跟踪器。它管理每一轮的输入与对话历史,输出当前对话状态。对话…

Sechunter移动应用隐私合规检测详解

概述: 受益于移动设备的广泛普及,移动应用近年来得到了蓬勃发展。基于移动设备集成的各类传感器,众多功能丰富的移动应用被开发出来,聚集了大量高价值用户隐私数据,包括用户身份信息、地理位置信息、账户资料信息等。…

玩转机密计算从 secGear 开始

随着网络与计算业务的快速发展,数据成为数字经济的关键生产要素,如何高质量挖掘数据价值,构建安全、合规、可信的数据流通,成为推动数字经济健康发展的关键。此外,根据我国个人信息保护法、欧盟通用数据保护条例 GDPR …

IDEA安装使用代码提交模板

IDEA安装使用代码提交模板 1. idea安装git commit template插件 2、重启idea 3、选择要提交的文件右击(或CtrlShiftK),如下图: 3.1 Type of change用于说明commit的类别,常用的标识如下: feat: 新功能(f…

501. 二叉搜索树中的众数

501. 二叉搜索树中的众数 难度简单 给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。 如果树中有不止一个众数,可以按 任意顺序 返…

Effective C++条款38:通过复合塑模出 has-a 或“根据某物实现出“

Effective C条款38:通过复合塑模出 has-a 或"根据某物实现出"(Model "has-a" or "is-implemented-in-terms-of" through composition)条款38:通过复合塑模出 has-a 或"根据某物实现出"1、…

Batch Normalization

1、原理 在图像预处理过程中会对图像进行标准化处理,这样能够加速网络的收敛速度。 如下图所示,对于Conv1来说输入的是满足某一分布的特征矩阵,但对于Conv2来说输入的feature map就不一定满足某一分布规律。 Batch Normalization的目的就是使…

大坝安全在线监控系统包含哪些内容?怎样提升水库大坝信息化管理水平?

平升电子大坝安全在线监控系统根据SL551-2012《土石坝安全监测技术规范》的整编要求,设置了变形监测、渗流监测、环境量监测。大坝安全在线监控系统可及时了解大坝的工作性态和水库可能存在的事故隐患,为大坝安全管理与水库运行调度提供了准确、及时的现…

Elasticsearch集群搭建

前言在如今的开发过程中,单节点的Elasticsearch肯定是支撑不了大数据量的,而且还存在单节点故障的问题,所以Elasticsearch也提供了集群功能,像其他中间件也基本都会考虑到这个问题准备信息首先, 由于我机器有限&#x…

如何在虚拟机上安装Linx系统

前言作为Java开发的我们,可能有时候想自己玩玩linux服务器,但是如果买阿里云或者腾讯云的服务器又很贵,这时候我们就可以在自己电脑上安装虚拟机了,这也是本篇文章出现的原因,下面我就安装centOS7为例子来进行介绍首先…

openEuler资源利用率提升之道 05:虚机混部介绍与功耗管理技术

随着云计算市场规模的快速增长,各云厂商基础设施投入也不断增加,但行业普遍存在资源利用率低的问题,在上述背景下,提升资源利用率已经成为了一个重要的技术课题。将业务区分优先级混合部署(下文简称混部)是典型有效的资源利用率提…

【C语言】使用C语言实现静态、动态的通讯录(简单易懂)

我们在学习结构体之后,就可以尝试去实现通讯录的制作,如果您这边对于结构体还没有太多的认识的话,请先访问这一篇文章,会有利于接下来的学习。【自定义类型】带你走进结构体、枚举、联合_小王学代码的博客-CSDN博客 目录 一、通讯录 二、静…

JVM-【面试题】-对象内存分配

一、对象内存分配流程图如果能在栈分布就直接在栈创建如果是大对象就直接在old区创建如果不大于TLAB则在TLAB创建,否则在Eden区创建如果Eden区空间不足就会发生Minor GC进行回收,回收的空间放不下或年龄达到上限就直接放到Old区,之后S0区的存…