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

这篇具有很好参考价值的文章主要介绍了测试工程师 | 测试基础知识点速查。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


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.3.3 W模型

  • 待续

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 缺陷的标题(重点)

  • 描述测试数据+实际结果(预期结果)

  • 测试数据描述+预期结果(实际结果)

  • 测试数据描述+实际结果(需求)文章来源地址https://www.toymoban.com/news/detail-466274.html

6.3 缺陷的分类

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

6.4 缺陷的描述要素

字段 字段描述
缺陷id 系统自动生成 ,代表唯一性。
缺陷标题 描述产生的缺陷 ,主要给开发人员查看
模块 此缺陷所涉及的项目模块 。
缺陷的预置条件 产生缺陷的预置条件。
缺陷复现的步骤 使缺陷复现的操作步骤。
实际结果 实际的运行结果
预期结果 预期的运行结果

6.5 缺陷的提交元素

字段 字段描述
缺陷类型 功能缺陷,性能缺陷,易用性缺陷,安全缺陷,兼容性缺陷。
严重程度 产生缺陷后,它对系统的严重程度 。一般分为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关闭率等
  • 问题和建议 :在测试过程中发现问题的总结 ,写出具体的解决方案 。

到了这里,关于测试工程师 | 测试基础知识点速查的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 硬件工程师需要掌握的PCB设计常用知识点

          一个优秀的硬件工程师设计的产品一定是既满足设计需求又满足生产工艺的,某个方面有瑕疵都不能算是一次完美的产品设计。规范产品的电路设计,工艺设计,PCB设计的相关工艺参数,使得生产出来的实物产品满足可生产性、可测试性、可维修性等的技术规范要求,

    2023年04月20日
    浏览(58)
  • 重点| 系统集成项目管理工程师考前50个知识点

    本文章总结了系统集成项目管理工程师考试背记50个知识点!!! 帮助大家更好的复习,希望能对大家有所帮助 比较长,放了部分,需要可私信!! 1、信息系统安全的属性包括保密性、完整性、可用性和不可抵赖性。 (1)保密性是应用系统的信息不被泄露给非授权的用户

    2023年04月09日
    浏览(47)
  • HCIA-Cloud Service V3.0 云服务工程师知识点汇总

    自己学习的时候顺手整理的,原内容来自视频https://ilearningx.huawei.com/courses/course-v1:HuaweiX+EBGTD9027+Self-paced/courseware/d453db6e840c4253a23ba3f24018c491/ff6740151fdb4de699e028e952e3a6c7/ 随着ICT技术的高速发展,企业架构对计算、存储、网络资源的需求更高,急需一种新的架构来承载业务, 以获得

    2024年02月14日
    浏览(51)
  • FPGA工程师面试——基础知识

    答:系统设计电路构思,设计说明与设计划分, 电路设计与输入(HDL代码、原理图), 功能仿真与测试, 逻辑综合, 门级综合, 逻辑验证与测试(综合后仿真), 布局布线, 时序仿真, 板级验证与仿真, 加载配置, 在线调试。 答:需要的逻辑资源、应用的速度要求,

    2024年02月09日
    浏览(49)
  • 网工知识角:网络工程师能力测试题

    1、OSPF 路由协议中,其他条件相同的条件下,第二类外部路由永远比第一类外部路由优先。 A. 正确 B. 错误 Answer: B 2、OSPF 包括哪些报文类型?(多选) A. Hello B. Database Description C. Link State Request D. Link State DD E. Link State Advertisement Answer: ABC 3、下面哪几个参数不是配置BGP Peer 时的

    2024年02月09日
    浏览(42)
  • 8年测试经验分享,15K的测试工程师需要掌握那些知识?

    软件测试行业是随着软件产业的发展而兴起的一个重要领域,目前处于快速发展阶段。以下是软件测试行业的现状: 人才需求增长: 随着互联网、移动互联网、物联网等新技术的不断发展,软件测试人才需求呈现出快速增长的趋势。越来越多的企业开始注重软件质量和用户

    2024年02月02日
    浏览(77)
  • 网络工程师应知应会:基础知识(5)

            防火墙按安全级别不同,可划分为内网、外网和 DMZ 区。 (1) 内网。         内网是防火墙的重点保护区域,包含单位网络内部的所有网络设备和主机。该区域是可信的,内网发出的连接较少进行过滤和审计。 (2) 外网。         外网是防火墙重点防范的对

    2024年02月06日
    浏览(43)
  • 网络工程师:计算机基础知识面试题(一)

            程序局部性是指程序在执行过程中,对于数据或者指令的访问具有集中的倾向性。它可以分为时间局部性和空间局部性两种。         程序的空间局部性是指程序在一段时间内对于某一特定数据或指令的访问,倾向于在相邻的存储位置上进行。这种局部性主要

    2024年02月01日
    浏览(102)
  • 数据库系统工程师——第五章 网络基础知识

    计算机网络的定义:利用通信设备和线路将地理位置分散的、功能独立的自主计算机系统或由计算机控制的外部设备连接起来,在网络操作系统的控制下,按照约定的通信协议进行信息交换,实现资源共享的系统。 计算机网络发展的4个阶段:具有通信功能的单机系统→具通

    2023年04月26日
    浏览(55)
  • 系统集成项目管理工程师(系统集成基础知识)

    1、信息(information)是客观事物状态和运动特征的一种普遍形式;事物的本体论信息,就是事物的运动状态和状态变化方式的自我表述。 2、信息技术主要为解决信息的采集、加工、存储、传输、处理、计算、转换、表现等问题而不断繁荣发展。信息的传输技术(通常指通信、网

    2024年02月07日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包