黑马 软件测试从0到1 常用分类 模型 流程 用例

news2025/2/27 17:26:05

课程内容:

1、软件测试基础

2、测试设计

3、缺陷管理

4、Web常用标签

5、项目实战

以终为始,由交付实战目标为终,推出所学知识;从认识软件及软件测试,到如何设计测试、缺陷标准及缺陷管理,最终以项目实战贯穿所学知识,让知识与应用相结合。

Day1阶段目标

  • 能独立针对web项目实施功能测试

一、测试介绍

  • 什么是软件测试?
使用技术手段验证软件是否满足需求
  • 测试主流技能
1、功能测试
2、自动化测试
3、接口测试
4、性能测试

主流方向建议:
	1、功能测试+接口测试 
	2、自动化测试+接口
	3、功能+性能

二、测试常用分类

  • 分类
    • 阶段划分(阶段:软件产出过程顺序)
    • 代码可见度

2.1 阶段划分

  • 单元测试
    • 说明:针对程序源代码进行测试(单元:最小独立功能代码段)
    • 提示:
      • 1、国内单元测试一般开发自测
      • 2、单元测试可以解决-快速定位缺陷
      • 3、提高测试执行效率
  • 集成测试
    • 说明:针对单元与单元之间的接口进行测试
    • 提示:又称接口测试。
  • 系统测试
    • 说明:针对系统整体功能+兼容+文档(说明、安装文档)
  • 验收测试
    • 内测:公司内部人员使用,发觉缺陷并修复。
    • 公测:让用户帮忙测试
    • 提示:验收测试,一般要根据项目类型决定是否使用。

2.2 代码可见度划分

代码可见度:代码可见的程度上划分

黑盒测试:主要针对功能(阶段划分->系统测试)
灰盒测试:针对接口测试(阶段划分->集成测试)
白盒测试:针对程序源代码进行测试(阶段划分->单元测试)

2.3 总结

系统测试和黑盒测试重点核心是功能测试
集成测试和灰盒测试又称接口测试 
单元测试和白盒测试是对代码进行测试
自动化测试归属功能测试
性能测试、安全测试归属专项测试s

三、模型

  • 角度
1、质量模型
2、测试模型

3.1 质量模型

说明:质量模型能告诉我们,测试时应该考虑的方面

重点:功能、性能、兼容、易用性、安全
结论:无论测试硬件或软件,都应该从以上几点来进行分类验证

四、测试流程

  • 需求分析(评审)
前提:阅读1遍需求文档,记录不明确之处。
参与人员:前端、后端、测试、产品
目的:
	1、确保各部门需求理解一致
	2、各角色对需求进行查漏补缺
	3、了解软件有些功能
提示:需求分析阶段->软件还未实现(刚立项)
  • 测试计划
说明:指导测试执行的文档(重要)
测什么(目标、范围)
谁来测(人员进度及安排)
怎么测(测试工具、测试策略)
  • 用例设计
说明:保证能准确验证软件测试点执行的文档。
1、分析需求
2、提取测试点
3、设计用例覆盖测试点
  • 用例执行
说明:实施测试
  • 缺陷管理
提交->验证->关闭
  • 测试报告
1、bug分析及统计
2、测试中遇到的问题
3、测试总结(本次测试中的优点和不足)

五、测试用例

  • 用例:户使用的案
  • 生活中的用例:

  • 用例的作用
1、防止漏测
2、衡量软件是否通过的标准
  • 用例模板

  • 八大要素编写规范

  • 练习案例
微信发朋友圈
	1、成功(1张图片) 
	2、成功(1段文字) 
	3、失败(内容为空)

  • 练习评审

黄鑫

秀!🌹

六、用例设计方法

  • 目标
1、能对穷举场景设计测试点
2、能对限定边界规则设计测试点
3、能对多条件依赖关系进行设计测试点
4、能对于项目业务进行设计测试点

6.1 能对穷举场景设计测试点

穷举:无穷无尽
  • 方法:等价类划分法
  • 介绍:

  • 案例1(qq程序)
要求:6~10位自然数

  • 案例2(电话)
要求:
1. 区号:空或者是三位数字
2. 前缀码:非“0”且非“1”开头的三位数字
3. 后缀码:四位数字

七、作业


Day2:

Day2今天目标

能对穷举场景设计测试点
能对限定边界规则设计测试点
能对多条件依赖关系进行设计测试点
能对于项目业务进行设计测试点

一、解决穷举场景

重点:使用等价类划分法

1.1 等价类划分法

重点:有效等价和单个无效等价各取1个即可。
步骤:
	1、明确需求
	2、确定有效和无效等价
	3、根据有效和无效造数据编写用例

1.2 案例(qq合法验证)

需求:验证6~10自然数的qq合法
自然数: 自然数由0开始,一个接一个,组成一个无穷的集体

1.3 案例(城市电话验证)

重点:
	1、正向用例:一条尽可能覆盖多条
	2、逆向用例:每一条数据,都是一条单独用例。

1.4 总结(应用场景)

针对:需要有大量数据测试输入,但是没法穷举测试的地方。 
 输入框
 下拉列表
 单选复选框
典型代表:页面的输入框类测试。

**友情提示:**完整的用例应该是等价类和边界值一块写。

二、解决边界限制问题

说明:使用边界值解决边界位数限制问题。2.1 边界值说明

提示:
	1、有关范围限制,最多7条用例(暂时未优化)
	2、边界值能解决位数限制问题,但是不能解决类型问题(要结合等价类)

2.2 步骤

1、明确需求
2、确定有效和无效等价
3、确定边界范围
4、提取数据编写用例

2.3 案例1

2.4 案例2

2.5 优化(7点优化5点)

重点:开内闭外(开区间选包含的点,闭区选不包含的点)
开区间:不包含边界上的点(没有等号)。如:a<10
闭区间:包含边界上的点(有等号)。 如:a<=10

优化策略:

2.6 总结

强调:单个输入框,常用的方式 边界+等价类
面试题:最常用的用例设计方法有哪些?--等价类、边界值
在等价类的基础上针对有边界范围的测试数据输入的地方(重点关注边界) 
常见词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语 
典型代表:有边界范围的输入框类测试

三、解决多条件有依赖关系测试

重点:使用判定表

3.1 介绍

3.2 步骤

1、明确需求
2、画出判定表
 	1)、列出条件桩和动作桩 
 	2)、填写条件项,对条件进行全组合 
 	3)、根据条件项的组合确定动作项 
 	4)、简化、合并相似规则(有相同的动作)
3、根据规则编写测试用例

3.3 案例(订单)

  • 需求

  • 判定表

  • 用例

3.4 练习(文件修改)

  • 需求

  • 判定表

  • 用例

3.5 判定表总结

提示:
	1、多条件之间有依赖关系,使用判定表来进行测试覆盖。
	2、判定表一般适合4个以内条件依赖关系
	3、如果条件超过4个,就不适合覆盖所有条件,应采用(正交法)来解决。

四、业务测试覆盖

重点:
1、覆盖业务测试,需要使用流程图法
2、先测试业务,在测试单功能、单模块、单页面

4.1 流程图

提示:业务用例是根据流程图来梳理的,需要先了解流程图

作用:梳理业务用例

练习流程图工具:

1、线上工具:https://processon.com/diagraming/605880af07912927bd71c388
2、离线工具:visio
3、其他工具:Excel

4.2 案例(ATM)

  • 流程图

  • 用例

五、错误推荐法

应用场景:当项目用例都执行完毕,且BUG修复完成,离上线还有一段时间,在这段时间中可是使用错误推荐法复测主要业务或测试未覆盖的功能。

六、作业

非常感谢您阅读到这里,创作不易!如果这篇文章对您有帮助,希望能留下您的点赞👍 关注💖 收藏 💕评论💬感谢支持!!!

听说 三连能够给人 带来好运!更有可能年入百w,进入大厂,上岸

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

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

相关文章

pytorch异常——loss异常,不断增大,并且loss出现inf

文章目录 异常报错异常截图异常代码原因解释修正代码执行结果 异常报错 epoch1:loss3667.782471 epoch2:loss65358620.000000 epoch3:loss14979486720.000000 epoch4:loss1739650891776.000000 epoch5:loss12361745880317952.000000 epoch6:loss2740315398365287284736.000000…

PMD代码检查:为了提升性能,正确使用记录日志的语句(GuardLogStatement)

https://docs.pmd-code.org/pmd-doc-6.55.0/pmd_rules_java_bestpractices.html#guardlogstatement 对应记录日志的语句&#xff0c;要首先检查对应的日志级别有没有实际打开&#xff1b;如果没有实际打开&#xff0c;那么就要跳过字符串的生成环节&#xff0c;以提升性能。 另…

C#,数值计算——Midsql的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { public class Midsql : Midpnt { private double aorig { get; set; } 0.0; public new double func(double x) { return 2.0 * x * funk.funk(aorig x * x); } p…

MySQL中表的设计

在MySQL中表的设计&#xff0c;需要一定的经验才能理解&#xff0c;由于笔者目前在读中&#xff0c;理解不是很深刻&#xff0c;仅根据自己的想法外界的一些参考资料做出下述文字描述&#xff0c;一些错误&#xff0c;请大佬及时指正~~ 在本篇文章中&#xff0c;介绍一点简单粗…

Windows7安装SSH客户端的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

归并排序的详解!

本文旨在讲解归并排序的实现&#xff08;递归及非递归&#xff09;搬好小板凳&#xff0c;干货来了&#xff01; 前序&#xff1a; 在介绍归并排序之前&#xff0c;需要给大家介绍的是什么是归并&#xff0c;归并操作&#xff0c;也叫归并算法&#xff0c;指的是将两个顺序序列…

11 - 深入了解NIO的优化实现原理

Tomcat 中经常被提到的一个调优就是修改线程的 I/O 模型。Tomcat 8.5 版本之前&#xff0c;默认情况下使用的是 BIO 线程模型&#xff0c;如果在高负载、高并发的场景下&#xff0c;可以通过设置 NIO 线程模型&#xff0c;来提高系统的网络通信性能。 我们可以通过一个性能对比…

机器学习——决策树与随机森林

机器学习——决策树与随机森林 文章目录 前言一、决策树1.1. 原理1.2. 代码实现1.3. 网格搜索1.4. 可视化决策树 二、随机森林算法2.1. 原理2.2. 代码实现 三、补充&#xff08;过拟合与欠拟合&#xff09;总结 前言 决策树和随机森林都是常见的机器学习算法&#xff0c;用于分…

OS 内存分区和分页 多级页表与快表

每个进程的PCB都有一个LDT 内存紧缩不实用&#xff0c;所需时间太长 类似于段表&#xff0c;存在页表 但是不连续需要的空间太多了&#xff0c;太麻烦了 多级页表&#xff1a;类比于书的章目录和节目录 构建页目录 每个页目录号指向4M的地址 快表是寄存器&#xff0c;很昂…

Kotlin管道Channel在receiveAsFlow时debounce与flow差异

Kotlin管道Channel在receiveAsFlow时debounce与flow差异 import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.delay import kotlinx.coroutines.flow.* import kotlinx.coroutines.launch import kotlinx.coroutine…

Nginx高级配置

目录 一、Nginx 第三方模块 1.1ehco 模块 二、变量 2.1 内置 2.2 自定义变量 三、nginx压缩功能 ​编辑四、https功能 一、Nginx 第三方模块 1.1ehco 模块 基于nginx 模块 ngx_http_stub_status_module 实现&#xff0c;在编译安装nginx的时候需要添加编译参数 --with-…

第7篇:ESP32连接按钮点亮LED无源喇叭播放声音

第1篇:Arduino与ESP32开发板的安装方法 第2篇:ESP32 helloword第一个程序示范点亮板载LED 第3篇:vscode搭建esp32 arduino开发环境 第4篇:vscodeplatformio搭建esp32 arduino开发环境 第5篇:doit_esp32_devkit_v1使用pmw呼吸灯实验 第6篇:ESP32连接无源喇叭播放音乐《涛声…

程序员自由创业周记#3:No1.作品

作息 如果不是热爱&#xff0c;很难解释为什么能早上6点自然醒后坐在电脑前除了吃饭一直敲代码到23点这个现象&#xff0c;而且还乐此不疲。 之前上班的时候生活就很规律&#xff0c;没想到失业后的生活比之前还要规律&#xff1b;记得还在上班的时候&#xff0c;每天7点半懒洋…

670. 最大交换

链接&#xff1a; ​​​​​​670. 最大交换 题解&#xff1a; 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 class Solution { public:int maximumSwap(int num) {if (num < 0) {return 0;}std::string str to_string(num);stack<int&g…

植物大战僵尸各种僵尸攻略(一)

前言 此文章为“植物大战僵尸”专栏中的004刊&#xff08;2023年9月第2刊&#xff09;&#xff0c;欢迎订阅。版权所有。 注意&#xff1a; 1.本博客适用于pvz无名版&#xff1b; 2.pvz指植物大战僵尸&#xff08;Plants VS Zonbies)&#xff1b; 3.本文以耗费低做标准&am…

JY901B智能9轴加速度计陀螺仪角度传感器

今日学习使用JY901B智能9轴加速度计陀螺仪角度传感器 本文会先使用上位机获取数据作演示&#xff0c;后介绍它的数据表发送原理。 文章提供详细的原理讲解&#xff0c;测试工程下载&#xff0c;代码讲解&#xff0c;本人有多注释的习惯&#xff0c;希望对大家有帮助。 我的J…

2021年09月 C/C++(六级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C++编程(1~8级)全部真题・点这里 第1题:双端队列 定义一个双端队列,进队操作与普通队列一样,从队尾进入。出队操作既可以从队头,也可以从队尾。编程实现这个数据结构。 时间限制:1000 内存限制:65535 输入 第一行输入一个整数t,代表测试数据的组数。 每组数据的第一…

Java学习之序列化

1、引言 《手册》第 9 页 “OOP 规约” 部分有一段关于序列化的约定 1&#xff1a; 【强制】当序列化类新增属性时&#xff0c;请不要修改 serialVersionUID 字段&#xff0c;以避免反序列失败&#xff1b;如果完全不兼容升级&#xff0c;避免反序列化混乱&#xff0c;那么请…

Sitecore站点更新License

一、简介 Sitecore 是一个基于ASP.NET 技术的 CMS 系统&#xff0c;它不仅具有传统 Web CMS 的所有功能&#xff0c;还集成了 Marketing 营销&#xff08;当然&#xff0c;这个功能价格不菲&#xff09;的功能&#xff0c;可以提供一个一站式的在线营销解决方案。对于 .NET 程…

Google Earth Engine 的缺点和限制

随着 Google Earth Engine 在地球科学和数据计算领域越来越流行&#xff0c;网上有很多介绍Google Earth Engine 的文章及 Google Earth Engine的追随者。Google Earth Engine确实是一款伟大的产品&#xff0c;我们应该为其点赞。但由于已经有太多人在热捧了&#xff0c;我这里…