当前位置: 首页 > news >正文

测试的基础知识大全【测试概念、分类、模型、流程、测试用例书写、用例设计、Bug、基础功能测试实战】

测试基础笔记

  • Day01
    • 阶段⽬标
    • ⼀、测试介绍
    • ⼆、测试常⽤分类
      • 2.1 阶段划分
        • 单元测试
        • 集成测试
        • 系统测试
        • 验收测试
      • 2.2 代码可⻅度划分
        • ⿊盒测试:主要针对功能(阶段划分->系统测试)
        • 灰盒测试:针对接⼝测试(阶段划分->集成测试)
        • ⽩盒测试:针对程序源代码进⾏测试(阶段划分->单元测试)
      • 2.3 总结
        • 系统测试和⿊盒测试重点核⼼是功能测试
        • 集成测试和灰盒测试⼜称接⼝测试
        • 单元测试和⽩盒测试是对代码进⾏测试
        • ⾃动化测试归属功能测试
        • 性能测试、安全测试归属专项测试
    • 三、模型
      • 3.1 质量模型
    • 四、测试流程
      • 1. 需求分析(评审)
      • 2. 计划编写
      • 3. 用例设计
      • 4. 用例执行
      • 5. 缺陷管理
      • 6. 测试报告
    • 五、测试⽤例
      • ⽤例的作⽤
      • ⽤例模板
      • ⼋⼤要素编写规范
    • 六、⽤例设计⽅法
      • 6.1 能对穷举场景设计测试点
      • 6.2 解决边界限制问题
      • 6.3 解决多条件有依赖关系测试
      • 6.4 业务测试覆盖
      • 6.5 错误推荐法
    • 总结
  • Day02
      • 6.2 解决边界限制问题
      • 6.3 解决多条件有依赖关系测试
      • 6.4 业务测试覆盖
      • 6.5 错误推荐法
    • 总结
    • 作业 设计注册功能的用例
  • Day03
    • ⼀、⽤例执⾏
      • 执⾏失败的⽤例
    • ⼆、缺陷
      • 2.1 定义
      • 2.2 缺陷标准
      • 3.3 缺陷产⽣的原因
      • 3.4 缺陷的⽣命周期
      • 3.5 缺陷核⼼要素
      • 3.6 缺陷提交要素
      • 3.7 缺陷类型 ★(功能、界面、兼容性、数据、易用性)
    • 三、缺陷管理
      • 3.1 excel示例
      • 3.2 缺陷跟踪流程
      • 3.3 提交注意事项
      • 3.4 缺陷管理⼯具
      • 3.5 禅道(项⽬管理⼯具)
      • 缺陷标题扩展
      • 缺陷总结:★
    • 总结
  • Day04
    • ⼀、html介绍
  • Day05
    • ⼀、项⽬介绍
    • ⼆、项⽬实施
      • 2.1 登录
      • 登录需求
      • 2.2 发布⽂章
  • 总结

Day01

阶段⽬标

能独⽴针对web项⽬实施功能测试

⼀、测试介绍

  • 什么是软件测试?

使⽤技术⼿段验证软件是否满⾜需求

-测试主流技能

1、功能测试
2、⾃动化测试
3、接⼝测试
4、性能测试
主流⽅向建议:1、功能测试+接⼝测试2、⾃动化测试+接⼝3、功能+性能

⼆、测试常⽤分类

分类

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

2.1 阶段划分

单元测试

说明:针对程序源代码进⾏测试(单元:最⼩独⽴功能代码段)
提示:
1、国内单元测试⼀般开发⾃测
2、单元测试可以解决-快速定位缺陷
3、提高测试执行效率

集成测试

说明:针对单元与单元之间的接⼝进⾏测试
提示:⼜称接⼝测试。

系统测试

说明:针对系统整体功能+兼容+⽂档(说明、安装⽂档)

验收测试

内测:公司内部⼈员使⽤,发觉缺陷并修复。
公测:让⽤户帮忙测试
提示:验收测试,⼀般要根据项⽬类型决定是否使⽤。

2.2 代码可⻅度划分

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

在这里插入图片描述

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

2.3 总结

系统测试和⿊盒测试重点核⼼是功能测试
集成测试和灰盒测试⼜称接⼝测试
单元测试和⽩盒测试是对代码进⾏测试
⾃动化测试归属功能测试
性能测试、安全测试归属专项测试

三、模型

3.1 质量模型

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

在这里插入图片描述

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

四、测试流程

在这里插入图片描述

1. 需求分析(评审)

确保各部门需求理解一致

前提:阅读1遍需求⽂档,记录不明确之处。
参与⼈员:前端、后端、测试、产品
⽬的:1、确保各部⻔需求理解⼀致2、各⻆⾊对需求进⾏查漏补缺3、了解软件有些功能
提示:需求分析阶段->软件还未实现(刚⽴项)

2. 计划编写

说明:指导测试执⾏的⽂档(重要)
测什么(⽬标、范围)
谁来测(⼈员进度及安排)
怎么测(测试⼯具、测试策略)

3. 用例设计

验证项目是否符合需求的操作文档

说明:保证能准确验证软件测试点执⾏的⽂档。
1、分析需求
2、提取测试点
3、设计⽤例覆盖测试点

4. 用例执行

项目模块开发完成开始执行用例文档实施测试

说明:实施测试

5. 缺陷管理

对的缺陷进行管理的过程

提交->验证->关闭

6. 测试报告

实施测试结果文档

1、bug分析及统计
2、测试中遇到的问题
3、测试总结(本次测试中的优点和不⾜)

五、测试⽤例

⽤例:⽤户使⽤的案例
⽣活中的⽤例
在这里插入图片描述

⽤例的作⽤

1、防⽌漏测
2、衡量软件是否通过的标准

⽤例模板

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

⼋⼤要素编写规范

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

六、⽤例设计⽅法

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

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

穷举:⽆穷⽆尽
⽅法:等价类划分法
介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重点总结

在这里插入图片描述

6.2 解决边界限制问题

说明:使⽤边界值解决边界位数限制问题。2.1 边界值说明
在这里插入图片描述

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

步骤

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

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

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

重点:使⽤判定表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.4 业务测试覆盖

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

4.1 流程图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.5 错误推荐法

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

在这里插入图片描述

总结

在这里插入图片描述

Day02

6.2 解决边界限制问题

说明:使⽤边界值解决边界位数限制问题。2.1 边界值说明
在这里插入图片描述

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

步骤

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

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

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

重点:使⽤判定表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.4 业务测试覆盖

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

4.1 流程图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.5 错误推荐法

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

在这里插入图片描述

总结

在这里插入图片描述

作业 设计注册功能的用例

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

Day03

⼀、⽤例执⾏

说明:执⾏结果与⽤例的期望结果不⼀致(含义),为缺陷

在这里插入图片描述

执⾏失败的⽤例

在这里插入图片描述
提示:⽤例执⾏不通过为缺陷,需要进⾏缺陷管理

⼆、缺陷

2.1 定义

软件中存在的各种问题,都为缺陷,简称bug; 1

2.2 缺陷标准

1、少功能
2、功能错误
3、多功能
4、缺少隐性功能
5、易⽤性(软件测试⼈员专业⻆度)

3.3 缺陷产⽣的原因

1、需求⽂档
2、架构设计
3、编码实现
4、环境(硬件、软件)

3.4 缺陷的⽣命周期

在这里插入图片描述

1、回归测试:①常规项⽬回归:项⽬本次发布新增2个模块,最基本要测新增模块功能及新增模块关联的旧模块。②⾮常规项⽬(银⾏、部队、航天):新增功能,必须全部复测。
2、回归bug:上⼀个版本发现的缺陷,开发修复完毕,在下个版本进⾏重新验证。

3.5 缺陷核⼼要素

在这里插入图片描述

3.6 缺陷提交要素

在这里插入图片描述

3.7 缺陷类型 ★(功能、界面、兼容性、数据、易用性)

1、功能错误
2、UI⻚⾯错误
3、兼容性
4、数据(数据库)
5、易⽤性
6、建议
7、架构缺陷

⼯作流程(⼩结)

设计⽤例->执⾏⽤例(执⾏测试)->缺陷(提交、验证、关闭)
缺陷定义:任何问题(Bug)
缺陷标准:多功能、少功能、错误、缺少隐性功能、易⽤性
描述缺陷重点:缺陷标题、前置条件、复现步骤、预期结果、实际结果、附件备注
提交缺陷信息:指派⼈、缺陷等级、修复优先级、类型、状态(统计缺陷)

三、缺陷管理

3.1 excel示例

在这里插入图片描述

3.2 缺陷跟踪流程

在这里插入图片描述
提示:知道测试和开发流程中涉及的⼯作即可。

3.3 提交注意事项

在这里插入图片描述

⾯试题:发现缺陷后,⾸先回怎么办?--确定Bug可复现、确定是Bug。
提交时,要检查缺陷是否已存在。

3.4 缺陷管理⼯具

1、项⽬管理⼯具-管理缺陷 (禅道、JIRA、TFS)
2、Excel管理缺陷

3.5 禅道(项⽬管理⼯具)

地址:https://demo.zentao.net/user-login.html
特点
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

缺陷标题扩展

在这里插入图片描述

缺陷总结:★

bug编号、标题、严重程度、优先级、bug类型、缺陷状态、前提条件、复现步骤、预期结果、实际结果、证明材料、

总结

在这里插入图片描述

Day04

⼀、html介绍

html

在这里插入图片描述

Day05

针对登录模块实施测试设计
针对发布⽂章模块实施测试设计

⼀、项⽬介绍

在这里插入图片描述

⼆、项⽬实施

1、分析需求
2、设计测试点
3、编写⽤例覆盖测试点
4、执⾏⽤例
5、缺陷管理
6、测试总结

2.1 登录

登录需求

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

2.2 发布⽂章

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

总结

在这里插入图片描述

相关文章:

测试的基础知识大全【测试概念、分类、模型、流程、测试用例书写、用例设计、Bug、基础功能测试实战】

测试基础笔记 Day01阶段⽬标⼀、测试介绍⼆、测试常⽤分类2.1 阶段划分单元测试集成测试系统测试验收测试 2.2 代码可⻅度划分⿊盒测试:主要针对功能(阶段划分->系统测试)灰盒测试:针对接⼝测试(阶段划分->集成测…...

Power Apps

目录 一、引言1、Power Apps2、应用场景3、Power Apps的优势与前景4、补充 二、数据源介绍1、SharePoint2、Excel3、Dataverse4、SQL5、补充(1)OneDrive 三、Power Apps应用类型1、画布应用2、模型驱动应用3、网站 Power Pages 四、Power Automate五、Po…...

qt图像处理-将OpenCV的cv::Mat类型转换为QImage类型

在使用Qt进行图像处理时,经常需要将OpenCV的cv::Mat类型转换为QImage类型。以下是几种有效的方法,可以根据具体情况选择合适的方法进行转换。 方法一:直接使用QImage构造函数 这种方法直接使用QImage的构造函数,通过传递cv::Mat的指针和相关参数来创建QImage对象。这种方…...

代码随想录训练营第十八天 530二叉搜索树的最小绝对差 501二叉搜索树中的众数 236二叉树的最近公共祖先

第一题: 原题链接:530. 二叉搜索树的最小绝对差 - 力扣(LeetCode) 思路: 使用中序遍历的方式:左中右。 定义一个pre节点来存放当前节点的前一个节点。 在中序的时候处理递归逻辑: 首先先向…...

微信小程序之横向列表展示

效果图 参考微信小程序可看 代码&#xff1a; <view class"lbtClass"><view class"swiper-container"><scroll-view class"swiper" scroll-x"true" :scroll-left"scrollLeft"><block v-for"(six…...

无人机巡检小羊仿真

详细视频地址 仿真效果 可视化三维仿真 gazebo物理仿真 px4 飞控仿真 仿qgc简易地面站 详细视频地址...

springboot redission 分布式锁

Spring Boot中使用Redisson实现分布式锁的方法如下&#xff1a; 1. 首先&#xff0c;需要在项目中引入Redisson依赖。在pom.xml文件中添加以下依赖&#xff1a; xml <dependency> <groupId>org.redisson</groupId> <artifactId>redisson<…...

Vuex中的重要核心属性

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态&#xff0c;并以相应的规则保证状态以一种可预测的方式发生变化。 Vuex 的核心属性包括&#xff1a; State: State 是 Vuex 存储数据的地方&#xff0c;类似于组件中的 data。它…...

Redis哨兵集群搭建

一、安装Redis 1.安装依赖 yum install -y gcc tcl2.将Redis压缩包解压到对应的目录 tar -zxvf redis-2.8.0.tar.gz mv redis-2.8.0 /usr/local3.编译 cd /usr/local/redis-2.8.0 make && make install4.配置redis.conf # 任意ip都可以访问 bind 0.0.0.0 # 关闭保…...

网络爬虫requests库使用指南

目录 引言 安装requests库 基本用法 发送GET请求 发送POST请求 处理请求头和Cookies 设置请求头 使用Cookies 会话管理 异常处理 流式上传和下载 结语 引言 在Python中进行HTTP请求时&#xff0c;requests库是一个强大且易于使用的第三方库。它允许你发送各种HTTP请…...

VSCODE 配置C++ 与OPENCV

主要是两个json设置 c_cpp_properties.json {"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],&qu…...

C语言小例程28/100

题目&#xff1a;利用递归方法求5!。 程序分析&#xff1a;递归公式&#xff1a;fnfn_1*4! #include <stdio.h>int main() {int i;int fact(int);for(i0;i<6;i){printf("%d!%d\n",i,fact(i));} } int fact(int j) {int sum;if(j0){sum1;} else {sumj*fac…...

WPF文本绑定显示格式StringFormat设置-特殊格式时间日期和多数据绑定

WPF文本绑定显示格式StringFormat设置 特殊格式设置日期/时间使用系统默认样式自定义格式&#xff1a; 绑定多个属性&#xff08;多重绑定&#xff09;多重绑定中的特殊字符示例&#xff1a; 特殊格式设置 在Textblock等文本控件中&#xff0c;我们经常要显示一些日期和时间&a…...

Java包介绍

今天看jdk文档&#xff0c;顺便写一下java几个包的作用。 java.applet 主要用于创建java applet小应用程序&#xff0c;可以嵌入到网页中能够呈现出特殊的效果&#xff0c;现在基本已经被废弃&#xff0c;很少使用。 java.awt AWT 是Abstract Window ToolKit (抽象窗口工具包…...

【2024.6.21】今日科技时事:科技前沿大事件

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…...

LeetCode:经典题之1491、896 题解与延伸

系列目录 88.合并两个有序数组 52.螺旋数组 567.字符串的排列 643.子数组最大平均数 150.逆波兰表达式 61.旋转链表 160.相交链表 83.删除排序链表中的重复元素 389.找不同 1491.去掉最低工资和最高工资后的工资平均值 896.单调序列 206.反转链表 92.反转链表II 141.环形链表 …...

2024三掌柜赠书活动第二十五期:Rust 游戏开发实战

目录 目录 前言 Rust语言概念 关于《Rust 游戏开发实战》 Rust系统编程的核心点 Rust开发的关键技术和工具 内容简介 作者简介 书中前言/序言 内容介绍 《Rust 游戏开发实战》全书速览 图书目录 结束语 前言 技术圈最近的编程语言新秀当属Rust莫属&#xff0c;Rus…...

基于Java蛋糕甜品商城系统设计和实现(源码+LW+调试文档+讲解等)

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

Tomcat get请求传数组集合参数

前言 最近做项目&#xff0c;需要通过GET传参&#xff0c;来实现查询的能力&#xff0c;本来是RPC调用&#xff0c;直接参数序列化即可。但是服务最近修改为HTTP&#xff0c;本来Spring Cloud的feign也可以直接传参数&#xff0c;但是当使用Nginx访问时参数到底传啥呢&#xf…...

信息学奥赛初赛天天练-34-CSP-J2021完善程序-按位异或、模拟算法、数组模拟环、约瑟夫问题应用

PDF文档公众号回复关键字:20240624 2021 CSP-J 完善程序3 1 完善程序 (单选题 &#xff0c;每小题3分&#xff0c;共30分) &#xff08;Josephus问题&#xff09;有n个人围成一个圈&#xff0c;依次标号0至n-1。从0号开始&#xff0c;依次 0&#xff0c;1&#xff0c;0&#…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...