软件质量保证与测试

news2024/11/16 7:39:50

目录

一、测试流程

二、测试用例

2.1概念

2.2用例编写格式

三、设计测试点

3.1等价类

3.1.1概念

3.1.2案例

3.1.3适用场景

3.1.4执行用例

3.2边界值

3.2.1概念

3.2.2案例

3.2.3使用场景

3.3判定表

3.3.1判定表使用原因

3.3.2概念

3.3.3案例

3.3.4使用场景

3.4场景法

3.4.1概念

3.4.2案例

3.4.3使用场景

四、缺陷管理

4.1概念

4.2缺陷编写

4.3缺陷管理工具

五、抓包

5.1抓包目的

5.2抓包概念

5.3抓包知识

5.4抓包工具


一、测试流程

需求分析:

说明:根据产品需求文档,提取出规则要求

提取规则要求的目的:

  • 明确软件有哪些功能和要求
  • 为设计测试点做准备

设计测试点:

测试点:要进行验证的点,根据需求规则设计测试点。

设计测试点的目的:

  • 防止测试时有遗漏
  • 为编写测试用例做准备

测试用例:

说明:将测试点转化为测试执行的文档。

编写用例的目的:

  • 指导测试点正确测试实施
  • 为执行测试做准备

用例执行:

说明:执行用例就是执行测试。

缺陷管理:

说明:当执行用例结果和预期结果不符时为缺陷,就需要对缺陷进行管理。

缺陷管理目的:

  • 测试的目的就是减少软件缺陷(提交缺陷——>等待修复——>验证缺陷)
  • 为测试报告做准备

测试报告:

说明:对于本次执行测试缺陷进行分析统计,对于本次测试实施进行总结。

主要内容:

  1. 缺陷统计
  2. 缺陷分析
  3. 遗留缺陷
  4. 测试总结

二、测试用例

2.1概念

用例:用户使用的案例

测试用例:执行测试时用户案例

英文:Test Case

目的:保证测试点的正确执行

2.2用例编写格式

说明:用例编写格式一般由八大要素组成。

编写示例

微信登录测试点:

  1. 登录成功
  2. 密码错误,登录失败

三、设计测试点

3.1等价类

3.1.1概念

3.1.2案例

(验证QQ账号的合法性)

要求:6~10位自然数

步骤:

1.明确需求

  • 内容:自然数(0、1、2······)
  • 长度:6-10位

2.确定有效和无效等价类

  • 有效等价:6-10位
  • 无效等价:①小于6位 ②大于10位 ③非自然数

3.提取数据编写测试用例

  • 有效等价:8位(12345678)
  • 无效等价:①小于6位——5位(12345) ②大于10位——11位(12345678901) ③非自然数

3.1.3适用场景

针对:需要有大量数据测试输入,但是没法穷举测试的地方。

  • 输入框
  • 下拉列表
  • 单选复选框

典型代表:页面输入框类测试

3.1.4执行用例
  • 当执行结果和预期结果不一致,则为缺陷。
  • 发现缺陷需要进行缺陷管理(提交——>开发修复——>测试验证——>关闭缺陷)

示例:(验证某城市电话号码正确性)

要求:

  1. 区号:空或者是三位数字
  2. 前缀码:非“0”且非“1”开头的三位数字
  3. 后缀码:四位数字

步骤:

1.明确需求

2.确定有效和无效等价类

3.提取数据编写测试用例

4.执行用例

3.2边界值

3.2.1概念

说明:选取正好等于、刚好大于、刚好小于边界的值作为测试数据。

边界值法设计用例步骤:

  1. 明确需求
  2. 确定有效和无效等价类
  3. 确定边界范围值
  4. 提取数据编写测试用例
3.2.2案例

需求:通过边界值法验证标题长度的合法性

要求:标题长度大于0,小于等于30个字符(0<标题长度<=30)

步骤:

1.明确需求

  • (0,30]

2.确定有效和无效等价类

  • 有效:4
  • 无效:-1,31

3.确定边界值

  • 上点:0,30
  • 离点:-1,1,39,31
  • 内点:10

4.提取数据编写用例

优化:

  • 上点:必选
  • 内点:必选
  • 离点:开内闭外

5.执行用例

3.2.3使用场景
  • 在等价类的基础上针对有边界范围的测试数据输入的地方(重点关注边界)
  • 常见词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰语
  • 典型代表:有边界范围的输入框类测试

示例:(验证QQ号的合法性)

要求:6~10位自然数

步骤:

1.明确需求

2.确定有效和无效等价类

3.确定边界值

4.提取数据编写用例

5.用例执行

3.3判定表

3.3.1判定表使用原因

案例:验证“若用户欠费或者关机,则不允许被叫”功能测试

说明:

  • 等价类、边界值分析法主要关注单个输入条件的测试
  • 并未考虑输入条件之间的各种组合、输入条件与输出结果之间有相互制约关系的测试
3.3.2概念

1.定义:是一种以表格形式表达多条件逻辑判断的工具

2.组成:

  • 条件桩:列出问题中的所有条件,列出条件的次序无关紧要。
  • 动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束。
  • 条件项:列出条件对应的取值,所有可能情况下的真假值。
  • 动作项:列出条件项的各种取值情况下应该采取的动作结果。

3.规则

  • 判定表中贯穿条件项和动作项的一列就是一条规则
  • 假设有n个条件,每个条件的取值有两个(0,1),全组含有2的n次方种规则

4.判定表设计用例步骤

1.明确需求
2.画出判定表

列出条件桩和动作桩

填写条件项,对条件进行全组合

根据条件项的组合确定动作项

简化合并相似规则(有相同的动作)

3.根据规则编写测试用例
3.3.3案例

1.需求分析

  • 如果金额大于500元,又未过期,则发出批准单和提货单
  • 如果金额大于500元,但过期了,则不发批准单与提货单
  • 如果金额小于等于500元,则不论是否过期都发出批准单和提货单
  • 在过期的情况下不论金额大小还需要发出通知单

2.画判定表

3.设计测试用例

4.执行用例

3.3.4使用场景
  • 有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制约)关系。
  • 判定表一般适用于条件组合数量较少的情况(比如4个条件以下)

示例:(文件修改规则)

1.明确需求

  • 输入的第一列字符必须是A或B
  • 第二列字符必须是一个数字
  • 如果第一列字符不正确,则给出信息L
  • 如果第二列字符不正确,则给出信息M
  • 如果两列字符输入正确,则修改文件成功

2.画判定表

3.设计测试用例

4.用例执行

3.4场景法

3.4.1概念

说明:场景法也可以叫做流程图法,是用流程图描述用户的使用场景,然后通过覆盖流程路径来设计测试用例。

意义:

  • 用户使用角度:用户平时使用的不是单个功能,而是多个功能组合起来进行使用。
  • 测试人员角度:平时测试的都是单个功能点进行测试,容易忽略多个功能的组合测试。
3.4.2案例

ATM机取款流程

ATM机取款流程——流程图

设计测试用例

 用例执行

3.4.3使用场景

根据实际的应用场景来测试业务用例可以使用场景法。

四、缺陷管理

4.1概念

1.定义:软件在使用过程中存在的任何问题都叫软件的缺陷,简称bug。

2.缺陷评判标准

3.缺陷产生原因

需求阶段:需求描述不易理解,有歧义、错误等

设计阶段:设计文档存在错误或者缺陷

编码阶段:代码出现错误

运行系统:软硬件系统本身故障导致软件缺陷

4.软件缺陷的生命周期:

5.软件缺陷的类型:

4.2缺陷编写

1.缺陷的核心内容

2.缺陷描述

案例:

3.缺陷的跟踪流程

4.缺陷的提交流程

5.缺陷的提交要素

6.提交缺陷的注意事项

4.3缺陷管理工具

1.禅道

禅道项目管理软件 - 开源、免费的项目研发测试管理工具 (zentao.net)icon-default.png?t=N7T8https://www.zentao.net/特点:

  • 国产、免费、开源、简单、轻量级
  • 三管融合(产品管理、项目管理、质量管理)

2.禅道的使用用户

3.禅道使用流程

五、抓包

5.1抓包目的

  • 功能测试时跳过ui界面验证,验证后端程序处理能力。(如:请求支付100元,通过抓包修改请求价格0.1元,查看后端程序是否能正常处理)
  • 分析前端bug还是后端bug。(如:ui显示数据错误,提交bug时需要指定提交人,那是提交给前端开发还是后端开发?)
  • 弱网测试(如:app应用模拟4G、3G网络)
  • 接口测试时,缺乏接口描述文档,需要抓包获取。(如:查看支付宝请求信息)

5.2抓包概念

说明:通过工具抓取前端与后端的通信内容

5.3抓包知识

  • 抓包操作(http、https)
  • 断点操作-拦截修改(请求、响应)
  • 弱网测试

5.4抓包工具

  • fidder(windows)断点、弱网、录制请求和响应
  • Charles(mac、windows)断点、弱网、录制请求和响应
  • 浏览器开发者工具(查看请求和响应首选)

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

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

相关文章

宏定义__FILE__,__LINE__,__VA_ARGS__等介绍与应用

ANSIC标准定义中常见的预定义宏 __LINE__&#xff1a;在源代码中插入当前源代码行号&#xff1b; __FILE__&#xff1a;在源代码中插入当前源代码路径及文件名&#xff1b; __DATE__&#xff1a;在源代码中插入当前编译日期&#xff1b; __TIME__&#xff1a;在源代码中插入…

全域运营系统是如何做好全平台运营?

当前&#xff0c;全域运营的热度持续上涨&#xff0c;多篇分析全域运营平台优缺点的帖子也在多个创业者交流群中风靡一时。综合来看&#xff0c;在众多的全域运营平台中&#xff0c;属后面我们说的这家全域运营平台的分析最为详尽。 其中&#xff0c;对于我们的全域运营平台的优…

Diffusion Mamba:用于CT到MRI转换的Mamba扩散模型

Diffusion Mamba&#xff1a;用于CT到MRI转换的Mamba扩散模型 提出背景拆解左侧&#xff1a;整体框架中间&#xff1a;Mamba块的细节右侧&#xff1a;螺旋扫描的细节 提出背景 论文&#xff1a;https://arxiv.org/pdf/2406.15910 代码&#xff1a;https://github.com/wongzbb…

macOS Sequoia 15 beta 2 (24A5279h) Boot ISO 原版可引导镜像下载 (iPhone Mirroring 现已支持)

macOS Sequoia 15 beta 2 (24A5279h) Boot ISO 原版可引导镜像下载 (iPhone Mirroring 现已支持) iPhone 镜像、Safari 浏览器重大更新、备受瞩目的游戏和 Apple Intelligence 等众多全新功能令 Mac 使用体验再升级 请访问原文链接&#xff1a;https://sysin.org/blog/macOS-…

有没有品质高的开放式蓝牙耳机推荐,这几款开放式耳机非常值得

随着科技的发展&#xff0c;越来越多的人选择开放式蓝牙耳机&#xff0c;对比传统的耳机&#xff0c;开放式蓝牙耳机可以提供更加自然的听觉体验&#xff0c;减少外部环境隔绝感&#xff0c;增强安全性&#xff0c;透气设计舒适度更高&#xff0c;也更加的干净卫生。深受运动爱…

如何挑选护眼灯?一分钟带你了解挑选护眼灯的六大准则!

小时候&#xff0c;对正确用眼知识一无所知&#xff0c;也不明白何种光线环境对眼睛最为友善&#xff0c;结果如今的近视度数已濒临千度大关。虽然早已习惯佩戴眼镜的生活&#xff0c;但近视所带来的诸多不便仍旧在日常生活中无处不在。因此&#xff0c;对于家中孩子的视力健康…

echarts+vue2实战(二)

目录 一、WebSocket【双向通信】的使用 1.1、前端 1.2、后端 二、前端组件的合并与优化 三、全屏切换 3.1、单页面切换 3.2、同页面多端联动 四、主题切换 4.1、单页面切换 4.2、同页面多端联动 一、WebSocket【双向通信】的使用 1.1、前端 在utils文件夹里创建soc…

【漏洞复现】华测监测预警系统——SQL注入漏洞

声明&#xff1a;本文档或演示材料仅供教育和教学目的使用&#xff0c;任何个人或组织使用本文档中的信息进行非法活动&#xff0c;均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 华测监测预警系统2.2版本存在sql注入&#xff0c;UserEdit接口S…

用构造函数为对象的数据成员实现输入和输出时间

在C程序中&#xff0c;对象的初始化是一个不可缺少的重要问题。不应该让程序员在这个问题上花过多的精力&#xff0c;C在类的设计中提供了较好的处理方法。 为了解决这个问题&#xff0c;C提供了构造函数&#xff08;constructor&#xff09;来处理对象的初始化。构造函…

【前端】HTML+CSS复习记录【1】

文章目录 前言一、p、br&#xff08;段落、换行&#xff09;二、短语标签&#xff08;用来呈现为被强调的文本&#xff09;三、sub、sup&#xff08;下标、上标&#xff09;四、b&#xff08;加粗文本&#xff09;五、块级元素与行内元素六、元素嵌套七、html注释系列文章目录 …

axios全局封装AbortController取消重复请求

为什么&#xff1f; 问题&#xff1a;为什么axios要配置AbortController&#xff1f;防抖节流不行吗&#xff1f; 分析&#xff1a; 防抖节流本质上是用延时器来操作请求的。防抖是判断延时器是否存在&#xff0c;如果存在&#xff0c;清除延时器&#xff0c;重新开启一个延…

【JavaEE】浅谈线程(二)

线程 线程的常见属性 线程属性可以通过下面的表格查看。 •ID 是线程的唯⼀标识&#xff0c;不同线程不会重复 • 名称是各种调试⼯具⽤到&#xff08;如jconsoloe&#xff09; • 状态表示线程当前所处的⼀个情况&#xff0c;下⾯我们会进⼀步说明 • 优先级高的线程理论上来…

从公共仓库拉取推送的镜像并启动_将镜像内部目录挂载到外部目录使用_从镜像中复制文件到本机目录_从本机目录复制文件到镜像中---分布式云原生部署架构搭建010

然后我们再去找一个机器 docker ps docker rm -f 0ab docker images docker rmi guignginx 把这个机器的之前的这个镜像,在运行的 和 之前的都删除掉 然后我们去仓库中,拉取我们刚刚推送的 可以看到右边是命令 docker pull leifengyang/guignginx:v1.0 然后再来看总结命…

Unity踩坑记录

1. 如果同时在父物体和子物体上挂载BoxCollider&#xff0c;那么当使用&#xff1a; private void OnTriggerEnter2D(Collider2D collision){if (collision.CompareTag("CardGroup")){_intersectCardGroups.Add(collision.GetComponent<CardGroup>());}} 来判…

基于Java微信小程序民宿短租系统设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f;感兴趣的可以先收藏起来&#xff0c;还…

精通pip:Python开发者的必备技能

目录 1. 安装 pip 2. 使用 pip 安装包 3. 卸载包 4. 更新包 5. 列出已安装的包 6. 搜索包 7. 使用 requirements.txt 文件安装多个包 8. 升级 pip 自身 9. 虚拟环境 10. 冻结依赖 11. 使用国内镜像源 12. 安装特定版本的包 13. 批量安装包 14. 显示帮助信息 15.…

常微分方程算法之编程示例三(预估-校正法)

目录 一、研究问题 二、C代码 三、计算结果 一、研究问题 本节我们采用预估校正法&#xff08;改进欧拉法&#xff09;求解算例。 预估-校正法的原理及推导请参考&#xff1a; 常微分方程算法之预估-校正法&#xff08;改进Euler法&#xff09;_、改进欧拉法-CSDN博客https…

东昂科技从创业板改道北交所:大客户依赖症明显,巨额分红又募投补流

《港湾商业观察》施子夫 黄懿 2024年6月24日&#xff0c;厦门东昂科技股份有限公司&#xff08;以下简称&#xff0c;东昂科技&#xff09;在北交所网站披露第二轮审核问询函的回复。自2024年1月IPO申请获北交所受理以来&#xff0c;东昂科技已经收到北交所下发的两轮审核问询…

探索SoMeLVLM:面向社交媒体处理的大型视觉语言模型

SoMeLVLM: A Large Vision Language Model for Social Media Processing 论文地址: https://arxiv.org/abs/2402.13022https://arxiv.org/abs/2402.13022发表在ACL 2024 1.概述 在线社交媒体平台涌现出海量的文本与视觉内容,深刻揭示了人们如何交流、互动以及自我表达。随着通…

动态规划数字三角形模型——AcWing 275. 传纸条

动态规划数字三角形模型 定义 动态规划数字三角形模型是在一个三角形的数阵中&#xff0c;通过一定规则找到从顶部到底部的最优路径或最优值。 运用情况 通常用于解决具有递推关系、需要在不同路径中做出选择以达到最优结果的问题。比如计算最短路径、最大和等。 计算其他…