2021全网最全测试流程体系【建议收藏】

绝地灬酷狼 2022-09-04 06:41 460阅读 0赞

目录

一、软件测试

二、软件测试模型

三、软件测试工作流程

四、测试左移和测试右移


一、软件测试

  • 通过手工或者工具对“被测对象”进行测试
  • 验证实际结果与预期结果之间是否存在差异

1、软件测试作用

  • 通过测试工作可以发现并修复软件当中存在的缺陷,从而提高用户对产品的使用信心。
  • 测试可以降低同类型产品开发遇到问题的风险。

2、软件缺陷

  • 软件缺陷被测试工程师和开发工程师们称作bug
  • 软件缺陷会导致软件不能正常运行,它的存在会在一定程度上导致软件不能满足用户的需求,甚至有可能破坏或泄漏用户的重要数据

3、软件测试原则

  • 测试显示缺陷的存在
  • 穷尽测试是不可能的
  • 测试尽早介入
  • 缺陷集群性(2/8原则):一个模块发现了bug,说明这个模块还会有更多的bug。80%的bug集中在20%的模块中。
  • 杀虫剂悖论:一个测试用例不能拿来执行多次,软件也会对其产生免疫效果。
  • 测试活动依赖于测试内容:测试活动要与程序运行的环境可能存在的风险要相关联,没有两个系统可以使用相同的方法进行测试。不同系统的测试重点不一样。
  • 没有错误是好,这个观点是谬论:任何软件都不可能是完美的,没有发现错误,不代表软件没有错误。

4、软件测试对象

  • 需求分析阶段:需求文档、接口文档
  • 编码实现阶段:源代码
  • 系统功能使用:软件程序

5、测试用例

  • 为特定的目的而设计的一组测试输入、执行步骤和预期的结果,以便测试产品否满足某个特定需求的文档

二、软件测试模型

1、V模型

  • V模型是瀑布模型的一种改进
  • V模型标明了测试过程中的不同阶段

c2bab011aa4df6174af7cbf867c83ca6.png

image.png

  • 需求分析:需求文档
  • 概要设计:系统架构、模块划分、模块与模块之间的接口
  • 详细设计:模块内部实现的逻辑和方法
  • 编码:用代码实现设计的内容
  • 单元测试:测试代码中最小模块是否符合详细设计
  • 集成测试:测试各个模块组成到一起后是否可以正常使用
  • 系统测试:测试已经集成在一起的产品是否符合需求文档中的要求
  • 验收测试:测试产品是否符合用户的需求

V模型的优缺点

  • 优点

    • 既有底层测试又有高层测试。
    • 将开发阶段清楚的表现出来,便于控制开发的过程。
  • 缺点

    • 容易让人误解为测试是在开发完成之后的一个阶段。
    • 由于它的顺序性,当编码完成之后,正式进入测试时,这时发现的一些bug可能不容易找到其根源,并且代码修改起来很困难。
    • 如果需求变更较大,导致要重复变更需求、设计、编码、测试。返工量大。

2、W模型

  • W模型明确表示出了测试与开发的并行关系
  • W模型中测试伴随着整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试

9722e3c1087c3a52b58e12fd1a146a9a.png

image.png

W模型的优缺点

  • 优点

    • 将测试贯穿到整个软件的生命周期中,且除了代码要测试,需求、设计等都要测试。
    • 更早的介入到软件开发中,能尽早的发现缺陷进行修复。
    • 测试与开发独立起来,并与开发并行。
  • 缺点

    • 无法支持迭代的开发模型
    • 对有些项目,开发过程中根本没有文档产生,故W模型无法使用。
    • 对于需求和设计的测试技术要求很高,实践起来很困难。

H模型

  • 软件开发中需求、设计、编码等活动被分阶段执行、但是实践中,他们并不是完全串行的,它们之间更多时候是交叉进行的,更多的是迭代执行
  • 把测试活动完全独立出来,形成一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来

69f254fc3807632537487f2f340ffb6e.png

image.png

H模型的优缺点

  • 优点

    • 软件测试完全独立,贯穿整个生命周期,且与其他流程并发进行
    • 软件测试活动可以尽早准备、尽早执行,具有很强的灵活性
  • 缺点

    • 测试就绪点分析困难
    • 对于整个项目组的人员要求非常高

三、软件测试工作流程

1、传统测试流程

0b165a9f98debce349fd2c8359e28a35.png

image.png

2、系统测试流程

80b8d4fe7e2499a1d80d8d22e601c5fa.png

image.png

3、bug管理流程

9ae4012d299db1cc0d033bc099d18cea.png

image.png

四、测试左移和测试右移

1、测试左移

  • 左移是往测试之前的开发阶段移
  • 测试团队在软件开发周期早期就开始介入
  • 对代码进行测试
  • 从发现bug到预防bug

测试左移-质量保障手段

  • 代码评审(code review)
  • 代码审计
  • 单元测试
  • 自动化冒烟测试
  • 研发自测

2、测试右移

  • 右移是往发布之后移。
  • 产品上线后进行线上监控。

测试右移-线上监控

  • 闭环的线上问题反馈-检查-解决-更新流程
  • 更便捷的日志查看、回传服务
  • 丰富有效的log,便于问题的快速定位
  • 丰富的监控指标(例如业务异常点指标)
  • 业务监控(例如短信发送等)
  • 关键指标每日监控(服务器指标)
  • 生产数据监控(警报)

  • 最后如何是不知道怎么学习的话?这里附赠一份《测试学习进阶思维导图》和《测试全栈知识复习PDF》,需要的朋友可以在文末打包获取

干货精选

软件测试路上不可缺少的知识,也是我多年来总结的经验

1.前置基础知识:

  • 计算机基础
  • 测试理论
  • HTML基础
  • CSS基础
  • JS基础

10c061c52e3074ce86a4414fb8aee8f2.png

二,linux和数据库

  • linux
  • 数据库介绍
  • SQL语言(重点)
  • 数据库高级功能

941b4ec00ccec603b78e3fcd4c6bddd1.png

三,测试基础

  • 软件测试理论
  • 软件生命周期
  • 测试方法和分类
  • 测试用例设计
  • 缺陷管理
  • web项目实战
  • 测试管理工具

94dc0435edb5659e1158619c177f6d5f.png

四,编程+数据结构

  • Python基础
  • 面向对象
  • 异常处理
  • 模块和包

7d55d4615cf3e28e5be989921a724054.png

五,WEB自动化

  • WEB自动化入门
  • WEB自动化基础
  • WEB自动化中级
  • WEB自动化高级
  • 项目实战

9d8e7dd2ee6b00d14eaceb40269772c6.png

六,移动自动化

  • 移动自动化基础
  • 移动自动化中级
  • 移动自动化高级

f51f7e718ed230c52afffb0a6df51687.png

七,接口测试

  • 接口基础
  • postman实现接口测试
  • 数据库操作
  • 代码实现接口测试
  • 持续集成
  • 接口测试扩展

d6462c762166f276f7a4901209fe1e67.png

八,性能测试

  • 性能测试基础
  • 性能测试工具
  • 项目-接口性能测试
  • 项目-web性能测试
  • 性能测试调优

d0ae26915ee13e8cb07600159af132f9.png

九,综合项目实战

功能测试,ui自动化测试,接口测试,性能测试

1fead39c680ea6eabc5a5b5e4bfc8072.png

总结:

相信你如果掌握了上图上面所有的知识技能,并且能够灵活的运用的话,月薪20k以上并不会是什么问题

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzU4MDI2NTA2_size_16_color_FFFFFF_t_70

如果对你有一点点帮助,各位的「点赞」就是小编创作的最大动力,我们下篇文章见!

发表评论

表情:
评论列表 (有 0 条评论,460人围观)

还没有评论,来说两句吧...

相关阅读