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

课程内容:

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.hqwc.cn/news/95290.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(动态规划) 剑指 Offer 66. 构建乘积数组——【Leetcode每日一题】

❓ 剑指 Offer 66. 构建乘积数组 难度&#xff1a;中等 给定一个数组 A[0,1,…,n-1]&#xff0c;请构建一个数组 B[0,1,…,n-1]&#xff0c;其中 B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即 B[i]A[0]A[1]…A[i-1]A[i1]…A[n-1]。不能使用除法。 示例: 输入: [1,2,3…

【Flutter】Flutter 使用 percent_indicator 实现基于百分比显示进度

【Flutter】Flutter 使用 percent_indicator 实现基于百分比显示进度 文章目录 一、前言二、安装和基本使用三、圆形百分比指示器四、线性百分比指示器五、完整示例六、总结 一、前言 今天我要为你介绍一个非常实用的Flutter包——percent_indicator。这个包允许我们基于百分比…

【ES6】Promise.allSettled的用法

Promise.allSettled() 是一个Promise方法&#xff0c;用于处理一个Promise数组&#xff0c;返回一个新的Promise数组&#xff0c;每个元素对应原始Promise的状态。这个方法可以用于处理多个异步操作&#xff0c;并且能够获取每个操作的结果和状态。 下面是Promise.allSettled(…

10. selenium API (二)

目录 1. 多层框架/窗口定位 2. 下拉框处理 2.1 前端界面 2.2 代码 3. 针对 alert 弹窗进行操作 3.1 前端界面 3.2 代码 4. 文件提交 4.1 前端界面 4.2 代码 5. 显示等待 6. 操作浏览器滚动条 7. 截图 8. 浏览器关闭 9. 窗口切换 在上篇文章中&#xff0c;我们学…

自动化运维工具-----Ansible入门详解

目录 一.Ansible简介 什么是Ansible&#xff1f; Ansible的特点 Ansible的架构 二.Ansible任务执行解析 ansible任务执行模式 ansible执行流程 ansible命令执行过程 三.Ansible配置解析 ansible的安装方式 ansible的程序结构&#xff08;yum安装为例&#xff09; ansibl…

文心一言接入Promptulate,开发复杂LLM应用程序

简介 最近在尝试将文心一言的LLM能力接入Promptulate&#xff0c;故写了一篇博客记录一下&#xff0c;Promptulate 是 Promptulate AI 旗下的大语言模型自动化与应用开发框架&#xff0c;旨在帮助开发者通过更小的成本构建行业级的大模型应用&#xff0c;其包含了LLM领域应用层…

数据结构 day6

1->xmind 2->递归实现程序&#xff1a;输入一个数&#xff0c;输出该数的每一位

Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘

最近在用django框架开发后端时&#xff0c;在运行 $python manage.py makemigrations 命令时&#xff0c;报了以上错误&#xff0c;错误显示连接mysql数据库失败&#xff0c;查看了mysql数据库初始化配置文件my.cnf&#xff0c;我的mysql.sock文件存放路径配置在了/usr/local…

【python爬虫】9.带着小饼干登录(cookies)

文章目录 前言项目&#xff1a;发表博客评论post请求 cookies及其用法session及其用法存储cookies读取cookies复习 前言 第1-8关我们学习的是爬虫最为基础的知识&#xff0c;从第9关开始&#xff0c;我们正式打开爬虫的进阶之门&#xff0c;学习爬虫更多的精进知识。 在前面几…

无涯教程-Android - DatePicker函数

Android Date Picker允许您在自定义用户界面中选择由日,月和年组成的日期。为此功能,android提供了DatePicker和DatePickerDialog组件。 在本教程中,我们将通过DatePickerDialog演示日期选择器的用法, DatePickerDialog是一个包含DatePicker的简单对话框。 为了显示DatePicker…

【C++深入浅出】类和对象上篇(类的基础、类的模型以及this指针)

目录 一. 前言 二. 面向对象与面向过程 2.1 面向过程 2.2 面向对象 三. 类的基础知识 3.1 类的引入 3.2 类的定义 3.3 成员变量的命名规则 3.4 封装 3.5 类的访问限定符 3.6 类的作用域 3.7 类的实例化 四. 类的对象模型 4.1 类对象的大小 4.2 类对象的存储方式 …

查看GPU占用率

如何监控NVIDIA GPU 的运行状态和使用情况_nvidia 85c_LiBiGo的博客-CSDN博客设备跟踪和管理正成为机器学习工程的中心焦点。这个任务的核心是在模型训练过程中跟踪和报告gpu的使用效率。有效的GPU监控可以帮助我们配置一些非常重要的超参数&#xff0c;例如批大小&#xff0c;…