从零开始的软件测试学习之旅(二)测试方法及禅道使用篇

news2024/11/24 16:16:08

测试方法bug统计以及禅道使用

    • 按是否要运行程序进行划分测试方法
    • 测试计划和测试方案
    • 测试方案包含:
    • 测试用例设计方法
      • 一.等价类划分法
      • 二.边界值法
      • 三.判定表法
      • 四.因果图: 输入条件或输入条件组合较多,组合使用判定表与因果图
      • 五.正交法:基于数学概率学,设计最经济的实验路径
      • 六.场景法:一般的功能都是由多个步骤来实现,多个操作组合 结果只有成功或失败 需要遍历所有用户场景
      • 七.流程图法
      • 八.错误判断法
    • BugList
    • 缺陷统计
    • 禅道使用
    • 测试人员使用流程

按是否要运行程序进行划分测试方法

1.静态测试:不运行测试程序,通过检查文档或源程序语法,结构,过程(测试对象:1.需求文档,各类设计文档 2.源程序)

2.动态测试:通过跑程序进行测试(测试对象1.源程序 2.软件)

是否自动化划分

1.手工测试:手动一个一个测试程序

2.自动化程序:需要工具或者写脚本测试

其他测试方法

1.冒烟测试:针对最基本的功能和流程测试(从开始一个接一个测试,想烟囱一样冒烟)

2.回归测试:前bug修改完后,进行重新测试(1.bug回归测试:测上次bug的地方 2.旧功能回归: bug改了看看之前全部旧功能受不受影响)建议使用自动化脚本

3.随机测试:需要一定工作经验(测测一些重要功能,其他人没测的功能)

4.探索性测试:测试设计时与测试执行同时执行(为了完善测试用例,进行完整系统测试)

测试计划和测试方案

测试计划:描述要进行的测试活动范围,资源和进度文档(管理型文件)

包含内容: 1.测试目标与范围 2.角色分工与职责 3.任务安排/进度与资源分配 4.风险评估与应急计划5.测试各项标准(重点在于资源分配与风险评估)

测试方案:从测试技术角度分析,重点在于测试策略与技术实现(技术型文件)

测试方案包含:

1.测试策略:

a.UI,功能,易用性(用户体验),兼容,性能

b.安全:授权/隐私/数据传输/数据存储

c.可靠性:稳定性/健壮性/可恢复性/错误处理

d.可维护性:可拓展

e.可移植性:重用

2.测试方法:1.手工/自动化 2.黑盒/白盒

测试用例:指导软件进行操作,帮助证明软件功能或发现软件缺陷的一种说明,最终形成文档

测试用例8大要素:1.编号(唯一性) 2.模块 3.用例标题(见名知意) 4.前置条件(外在环境网络,系统服务,本模块前置模块) 5.测试数据 6.测试步骤 7.预期结果 8.优先级(在资源受限时,测试用例执行的先后顺序)

在这里插入图片描述

作用:1.便于降低测试人员交接成本

2.便于评估测试工作量(量化),提前准备数据,分配任务,把控进度

3.便于回归测试

4.便于理清思路,确保测试

测试用例设计方法

1.等价类 2.边界值 3.判定表 4.场景法 5.流程图 6.错误推测法 7.因果法 8.正交法

一.等价类划分法

应用于有数据输入的地方

1.从大量数据中划分范围(等价类)然后从每个范围中挑选代表数据

2.这些代表数据要能反映这个范围数据共性的测试结果

步骤:1.需求分析 2.用例设计 划分有效等价类/无效等价类 3.编写测试用例

举例 需求:QQ账号输入,6-10位自然数

在这里插入图片描述

二.边界值法

使用场景与等价类划分法组合使用(1.对等价值法的补充 2.大量程序错误往往发生在边界上)

步骤: 1.需求分析 2.用例设计,划分等价法找出上/内/离点 3.编写测试用例

在这里插入图片描述

上点边界上的点(10-99 10和99)

内点:边界内的点(10~99)

离点:离边界最近的左右点(9和11 98和100)

举例 QQ号输入,6-10位自然数

1.需求分析 2.用例设计,等价值法,确定边界法(上:6 10 内 8 离 5 7 9 11)

3.编写测试用例

三.判定表法

用于处理较复杂业务逻辑,如:不同选择/条件,能带来不同结果,使用判定表能避免遗漏测试点

步骤:1.需求分析 2.用例设计,使用判定表法 3.编写测试用例,梅列数据对应一条结果

例: 需求:若用户欠费或关机,则不允许被呼叫

1.需求分析 分析输入/输出,查看是否符合判定表法

输入->选择/条件->条件有欠费或关机

输出->结果->结果有允许被叫和不允许主被叫

2.用例设计,通过判定表法,列表分析
在这里插入图片描述

3.编写测试用例,每列数据对应一条测试用例

四.因果图: 输入条件或输入条件组合较多,组合使用判定表与因果图

五.正交法:基于数学概率学,设计最经济的实验路径

六.场景法:一般的功能都是由多个步骤来实现,多个操作组合 结果只有成功或失败 需要遍历所有用户场景

注:判定表法遍历是所有输入可能性 场景法遍历是所有输出的可能性

在这里插入图片描述

举例:测试微信红包功能,用场景法设计测试用例

1.分析用户操作发红包遇到情况

2.分析场景情况

场景一:成功发送红包–基本流

场景二:余额不足–备选流1

场景三:被删除好友/被拉黑–备选流2

场景四:网络异常–备选流3

3.编写测试用例

学习心得总结: 1.功能->场景->步骤->条件->测试点

重点:先对场景分类,再对每个步骤/条件中使用等价类/边界值/判定表法设计方法

2.融合测试点->推导完整用例(成功场景,一条用例尽量覆盖多个测试点

失败场景,一个测试点就刷一条用例)

微信发红包设计用例

在这里插入图片描述
在这里插入图片描述

七.流程图法

当功能的业务逻辑和实现步骤较多较复杂时,可以借助画流程的方式去辅助分析用户场景

1.需求分析

2.用例设计画流程图(开始/结束:椭圆 方向/路径:箭头 处理操作:长方形 判断:菱形 输出:平行四边形)

3.编写测试用例(一条流程图就是一条用例)

在这里插入图片描述

八.错误判断法

测试人员使用经验或直觉发现错误

举例:开发人员在开发新功能时:关联业务容易出问题

异常场景考虑不全:输入项空值/空格/特殊字符处理

异常场景,如网络超时

软件缺陷与缺陷管理

软件缺陷:软件毛病,可能存在于功能/UI/兼容性/易用性/性能等方面

缺陷产生原因:1.需求文档错误/疏忽 2.编码错误:设计错误/编码错误 3.其他原因:时间紧,沟通理解错误

缺陷描述:测试人员发现bug后,应确认无误描述bug,描述应该具有规范性

要素:1.编号(唯一性) 2.模块 3.缺陷模块:见名知意/让开发人员理解/唯一性

4.严重程度(严重:主功能不可用 一般:次要功能不可用,边界/异常未进行

一般:次要功能不可用,边界/异常未进行处理

微小:UI问题,易用性问题,建议等)

5.优先级: 高:阻断性问题,影响继续测试,需要立刻修复 中:正常流程,本次迭代上线前修复即可

低:可以延期到下个版本解决

6.复现步骤

7.预计结果

8.实际结果

9.缺陷类型:代码错误/界面错误/兼容性错误/易用性问题/性能问题/安全问题

10.缺陷状态:1.新建 2.已指派 3.打开 4.修复/拒绝/延期 5.完成/再次打开

缺陷报告

一个记录缺陷文档

组成:包括缺陷描述的全部内容,附加测试日期,解决人员,解决日期,解决方案

在这里插入图片描述

注意:1.一个缺陷一个报告 2.尽量确保缺陷可以重现 3.简洁,准确,完整

BugList

在这里插入图片描述

缺陷统计

场景:1.统计数据可以整理到测试报告中,方便项目相关负责人知悉当前测试版本的整体质量

为了了解隐患和方便后续绩效考核

在这里插入图片描述

禅道使用

一种帮助测试开发人员进行bug管理的国产项目管理工具

由禅道管理并导出的bug文档

在这里插入图片描述

禅道工作流

在这里插入图片描述

测试人员使用流程

在这里插入图片描述

一.测试用例管理

1.编写测试用例 测试->用例->“+建用列”

2.用例评审(a.用例评审功能,禅道里默认关闭,可以由管理员到后台->自定义->用例->评审流程开启

b.开启后,新建用例状态(待评审)

c.用例评审线下活动,线下开会,由有权人员显示修改用例状态)

3.用例执行

二.Bug管理

1.提交bug 测试->bug->“+提bug”

2.回归性测试 回归测试通过,则关闭bug 不通过激活bug 已关闭bug再现,可重新激活

3.导出/报表 测试->bug->可以看见"+提bug"旁有导出/报表 功能

测试报告

测试活动的总结性文档,标志测试活动的结束

内容包括:1.测试工作经过的结果 2.风险评估 3.缺陷汇总和分析 4.测试工作的总结和改进

打算从事软件测试的小伙伴注意啦!!领取软件测试零基础全套入门学习资料,扫码加微领取
添加wx好友时备注: 111 !!!
在这里插入图片描述

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

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

相关文章

Vue面试经验

Vue部分 Vue编译时声明周期的执行顺序 Vue中父子组件渲染顺序(同步引入子组件:import Son from ‘/components/son’ ) 父子组件编译时的生命周期执行顺序 这里修改data数据时也修改了dom,如过知识通过按钮对数据进行操作&…

Veeam配置备份oracle实例

Veeam是一家专门提供数据管理和数据保护解决方案的软件公司。他们的产品主要包括备份、复制和虚拟化管理等功能,旨在帮助企业保护其数据、应用程序和系统;NBU,COMMVALT,Veeam 国际三大知名备份软件厂商。本文介绍使用Veaam 备份Li…

数据结构——二叉树的操作 (层序遍历)(C++实现)

数据结构——二叉树的操作(2)(C实现) 统计叶子结点个数统计结点个数层序遍历非递归方式递归方式 我们今天接着来看二叉树的操作,如果还没有看过上一篇的可以点击这里: https://blog.csdn.net/qq_67693066/a…

ezplot--Matlab学习

目录 一、代码 二、效果 ​编辑 三、ezplot讲解 四、如何自定义一个函数 一、代码 clc; clear; t0:32; x4(t) cos(2*pi*t/4).*sin(2*pi*t/4); x8(t) cos(2*pi*t/8).*sin(2*pi*t/8); x16(t) cos(2*pi*t/16).*sin(2*pi*t/16); subplot(3,1,1) ezplot(x4,[0,32]); subplot…

怎样选购内衣洗衣机?2024年5款最新推荐机型种草

随着科技的不断发展,内衣洗衣机成为了家家户户必备的小家电之一,为我们的生活带来了极大的便利。但面对市场上众多的内衣洗衣机品牌,如何选择一款质量好的内衣洗衣机呢?本文将为您推荐5款最新的内衣洗衣机品牌,从而帮助…

冯唐成事心法笔记 —— 知人

系列文章目录 冯唐成事心法笔记 —— 知己 冯唐成事心法笔记 —— 知人 冯唐成事心法笔记 —— 知世 冯唐成事心法笔记 —— 知智慧 文章目录 系列文章目录PART 2 知人 人人都该懂战略人人都该懂战略第一,什么是战略第二,为什么要做战略第三&#xff0…

【GitHub】如何在github上提交PR(Pull Request) + 多个pr同时提交、互不干扰

【GitHub】如何在github上提交PR(Pull Request 写在最前面1. 准备工作1.1 注册 GitHub 账号1.2 了解 Git 基础1.3 找到一个项目 2. 创建你的 PR2.1 Fork 和克隆仓库2.2 创建一个新的分支2.3 进行更改2.4 推送更改到 GitHub2.5 创建 Pull Request 3. 优化你的 PR3.1 保持提交清晰…

投资标的参考

1、中央汇金投资有限责任公司 1.1、香港中央结算有限公司 2、中央汇金投资有限责任公司持股列表 _ 东方财富网_ 数据频道东方财富网提供十大流通股东数据、十大股东数据、股东持股明细、股东持股变动统计、股东持股分析、股东持股统计、股东协同等数据,充分展示股东…

Java中的ArrayList

ArrayList<E>的特点 可调整大小的数组实现 <E>:是一种数据类型 ArrayList的构造方法 ArrayList list new ArrayList();创建一个空的集合对象 package dayhou40.day45; ​ import java.util.ArrayList; ​ public class Arraylisttest {public static void ma…

大数据第五天(操作hive的方式)

文章目录 操作hive的方式hive 存储位置hive 操作语法创建数据表的方式 操作hive的方式 hive 存储位置 hive 操作语法 创建数据表的方式 – 创建数据库 create database if not exists test我们创建数据库表的时候&#xff0c;hive是将我们的数据自动添加到数据表中&#xf…

uniapp——授权报错,选择合适的基础库

说明 我的小程序开发版本点击选择头像报错 更换基础库就好了

[华为OD] 给航天器一侧加装长方形或正方形的太阳能板 100

给航天器一侧加装长方形或正方形的太阳能板&#xff08;图中的红色斜线区域&#xff09;&#xff0c;需要先安装两个支 柱&#xff08;图中的黑色竖条&#xff09;&#xff0c;再在支柱的中间部分固定太阳能板。但航天器不同位置的支柱长度 不同&#xff0c;太阳能板的安装面…

JavaScript-3(内置对象+数组对象+字符串对象)

目录 1.预解析 2.对象 什么是对象 创建对象的三种方法 利用字面量创建方法 利用new Object创建对象 构造函数创建对象 new关键字 遍历对象 3.内置对象 Math对象 Math概述 Math随机数 Date日期对象 格式化日期 Date总的时间毫秒 4.数组对象 创建数组的两种方式…

tcp inflight 守恒算法背后的哲学

tcp inflight 守恒拥塞控制的正确性 很久以前我开始纠结 tcp 锯齿&#xff0c;很多年后我知道这叫 capacity-seeking&#xff0c;甚至说 tcp 属于 capacity-seeking protocol 的原因就是它早已深入人心的 aimd 行为&#xff0c;而该行为生成了 tcp 锯齿。 在消除锯齿&#xf…

01.Scala概述及环境配置

文章目录 [toc] 1.**Scala概述**2.**Scala环境搭建**2.1下载2.2环境变量配置 1.Scala概述 特点&#xff1a; 同样运行在JVM上&#xff0c;可以与现存程序同时运行。可直接使用Java类库。同Java一样静态类型。语法和Java类似&#xff0c;比Java更加简洁&#xff08;简洁而并不…

深度学习的瓶颈是什么!

深度学习主要的瓶颈&#xff1a; 数据依赖与标注问题&#xff1a;深度学习模型通常需要大量的标注数据来进行训练。然而&#xff0c;获取大量的标注数据不仅成本高昂&#xff0c;而且在某些领域&#xff08;如医疗、金融等&#xff09;中可能难以获取足够的标注数据。此外&…

换脸插件升级导致SDWebUI无法启动cannot import name ‘Undefined‘ from ‘pydantic.fields‘

今天在一台新的机器环境装了SDWEBUI&#xff0c;都使用最新的版本&#xff0c;升级了下换脸的插件&#xff0c;于是乎启动崩溃了。错误如下 Launching Web UI with arguments: --listen --skip-torch-cuda-test --disable-nan-check --skip-version-check --skip-python-versi…

简记在arduino安装esp32开发板包

主要参考来源&#xff1a;http://t.csdnimg.cn/Fuqg9&#xff0c;感谢原博主的文章&#xff0c;原文我有不够详细的地方本文会给出说明。 废话&#xff0c;不用看&#x1f447; 本人安装时常大概2小时&#xff0c;按理说有离线文件了应该很快&#xff0c;我这2小时属实有点慢了…

Docker-概念及配置(超详细)

docker 第一章 1、什么是docker 答&#xff1a;docker是一种容器引擎&#xff0c;通过docker可以将软件安装并且配置好以后&#xff0c;做成一个镜像文件。通过这个镜像文件可以快速的安装、配置软件环境 2、3个概念 【docker镜像】&#xff1a;将软件环境安装配置好以后产生…

wstunnel (websocket模式ssh)

接上一篇 修改客户端运行参数 ssh -o ProxyCommand"./wstunnel client -L stdio://%h:%p ws://192.168.254.131:8080" 127.0.0.1 其中127.0.0.1为服务端的本地ssh访问&#xff0c;可以修改为通过服务端访问其他设备的ssh服务。例如&#xff1a; ssh -o ProxyComma…