测试工程师 | 测试基础知识点速查

news2024/12/23 17:43:16

文章目录

  • 1. 测试介绍
  • 2. 测试的分类
    • 2.1 按照测试阶段划分(4种)
    • 2.2 按照代码可见度划分(3种)
    • 2.3 是否运行代码(2种)
    • 2.4 是否按照自动化(2种)
    • 2.5 其它测试(4种)
    • 2.6 总结
  • 3. 测试的模型(俩大模型)
    • 3.1 软件质量模型(8种)
    • 3.2 软件开发模型(4种)
      • 3.2.1 瀑布模型
      • 3.2.2 V模型
      • 3.2.3 迭代模型
      • 3.2.4 敏捷开发
      • 3.2.5 开发模型比对
  • 4. 测试流程(八大步骤)
  • 5. 测试用例
    • 5.1 用例概念
    • 5.2 用例的八大要素
    • 5.3 设计用例的流程
    • 5.4 测试方法
      • 5.4.1 等价类划分法—穷举场景
      • 5.4.2 边界值法—限定边界场景
      • 5.4.3 判定表法—多条件依赖场景
      • 5.4.4 错误推测法—项目尾声场景
      • 5.4.5 场景法—项目业务场景
      • 5.4.6 测试方法总结
  • 6. 缺陷
    • 6.1 缺陷的定义
    • 6.2 缺陷的分类
    • 6.3 缺陷的核心要素
  • 7. 需求评审
    • 7.1 定义
    • 7.2 参与角色
    • 7.3 目的
  • 8. 测试计划
    • 8.1 目的
    • 8.2 测试计划的七大要素
  • 9. 测试报告
    • 9.1 定义
    • 9.2 测试报告的五大要素


1. 测试介绍

  • 什么是软件测试?

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

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

在这里插入图片描述

2. 测试的分类

2.1 按照测试阶段划分(4种)

阶段描述对应角色
单元测试针对程序源代码进行测试(单元:最小独立功能代码段)。开发人员/白盒测试人员
集成测试针对单元与单元之间的接口进行测试,又称接口测试。开发人员/白盒测试人员/功能测试
系统测试针对系统整体功能+兼容+文档,包括功能测试、性能测试、易用性测试,安全测试,兼容性测试等。功能测试/专项测试人员
验收测试内测 : 公司内部人员来完成的测试
公测 : 是由用户来完成的测试
公司人员/用户

2.2 按照代码可见度划分(3种)

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

在这里插入图片描述

种类描述分布阶段
黑盒测试将测试对象看成一个黑色的黑子
测试人员不需要关注盒子的内部,只需站在用户角度进行,所说的功能测试其实就是黑盒测试 。
系统测试
灰盒测试将测试对象看成一个灰色的盒子
更多测试的是接口。
集成测试
白盒测试将测试对象看成一个透明的盒子
测试人员需要查看程序的内部代码逻辑,然后对代码进行测试。
单元测试

2.3 是否运行代码(2种)

种类描述
静态测试对代码的语法、逻辑、规范进行测试 ,一般情况下是不运行代码的 ,主要使用场景就是代码评审(review)。
对文档进行测试 ,比如需求文档 ,用户手册 。
动态测试对运行代码的测试 ,包括白盒测试 ,黑盒测试 、灰盒测试 。

2.4 是否按照自动化(2种)

种类描述
手工测试由人工来完成的测试 ,通过执行测试用例 ,操作被测软件 ,比对测试结果的一个过程 。
自动化测试由代码来完成测试 ,通过代码驱动软件自动执行 ,自动操作 ,自动比对结果的一个过程 ,包括app自动化、web自动化和接口自动化 。

2.5 其它测试(4种)

种类描述
冒烟测试从已经编写好的测试用例中选取一部分具有代表性的测试用例作为冒烟测试用例。
随机测试(发散测试)测试时对软件功能不受限制,对测试方法不受限制 ,对测试思维不受限制 。
探索式测试有目的性和针对性的测试,强调的是一边探索、一边学习 、一边验证的过程 。
回归测试主要是对功能或已经修复的bug进行的再次验证 ,主要确认修改后的功能/bug被真正的修改。

2.6 总结

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

3. 测试的模型(俩大模型)

3.1 软件质量模型(8种)

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

在这里插入图片描述

质量特性测试类型
功能性功能测试,安全测试
性能效率性能测试
兼容性兼容性测试
易用性易用性测试
可靠性可靠性测试、性能测试
信息安全安全测试
可维护性/
可移植性兼容性测试、安装测试

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

3.2 软件开发模型(4种)

3.2.1 瀑布模型

  • 包含阶段:需求分析-设计-编码-测试-维护
  • 特点 :
    • 线性开发
    • 产生大量文档 、文档依赖性强
    • 开发周期长
  • 导致结果 :
    • 需求 : 适应性差
    • 质量 : 不高
    • 要求 : 对各个角色要求也不高 。
  • 适用公司 : 小型的项目性公司

3.2.2 V模型

  • 包含阶段 : 需求分析 - 概要设计 -详细设计 -编码 -单元测试 -集成测试 -系统测试 -验收测试
  • 特点 :
    • 线性开发
    • 产生大量文档 ,文档依赖性强
    • 开发周期长
    • 强化了设计和测试这两个环节
  • 导致结果 :
    • 质量 : 有保障
    • 需求 : 适应性差
    • 角色 : 注重了设计和测试阶段 ,对于这两个岗位要求会更高
  • 适用公司 :大型企业 、比如银行 、电信

3.2.3 迭代模型

  • 包含阶段 : 需求分析 -设计 - 编码 - 测试 -上线
  • 特点 :
    • 线性开发
    • 文档轻量化
    • 开发周期短
    • 需求拆分上线
  • 导致结果 :
    • 需求 : 适应性较高 ,快速的接受用户的反馈。
    • 质量 : 一般
    • 角色 : 更注重产品 、对技术整体上要求也比较高 。
  • 适用公司 : 互联网企业 。

3.2.4 敏捷开发

  • 包含阶段 : 用户故事 - 计划会 -迭代任务 (开发-测试-上线)
  • 特点 : 小步快跑、快速迭代
  • 导致结果 :
    • 需求 : 适应性是最好的
    • 质量 :
    • 角色 : 注重整体 、对整个团队成员要求高 。
  • 实用公司 :大厂 。

3.2.5 开发模型比对

开发模型开发过程适用公司开发周期
瀑布模型将所有需求都完成以后才会进入到下一阶段,依次类推小公司
V模型将所有需求都完成以后才会进入到下一阶段,依次类推外包较长
迭代模型将20个需求拆分成若干迭代,每次只做部分需求 ,依次进行迭代。互联网企业
敏捷模型以用户故事为单位进行拆分,依次迭代 。大厂较短

4. 测试流程(八大步骤)

在这里插入图片描述

主要包含事项所处阶段主导角色主要工作
1.需求评审需求分析阶段的尾声产品经理主导,其它角色参与理解需求。
2.编写测试计划开发阶段的早期测试经理主导,测试人员参与输出计划并同步给团队。
3.编写测试用例以及评审开发阶段的早、中、后期测试人员编写测试用例,参与用例评审。
4.搭建测试环境开发结算的尾部测试人员搭建测试环境。
5.执行测试用例测试阶段测试人员执行测试用例,提交bug。
6.缺陷管理测试阶段测试人员发现bug,跟踪bug ,回归bug。
7.编写测试报告测试阶段的尾部测试人员输出测试报告并同步给团队。
8.上线测试上线运维,测试,开发上线测试。

5. 测试用例

5.1 用例概念

  • 用例:用户使用的案例

  • 生活中的用例:
    在这里插入图片描述

  • 用例的作用

    1、验证软件功能是否满足需求
    2、保证需求的覆盖率,从而提升测试覆盖率,减少问题漏测 。
    3、衡量测试的工作量

5.2 用例的八大要素

在这里插入图片描述

5.3 设计用例的流程

需求分析 - 提取测试点 - 设计测试用例 - 用例评审 -修改和完善测试用例

5.4 测试方法

5.4.1 等价类划分法—穷举场景

  • 介绍:
    在这里插入图片描述

等价类划分 :

  • 有效等价类 :使得该功能能正常完成 ,有效等价类设计出来的用例叫正向用例 。
  • 无效等价类 :操作的功能无法完成 ,输入的数据是错误或者异常导致无法完成 。无效等价类设计出来的用例反向用例 。

如何使用等价类进行分类(设计测试用例):

  1. 先将输入数据划分成有效等价类和无效等价类 。
  2. 对有效等价类继续细分 ,首先分析构成功能的元素 ,将这些元素列出来 。
  3. 再对每个元素找对应的属性,要划分到原子层级 ,进行组合 ,去掉一些冗余和逻辑不成立的情况 ,最终正向用例。
  4. 无效等价类是对有效等价类的条件取反,确保每个条件至少有一个反向用例 。

应用场景:

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

5.4.2 边界值法—限定边界场景

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

边界值说明:
在这里插入图片描述

边界值法优化:

重点:

离点开内闭外(开区间选包含的点,闭区选不包含的点)。

上点,内点必选。

应用场景:

典型代表:有边界范围的输入框类测试

5.4.3 判定表法—多条件依赖场景

  • 介绍:
    在这里插入图片描述

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

5.4.4 错误推测法—项目尾声场景

  • 概念 : 主要基于自己的经验 ,直觉或自己的判断 ,来推测某个功能可能存在错误 。

输入数据 :

  • 默认值
  • 不输入(空值)
  • 输入较长/短的值 。
  • 输入特殊字符 。
  • 输入数据和业务相关的数据

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

5.4.5 场景法—项目业务场景

  • 概念 : 站在用户角度考虑 ,将几个功能组合起来构成用户具体的使用场景 ,可以理解为 :功能组合 + 操作顺序 ,比如购物流程 。

基本流 :考虑用户正常的操作流程 ,往往选取基本流都是用户高频操作的功能,满足用户某方面的价值需求 。

备选流: 在操作基本流路径上出现了错误或异常 ,它导致的结果是要么结束了流程 ,要么重新回到了基本流 。

说明 :

  • 对于一个系统来说 ,会存在很多的基本流 。
  • 一旦确定了某条基本流 ,就开始考虑基本流中的备选流 。

5.4.6 测试方法总结

测试方法使用场景特点使用关键
等价类划分法针对穷举场景设计测试点特别适合于颗粒度细1.合理的划分
2.取数
边界值法针对限定边界规则设计测试点发现的bug几率是特别高的确定范围,取边界上的值
判定表法针对多条件依赖关系进行设计测试点
错误推测法针对单功能设计测试用例的方法更多的发现bug。基于经验 ,直觉 ,判断
场景法针对于项目业务进行设计测试点执行次数会比较多 。站在用户角度去考虑

6. 缺陷

6.1 缺陷的定义

  • 软件缺陷 ,称为bug ,它是指程序在运行过程中出现的错误或异常,导致此功能不能满足用户需求 。

6.2 缺陷的分类

种类描述
功能性缺陷1.功能未实现或实现错误
2.页面数据显示错误
3.业务逻辑错误
性能性缺陷1.响应时间太长
2.页面崩溃
易用性缺陷1.页面体验不太好
2.使用起来不方便
安全性缺陷1.数据被暴露
2.权限设置
兼容性缺陷1.手机不兼容
2.屏幕不兼容
3.版本不兼容

6.3 缺陷的核心要素

字段字段描述
缺陷id系统自动生成 ,代表唯一性。
缺陷标题描述产生的缺陷 ,主要给开发人员查看
严重程度产生缺陷后,它对系统的严重程度 。一般分为4个级别,包括P0,P1,P2,P3
优先级缺陷被修改的优先级 ,修改的优先级有两个字段决定,首先修改严重程度高的 ,严重级别相同的,再选取优先级高的修改 。
模块此缺陷所涉及的项目模块 。
缺陷的预置条件产生缺陷的预置条件。
缺陷复现的步骤使缺陷复现的操作步骤。
指派人产生的缺陷交给谁去解决。

7. 需求评审

7.1 定义

  • 产品经理将已经设计好的需求文档(PRD)在需求评审会同步给团队成员,使得团队成员理解上保持一致,以便展开后续的工作 。

7.2 参与角色

  • 产品经理
  • 项目经理
  • 开发人员
    • 前端开发
    • 后端开发
  • 测试人员
  • UI人员

7.3 目的

  • 确保需求的完整性和准确性 ,
  • 确保团队成员能对需求理解一致 。
  • 给出各团队的实现周期 ,包括开发团队 ,测试团队 ,UI团队 。

8. 测试计划

8.1 目的

  • 高指定性 ,减少因为没有去考虑而导致各种的问题 。
  • 合理的安排资源(人力资源 ,时间资源、环境资源、工具资源、数据资源) ,从而减少测试浪费 。

8.2 测试计划的七大要素

  • 测试目标 : 要达成具体的质量目标 ,而且要将质量目标进行量化 。
  • 测试范围 : 我们要测试什么 ? 本次迭代新增了哪些功能 ? 影响了哪些模块 ?需要进行测试其它的类型 ?
  • 测试策略 : 我们要如何进行测试 ? 在本次迭代中 ,如何安排测试时间以及测试资源 。
  • 测试资源 :是由谁来测试 ? 所花费的时间 ,以及需要用到的测试环境 ,测试数据 ,测试方法等。
  • 测试标准 : 测试过程中,需要统一标准 ,比如 : 准入准出标准 、设计测试用例的标准 。
  • 测试风险和应对措施 : 在测试过程中可能遇到那些风险 ?必须需求变更,开发提测不通过 。

9. 测试报告

9.1 定义

  • 主要是提供测试过程,测试结果以及测试分析的一份文档,主要为后续产品质量提供依据 。一旦输出测试报告,就意味着测试阶段的结束 。

9.2 测试报告的五大要素

  • 测试结果 :一般情况就是测试通过或测试终止 。
  • 测试依据 : 给出测试准出的标准
  • 测试过程的回顾 :准备阶段的过程 ,执行结果的过程 。 比对差异 ,找出原因 ,从而找解决方案 。
  • bug统计回顾 :按照不同的维度进行统计 ,比如bug的激活率 ,bug的有效率 ,bug关闭率等
  • 问题和建议 :在测试过程中发现问题的总结 ,写出具体的解决方案 。

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

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

相关文章

深入篇【C++】CC++内存管理:new/delete底层原理剖析+思维导图总结

深入篇【C】C&C内存管理:new/delete底层原理剖析思维导图总结 Ⅰ.C/C内存分布Ⅱ.C的内存管理Ⅲ.C的内存管理①.new/delete操作内置类型总结: ②.new/delete操作自定义类型总结: ③.operator new与operator delete总结: ④.new/delete底层…

【C++String类使用】万字详解保姆级教学,手把手教你使用string类。

string类的使用 什么是string类&#xff1f;string构造string();string (const char* s);string (const string& str);string (const string& str, size_t pos, size_t len npos);string (const char* s, size_t n);string (size_t n, char c);template < class In…

《The Element of Style》阅读笔记 —— 章节 III A Few Matters of Form

前言&#xff1a;本篇为书籍《The Element of Style》第三章的阅读笔记。 本书电子版链接&#xff1a;http://www.jlakes.org/ch/web/The-elements-of-style.pdf 章节 I Elementary Rules of Usage 阅读笔记&#xff1a;链接章节 II Elementary Principles of Composition 阅读…

JavaScript进阶之路(一)初学者的开始

一&#xff1a;写在前面的问题和话 一个javascript初学者的进阶之路&#xff01; 背景&#xff1a;3年后端&#xff08;ASP.NET&#xff09;工作经验&#xff0c;javascript水平一般般&#xff0c;前端水平一般般。学习资料&#xff1a;犀牛书。 如有误导&#xff0c;或者错…

Git日常使用技巧 - 笔记

Git日常使用技巧 - 笔记 Git是目前世界上最先进的分布式版本控制系统 学习资料 廖雪峰 学习视频 https://www.bilibili.com/video/BV1pX4y1S7Dq/?spm_id_from333.337.search-card.all.click&vd_source2ac127043ccd79c92d5b966fd4a54cd7 Git 命令在线练习工具 https://l…

多线程 -- Thread类的基本用法

本篇重点 什么是变量捕获?? 有关线程的操作 线程创建线程中断线程等待线程休眠获取线程实例目录 1. 线程创建2. 线程中断变量捕获 线程的六种状态NEW 状态TERMNATED 状态RUNNABLE 就绪状态TIMED_WAITING 状态 1. 线程创建 关于线程的创建看上篇博客, 里面为线程的创建提供…

数据库事务到底是什么?

目录 场景&#xff08;两个用户之间进行转账操作&#xff09;&#xff1a; 需要的操作步骤&#xff1a; 事务 事务的四大特性&#xff1a; 一、原子性 &#xff08;1&#xff09;什么是回滚操作 &#xff08;2&#xff09;数据库恢复操作&#xff0c;如何知道数据恢复如初…

C++ Stack&queue&deque

C Stack&#xff06;queue&#xff06;deque &#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;C &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 本博客主要内容主要讲解了栈和…

如何在华为OD机试中获得满分?Java实现【字符串通配符】一文详解!

✅创作者&#xff1a;陈书予 &#x1f389;个人主页&#xff1a;陈书予的个人主页 &#x1f341;陈书予的个人社区&#xff0c;欢迎你的加入: 陈书予的社区 &#x1f31f;专栏地址: Java华为OD机试真题&#xff08;2022&2023) 文章目录 1、题目描述2、输入描述3、输出描述…

Rust 笔记:Rust 语言中应用正则表达式

Rust 笔记 Rust 语言中应用正则表达式 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263?spm1001.2101.3001.5343 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/…

【Linux】线程详解之线程互斥与同步

文章目录 Linux线程互斥一、进程线程间的互斥相关概念1.临界资源和临界区2.互斥和原子性 二、互斥量mutex1.抢票程序是否引入互斥量现象观察2.抢票程序原理分析3.互斥量的接口4. 加锁后的程序5.互斥量原理探究 可重入VS线程安全一、概念1.线程安全2.重入 二、常见的线程不安全的…

【P37】JMeter 仅一次控制器(Once Only Controller)

文章目录 一、仅一次控制器&#xff08;Once Only Controller&#xff09;参数说明二、测试计划设计2.1、测试计划一2.1、测试计划二 一、仅一次控制器&#xff08;Once Only Controller&#xff09;参数说明 可以让控制器内部的逻辑只执行一次&#xff1b;单次的范围是针对某…

Spring Authorization Server 系列(一)环境搭建

Spring Authorization Server 中的scope参数解析 前提依赖版本问题确定Spring Boot 版本确定 Spring Authorization Server 版本最终的依赖 第一个 Spring Authorization Server Demo 前提 由于 Spring 最新的 OAuth2 解决方案 已经由 Spring Security 下的 OAuth2 模块独立出…

从零开始学习JavaScript:轻松掌握编程语言的核心技能①

从零开始学习JavaScript&#xff1a;轻松掌握编程语言的核心技能 一&#xff0c;JavaScript 简介为什么学习 JavaScript?JavaScript 用法 二&#xff0c;JavaScript 输出JavaScript 显示数据JavaScript&#xff1a;直接写入 HTML 输出流 三&#xff0c;JavaScript 语法JavaScr…

VS2022发布独立部署的.net程序

.net core支持依赖框架部署和独立部署两种方式&#xff0c;之前学习时是在VSCode中使用dotnet命令发布的。但是在VS2022中却不知道该如何设置。以获取PDF文件使用字体的项目为例&#xff0c;VS2022中默认编译的是依赖框架部署方式&#xff08;编译的结果如下图所示&#xff09;…

Android进阶 View事件体系(三):典型的滑动冲突情况和解决策略

Android进阶 View事件体系&#xff08;三&#xff09;&#xff1a;典型的滑动冲突情况和解决策略 内容概要 本篇文章为总结View事件体系的第三篇文章&#xff0c;前两篇文章的在这里&#xff1a; Android进阶 View事件体系&#xff08;一&#xff09;&#xff1a;概要介绍和实…

Oracle——数据操纵DML(一)

STU1 1、不指定字段的整行插入 在STU1中新增一名同学的基本信息&#xff0c;SQL如下&#xff1a; INSERT INTO test.stu1 VALUES(0001,牛牛,男,24,to_date(1988-05-25,YYYY-MM-DD),12外语)格式如下&#xff1a; INSERT INTO 表名 VALUES(值1,值2,...,值n)对于CHAR或VARCHAR等…

sql-labs SQL注入平台——第二关Less-2 GET - Error based - Intiger based (基于错误的GET整型注入)

Less-2 GET - Error based - Intiger based (基于错误的GET整型注入) 一、先确认漏洞是否存在 &#xff08;1&#xff09;查询 id1返回查询结果正常 &#xff08;2&#xff09;查询 id1’返回查询结果报错&#xff0c;可能存在SQL注入 &#xff08;3&#xff09;查询 id1 …

路径规划算法:基于帝国主义竞争优化的路径规划算法- 附代码

路径规划算法&#xff1a;基于帝国主义竞争优化的路径规划算法- 附代码 文章目录 路径规划算法&#xff1a;基于帝国主义竞争优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要&#xff1a;本文主要介绍利用…

Dubbo环境搭建

1.搭建zookeeper注册中心环境 zookeeper下载地址 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6ptMw7rb-1685261782669)(b894c0cbb6501ca97145d3b09685ae8f.png)] 在bin文件下&#xff0c;启动zkServer.cmd会有报错&#xff0c;处理需要在condi…