软件测试需要掌握哪些技术?

2023-05-16

文章目录

  • 1、黑盒测试、白盒测试、灰盒测试
    • 1.1 黑盒测试
    • 1.2 白盒测试
    • 1.3 灰盒测试
  • **2、自顶向下集成和自底向上集成各自的优缺点**
    • 2.1 自顶向下集成
    • 2.2 自底向上集成
  • **3、按照开发阶段划分,软件测试可以分为哪几个流程?**
  • 4、什么是测试用例,为什么要设计测试用例?
        • 1、指导测试的实施
        • 2、规划测试数据的准备
        • 3、编写测试脚本的"设计规格说明书"
        • 4、评估测试结果的度量基准
        • 5、分析缺陷的标准
    • 5.1 V 模型
    • 5.2 W 模型
    • 5.3 H 模型
    • 5.4 X 模型

已剪辑自: https://mp.weixin.qq.com/s/PmitRhs4hMt079VD1CmN_A

之前看到有小伙伴说:软件测试(测试工程师)没啥技术含量,也没有难度。

其实,真正牛逼的测试工程师,是需要掌握很多技能的,要熟悉产品的各项功能、应用场景,根据产品整理测试用例、记录结果等等。。。

这里简单的给大家介绍下关于测试的一些基本知识

1、黑盒测试、白盒测试、灰盒测试

1.1 黑盒测试

黑盒测试 又叫 功能测试、数据驱动测试 或 基于需求规格说明书的功能测试。该类测试注重于测试软件的功能性需求。

采用这种测试方法,测试工程师把测试对象看作一个黑盒子,完全不考虑程序内部的逻辑结构和内部特性,只依据程序的《需求规格说明书》,检查程序的功能是否符合它的功能说明。

测试工程师无需了解程序代码的内部构造,完全模拟软件产品的最终用户使用该软件,检查软件产品是否达到了用户的需求。黑盒测试方法能更好、更真实地从用户角度来考察被测系统的功能性需求实现情况。

在软件测试的各个阶段,如 单元测试、集成测试、系统测试及验收测试 等阶段中,黑盒测试都发挥着重要作用,尤其在系统测试和确认测试中,其作用是其他测试方法无法取代的。

1.2 白盒测试

白盒测试 又称 结构测试、透明盒测试、逻辑驱动测试 或 基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,即清楚盒子内部的东西以及里面是如何运作的。

"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。

白盒测试的测试方法有 代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。

白盒测试法的覆盖标准有 逻辑覆盖、循环覆盖 和 基本路径测试。

其中 逻辑覆盖 包括 语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖 和 修改条件判断覆盖 。六种覆盖标准发现错误的能力呈 由弱到强 的变化:

  • 语句覆盖:每条语句至少执行一次。
  • 判定覆盖:每个判定的每个分支至少执行一次。
  • 条件覆盖:每个判定的每个条件应取到各种可能的值。
  • 判定/条件覆盖:同时满足判定覆盖、条件覆盖。
  • 条件组合覆盖:每个判定中各条件的每一种组合至少出现一次。
  • 修改条件判断覆盖:每一个判断的所有可能结果都出现过、每一个判断中所有条件的所有可能结果都出现过、每一个进入点及结束点都执行过、判断中每一个条件都可以独立的影响判断的结果。

1.3 灰盒测试

灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。

灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。

2、自顶向下集成和自底向上集成各自的优缺点

集成测试的方法有两种:非增量式测试 和 增量式测试

非增量式是每个模块测试完了再连接。

增量式则是测一个模块,就连接一个模块。而采用增量式测试时又有两种选择:自顶向下结合、自底向上结合。

2.1 自顶向下集成

自顶向下的集成测试就是 按照系统层次结构图,以主程序模块为中心,自上而下按照深度优先或者广度优先策略,对各个模块一边组装一边进行测试。

优点:

  • 较早地验证了主要控制和判断点
  • 按深度优先可以首先实现和验证一个完整的软件功能
  • 功能较早证实,带来信心;只需一个驱动,减少驱动器开发的费用
  • 支持故障隔离。

缺点:

  • 柱的开发量大
  • 底层验证被推迟
  • 底层组件测试不充分

适应于产品控制结构比较清晰和稳定;高层接口变化较小;底层接口未定义或经常可能被修改;产口控制组件具有较大的技术风险,需要尽早被验证;希望尽早能看到产品的系统功能行为。

2.2 自底向上集成

自底向上集成是 从系统层次结构图的底层模块开始进行组装和集成测试的方式。对于某一个层次的特定模块,因为它的子模块(包括子模块的所有下属模块)已经组装并测试完成,所以不再需要桩模块。在测试过程中,如果想要从子模块得到信息可以通过直接运行子模块得到。也就是说,在集成测试的过程中只需要开发相应的驱动模块就可以了。

优点:

  • 对底层组件行为较早验证
  • 工作起初可以并行集成,比自顶向下效率高
  • 减少了桩的工作量;支持故障隔离。

缺点:

  • 驱动的开发工作量大
  • 对高层的验证被推迟,设计上的错误不能被及时发现

适应于底层接口比较稳定;高层接口变化比较频繁;底层组件较早被完成。

strongerHuang

,赞 58

3、按照开发阶段划分,软件测试可以分为哪几个流程?

软件测试类型按开发阶段分为:

  • 单元测试 又称为模块测试,是针对软件设计的最小单位——程序模块进行正确性检查的测试工作,单元测试需要从程序内部结构出发设计测试用例,多个模块可以平行地独立进行单元测试。
  • 集成测试 又称为 组装测试 或 联合测试,在单元测试的基础上需要将所有模块按照概要设计说明书和详细设计说明书的要求进行组装。
  • 确认测试 的目标是验证软件的功能和性能以及其他特性是否与用户的要求一致。确认测试一般包括有效性测试和软件配置复查。一般由第三方测试机构进行。
  • 系统测试:软件作为计算机系统的一部分,与硬件、网络、外设、支撑软件、数据以及人员结合在一起,在实际或模拟环境下,对计算机系统进行测试,目的在于与系统需求比较,发现问题。
  • 验收测试:以用户为主的测试,软件开发人员和质量保证人员参加,由用户设计测试用例。不是对系统进行全覆盖测试,而是对核心业务流程进行测试。

4、什么是测试用例,为什么要设计测试用例?

测试用例(Test Case)是为某个特殊目标而编制的 一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。

1、指导测试的实施

测试用例主要适用于集成测试、系统测试和回归测试。在实施测试时测试用例作为测试的标准,测试人员一定要按照测试用例严格按用例项目和测试步骤逐一实施测试。并对测试情况记录在测试用例管理软件中,以便自动生成测试结果文档。

根据测试用例的测试等级,集成测试应测试那些用例,系统测试和回归测试又该测试那些用例,在设计测试用例时都已作明确规定,实施测试时测试人员不能随意作变动。

2、规划测试数据的准备

在我们的实践中测试数据是与测试用例分离的。按照测试用例配套准备一组或若干组测试原始数据,以及标准测试结果。

尤其象测试报表之类数据集的正确性,按照测试用例规划准备测试数据是十分必须的。

除正常数据之外,还必须根据测试用例设计大量边缘数据和错误数据。

3、编写测试脚本的"设计规格说明书"

为提高测试效率,软件测试已大力发展自动测试。自动测试的中心任务是编写测试脚本。

如果说软件工程中软件编程必须有设计规格说明书,那么测试脚本的设计规格说明书就是测试用例。

4、评估测试结果的度量基准

完成测试实施后需要对测试结果进行评估,并且编制测试报告。

判断软件测试是否完成、衡量测试质量需要一些量化的结果。例:测试覆盖率是多少、测试合格率是多少、重要测试合格率是多少,等等。以前统计基准是软件模块或功能点,显得过于粗糙。采用测试用例作度量基准更加准确、有效。

5、分析缺陷的标准

通过收集缺陷,对比测试用例和缺陷数据库,分析确证是漏测还是缺陷复现。漏测反映了测试用例的不完善,应立即补充相应测试用例,最终达到逐步完善软件质量。而已有相应测试用例,则反映实施测试或变更处理存在问题。

软件测试和软件开发一样,都遵循软件工程原理,遵循管理学原理。

测试专家通过实践总结出了很多很好的测试模型。这些模型将测试活动进行了抽象,明确了测试与开发之间的关系,是测试管理的重要参考依据。

5.1 V 模型

与瀑布模型有公共的特性,V模型中的过程从左到右,描述了开发的过程到最后测试全经过。

优势:

  • 清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。

局限性:

  • 把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现。

5.2 W 模型

优势:

  • 测试与开发是同步进行的,明确地标注了生产周期中开发与测试之间的对应关系,从而更好、更快、更全地发现问题。

局限性:

  • W 模型和 V 模型都把软件的开发视为需求、设计、编码等一系列串行的活动,无法支持迭代、自发性以及变更调整。

5.3 H 模型

H 模型将测试活动从开发流程完全独立出来,使测试流程形成一个完全独立的流程,将测试准备活动与测试执行活动清晰地体现出来。其他流程可以是任何的开发流程,测试这边只要测试条件成熟(满足测试就绪点),测试执行活动就可进行(与其他流程并发地进行)。

优势:

  • 是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。
  • 充分的体现了测试过程。
  • 软件测试不仅仅指测试的执行,还包括很多其他的活动(计划、需求分析、用例设计、环境搭建、提交缺陷、评估总结等)。
  • 软件测试要尽早准备,尽早执行,具有很强的灵活性。
  • 软件测试可以根据被测物的不同而分层次进行。
  • 不同的测试活动可以是按照某个次序先后进行的,但也可能是反复的,只要某个测试达到准备就绪点,测试执行活动就可以开展。

局限性:

  • 管理性要求高:由于模型很灵活,必须要定义清晰的规则和管理制度,否则测试过程将非常难以管理和控制。
  • 技能要求高:H 模型要求能够很好的定义每个迭代的规模,不能太大也不能太小。
  • 测试就绪点分析困难:测试很多时候,你并不知道测试准备到什么时候是合适的,就绪点在哪里,就绪点的标准是什么,这就对后续的测试执行的启动带来很大的困难。

5.4 X 模型

X 模型的左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终成为可执行的程序,然后再对这些可执行程序进行测试。

优势:

  • 很好地处理测试与开发的交接过程(交接的过程是一个时间段,而不是一个点)。
  • 己通过集成测试的成品可以进行封装并提交给用户,也可以作为更大规模和范围内集成的一部分。多根并行的曲线表示变更可以在各个部分发生。
  • X 模型还定位了探索性测试,这是给有经验的测试人员在测试计划之外发现更多的软件缺陷。

局限性:

  • 探索性测试可能对测试造成人力、物力和财力的浪费,对测试员的熟练程度要求比较高。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件测试需要掌握哪些技术? 的相关文章

  • 详解C语言二级指针三种内存模型

    已剪辑自 https mp weixin qq com s EBoKOgoVFl751jPe QEAlg 整理 xff1a 李肖遥 二级指针相对于一级指针 xff0c 显得更难 xff0c 难在于指针和数组的混合 xff0c 定义不同类型的
  • 软件架构设计与需求分析方法论

    文章目录 1 软件架构体系1 1 系统与子系统1 2 模块 组件 服务1 3 软件架构体系 2 架构原则2 1 解耦2 2 分层2 3 封装 3 架构的方法3 1 业务架构3 2 功能架构3 3 系统架构3 4 技术架构3 5 数据架构3
  • 马斯洛人类需求五层次理论(Maslow‘s Hierarchy of Needs)

    已剪辑自 https wiki mbalib com wiki E9 A9 AC E6 96 AF E6 B4 9B E4 BA BA E7 B1 BB E9 9C 80 E6 B1 82 E4 BA 94 E5 B1 82 E6 AC A
  • 从需求收集到需求落地,需求分析如何才能更全面?

    从需求收集到需求落地 xff0c 需求分析如何才能更全面 xff1f 已剪辑自 http www moonpm com 503 html 一 什么是需求 心里学上定义 xff1a 需求是由个体在生理上或者心理上感到某种欠缺而力求获得满足的一
  • 什么是云原生?

    已剪辑自 https juejin cn post 6844904197859590151 伴随云计算的滚滚浪潮 xff0c 云原生 CloudNative 的概念应运而生 xff0c 云原生很火 xff0c 火得一塌糊涂 xff0c 都0
  • 三年!我完成了自己的一次蜕变

    已剪辑自 https mp weixin qq com s r9Qv4XkLQ 3QClOeb5f19g 大家好 xff0c 我是txp xff0c 今天分享一篇我个人的一个成长经历 xff01 希望对大家有帮助 xff0c 文字可能会稍微
  • 真正的模块化编程原来是这样的!

    已剪辑自 https mp weixin qq com s uo4tnsEnpULAruayZHcKAw 随着我们工程化经验的增加 xff0c 不知不觉的我们就会关心到这个问题 xff0c 模块化 xff0c 模块设计就显现出来 xff0c
  • 分享嵌入式软件调试方法和几个工具

    已剪辑自 https mp weixin qq com s dbYmBOISjd7tzniVT2l eg 我们常常说 xff0c 软件三分写七分调 实际开发中 xff0c 确实也是这样子的 我工作这几年了 xff0c 对这体会也越来越深 每
  • Ubuntu安装指定版本clang-format

    执行以下命令即可 xff1a wget O https apt llvm org llvm snapshot gpg key sudo apt key add sudo vim etc apt sources list 插入从https a
  • 一种简洁、可拓展的RTOS任务初始化设计

    已剪辑自 https mp weixin qq com s 9IN3AZsqnvgvYLukqvlEPQ 随着写代码功力的提升 xff0c 个人对于代码的整洁 优雅 可维护 易拓展等就有了一定的要求 xff0c 虽然自己曾经就属于那种全局变
  • 谁在滋养你,谁在消耗你

    我微信里有4000多个朋友 xff0c 或者准确来说应该是4000多个联系人 但其中只有极少数人的朋友圈给我留下非常深刻的印象 xff0c 这些人无疑是在滋养我 虽然人数我没有具体统计 xff0c 但是整体而言 xff0c 所占比例应该在1
  • 代码插桩技术

    百度百科 程序插桩 xff0c 最早是由J C Huang 教授提出的 xff0c 它是在保证被测程序原有逻辑完整性的基础上在程序中插入一些探针 xff08 又称为 探测仪 xff0c 本质上就是进行信息采集的代码段 xff0c 可以是赋值
  • 全数字仿真测试平台V-Sim TP

    已剪辑自 http www softtest cn show 37 html 全数字仿真测试平台V Sim TP 产品概述 V SimTP虚拟仿真测试平台是一套可对嵌入式系统进行虚拟仿真测试 快速原型验证的自动化测试平台 xff0c 适用于
  • 消息队列这么多,用哪个哟?

    已剪辑自 https mp weixin qq com s GJaZ00T2Ee5z3hF639XJnQ 提到消息队列 xff0c 大家一定不陌生 xff0c 无论是在校 面试还是工作 xff0c 我们涉及得都很多 有需求就有供应 xff0
  • 嵌入式软件分层隔离的典范

    已剪辑自 https mp weixin qq com s 9gVBZL0sTYIIcvQ bKn8gw 引言 xff1a 嵌入式软件开发分层 模块化是理想状态 xff0c 实际开发中因各种限制而有所取舍 xff0c 但这不妨碍学习参考优秀
  • 单片机ADC常见的几种滤波方法

    已剪辑自 https mp weixin qq com s ObtCPcxnBmpr3mR7NPkB7Q 如今传感器的种类越来越多 xff0c 数量也越来越多 xff0c 而这些传感器很多都会用到模拟量 xff0c 模拟量就离不开ADC 然
  • 浅谈民机软件适航宝典-DO-178

    已剪辑自 https mp weixin qq com s cyx9fSwpX35nDBkHqtO9lQ 序言 DO 178有一个不起眼的标题 机载系统和设备合格审定中的软件考虑 xff0c 但最好不要光看表面 实际上 xff0c 在业界中
  • 嵌入式状态机的几种骚操作

    已剪辑自 https mp weixin qq com s tulMJ7S7oOqV01J2E 9Xg 1 状态机基本术语 现态 xff1a 是指当前所处的状态 条件 xff1a 又称为 事件 xff0c 当一个条件被满足 xff0c 将会
  • 玩RTOS这么久,一问原子操作,蒙了~

    已剪辑自 https mp weixin qq com s kvxcOHT xHtMAjQqJu7Y2g 外链图片转存失败 源站可能有防盗链机制 建议将图片保存下来直接上传 img C3f9Rrei 1668695258073 https

随机推荐

  • 瑞利信道:从原理到实现

    瑞利信道模型 瑞利信道模型是无线通信信道最重要 最基础的的仿真模型 无线信道中的平坦衰落信道基本上都是在瑞利信道模型的基础上修改而成 xff0c 比如应用同样广泛的莱斯信道就可以通过在瑞利信道的基础上简单的添加直流分量实现 xff0c 而频
  • 分享一个通用的嵌入式驱动层

    https mp weixin qq com s bzPg5SremHDeIiguzvUVFA
  • 这次把怎么做好一个PPT讲清-总体篇

    文章目录 一 背景二 图表化 图示化三 关键词设计四 版式层级五 逻辑关系图 1 xff09 常用逻辑 2 xff09 如何让逻辑关系图好看 六 对齐 分组和对比 对齐 分组 分组就是将同类得信息放在一起 xff0c 靠的更近一点 那么 x
  • 这次把怎么做好一个PPT讲清-画图篇

    文章目录 概述布尔运算PPT幻灯片中如何设置形状对象格式每一个图形既是一个形状 xff0c 又是一个文本框 如何用PPT来实现三维3D效果 xff0c 附参数设置详解怎么用ppt画三维立体图 PPT做3D可动样机 PPT做3D 动态图标 P
  • 这次把怎么做好一个PPT讲清-其他技巧篇

    文章目录 如何统一批量设置PPT的中文字体和英文字体ppt如何插入页码和时间工具 原料插入页码和时间的步骤 xff1a 注意事项 在Powerpoint幻灯片里显示总页数在Powerpoint 2010中添加幻灯片编号在Powerpoint
  • 这次把怎么做好一个PPT讲清-审美篇

    要提高审美 xff0c 主要是靠不断的看优秀的作品来知道什么是美的 xff0c 这个短时间很难速成 xff0c 只能靠不断的积累 如何做出具有高级感的PPT xff1f 已剪辑自 https zhuanlan zhihu com p 386
  • 这样做时间轴,让你的PPT更出彩!

    文章目录 方法一 xff1a 美化时间节点 方法二 xff1a 利用图片中的 轴 方法三 xff1a 时间轴不一定需要 轴 方法四 xff1a 把时间轴拆成数页 总结 已剪辑自 https zhuanlan zhihu com p 5667
  • PPT文字很多的排版,PPT图片很多的排版,PPT图文排版

    文章目录 专业设计师是如何把一个word变成PPT的 xff1f 搭建 骨架 xff0c 填充 血肉 内页的排版 对页面的可视化处理 PPT文字巨多 xff01 领导还不让删 xff0c 怎么排版才高大上 xff1f 排版技巧一 xff1a
  • PPT目录页怎么设计才高大上?告诉你一个万能排版法!

    已剪辑自 https zhuanlan zhihu com p 64526891 嗨 xff0c 各位木友们好呀 xff0c 我是小木 帅的人都知道 xff0c 一个完整的PPT xff0c 一般应该要有 封面 43 目录 43 过渡页 4
  • 这样做框架结构图,让你的PPT更有创意!

    已剪辑自 https zhuanlan zhihu com p 58834710 嗨 xff0c 各位木友们好呀 xff0c 我是小木 昨天 xff0c 有个跟我一样鸟人的鸟人让我帮忙做个框架结构图 xff1a 可惜当时我不在办公室 xff
  • 如何画架构图?

    平时做过一些系统设计 xff0c 也写过一些系统分析文章 xff0c 从组件 关系 交互等方面提供一些建议 xff0c 并用我之前写文章画的一些图举些例子 构成系统的组件通过形状 颜色 名称来逼近其概念 LevelDB 主要构件如上面 Le
  • 主定理的证明及应用举例

    主定理 主定理最早出现在 算法导论 中 xff0c 提供了分治方法带来的递归表达式的渐近复杂度分析 规模为n的问题通过分治 xff0c 得到a个规模为n b的问题 xff0c 每次递归带来的额外计算为c n d T n lt 61 aT n
  • 程序员怎样才能写出一篇好的博客或者技术文章?

    文章目录 来分享下鹅厂多位技术同学关于如何写好技术文章的经验 1 为什么要写文章 1 1 对作者的好处 1 1 1 复盘学习成果 xff0c 巩固知识理解 1 1 2 提升思考能力 1 1 3 传播技术知识 xff0c 积累技术资产 1 1
  • 数字孪生技术有没有真正的实用价值?

    作为一个数字孪生领域的技术公司负责人 xff0c 我尽可能用比较直白的话来描述一下我对数字孪生行业以及数字孪生价值的理解 纵观数字孪生相关的公司 xff0c 主要有两个流派 xff0c 一派是具有互联网基因的数字孪生创业公司 xff0c 一
  • 你在编程过程中养成了哪些好习惯?

    写工作日志 我一直有大量写笔记的习惯 编程的时候 xff0c 也经常遇到一些麻烦的问题 xff0c 思路转瞬即逝 xff0c 于是把所有这些思路记录下来 xff0c 会在以后的搜索中成为重要的灵感来源 我的工作日志里通常以项目为单位 xff
  • 如何让 PPT 中的表格更美观?

    这个不难 xff0c 不信你看 做PPT表格 xff0c 千万不要直接把Excel截个图粘贴到PPT里 或者网上找到相应的表格图片 xff0c 也直接粘贴到PPT中 这样做的PPT表格肯定不好看呀 今天和大家分享几个表格美化的小技巧 xff
  • 这次把怎么做好一个PPT讲清-演讲篇

    商务演讲与汇报 一 目标 xff1a 演讲必须有清晰的目标 演讲 xff1a 影响他人发生积极的 改变 注意 xff0c 目标就要设定的影响听众在听完你的演讲后发生积极的改变 xff1b 例 xff1a 5月初向领导做月度工作汇报 让领导在
  • 这次把怎么做好一个PPT讲清-动画篇

    干货预警 xff01 作为一位PPT发烧友看过诸多PPT案例 xff0c 分享几个高大上的动画效果 文末有福利 xff01 废话不多说 xff0c 直接上重点 xff0c 本文主要讲八个动画技巧 xff0c 我们来看先目录 xff1a 收藏
  • 重新认知发明,全网保姆级入门说明

    已剪辑自 https mp weixin qq com s IDQXYXpWQlaW1NyX36H2vQ 关注 林外的日课 公众号 xff1a 每日思考 xff0c 每周更新 发明 xff0c 是指对产品 方法或者其改进所提出的新的技术方案
  • 软件测试需要掌握哪些技术?

    文章目录 1 黑盒测试 白盒测试 灰盒测试1 1 黑盒测试1 2 白盒测试1 3 灰盒测试 2 自顶向下集成和自底向上集成各自的优缺点 2 1 自顶向下集成2 2 自底向上集成 3 按照开发阶段划分 xff0c 软件测试可以分为哪几个流程