Google软件测试之道

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

Google软件测试之道

质量和测试的关系

书中的观点是:

  • 质量不是被测试出来的,如果在最开始设计的时候就是错的,那它永远不会变成正确。

  • 质量不等于测试。当你把开发过 程和测试放到一起,就像在搅拌机里 混合搅拌那样,直到不能区分彼此的 时候,你就得到了质量。

我的看法:

  • 狭义的测试指的是今天国内普遍认为的,由专职的QA针对软件功能进行测试。

  • 广义的测试指的是从代码编写开始,每一次代码被执行的过程,这里包括单测,自动化测试,集成测试,端到端测试,产品走查,上线之后的用户使用等流程。

  • QA永远只能在有限的条件下执行部分代码,而且随着软件越来越庞大,端到端测试能模拟的情况也会更加苛刻,端到端测试能覆盖的情况会更少,能预防出问题的概率也就更有限。

  • 随着软件复杂度的提升,QA所能看到的往往只是冰山一角,不了解冰山下的原理而执行的端到端测试,是成本高且效率低的做法,很难有打蛇打七寸的效果。

  • 要想从根本上提升软件质量,深入到冰山里面,在理解软件到底在做什么的条件下进行测试才能提高质量。这大概就是google把大量的测试工作交给研发人员,而收到较好的产品质量的根本原因吧。

  • 在对产品上线速度有极致追求的情况下,人为的测试

角色

SWE(Software Engineer)

软件开发工程师,增加功能、提高性能

SET(Software Engineer in Test)

软件测试开发工程师,也是开发角色,重心在可测性测试和通用测试基础框架上。

  • 更关注质量提升和测试覆盖度的增加。

  • 写代码的目的是可以让SWE测试自己的功能。

  • SET针对各个模块的依赖提供了mock或fake的实现。

TE(Test Engineer)

测试工程师,承担着产品专家、质量顾问、风险分析师的角色。

  • 把用户放在第一位思考

  • 组织整体质量实践、分析解释测试运行结果,驱动测试执行,构建端到端的自动化测试

  • TE运行许多测试的同时,也负责和其他团队的TE、合同工编制的测试人员、以众包形式参与的测试者、内部尝鲜者、beta测试者以及早期用户进行合作交流,与各方讨论基本设计带来的风险、功能逻辑复杂性和错误避免的方法。

SWE负责功能的实现和这些独立功能的质量。SET让开发者可以很容易的编写测试代码, 从而达到独立功能模块的质量要求。TE则是专注于用户角度的测试,验证可执行的代码 与数据集成之后,是否可以满足最终用户的需求。

我的看法

  • 从Software Engineer In Test角色的设置看,google很重视自动化测试。其并不否认模块测试和端到端测试,但希望能把这些测试尽可能的自动化,以提升测试效率,尽可能的发现问题。

  • 需要注意的是,Software Engineer In Test不是写自动化测试,而是写自动化测试工具,测试还是SWE自己写,只有SWE最清楚自己的代码到底是怎么运行的。

  • TE有点像我们的QA,但又差别巨大

测试认证计划

测试认证是:如果一个团队完成了一系列的测试任务,这个团队会得到一个通过“认证”的标识。所有团队最初的级别都是 0。如果掌握了基本的优秀代码习惯,就达到级别1,然后继续通过水平考核,最终达到级别5,与外部的能力成熟度模型一样,例如CMM能力成熟度模型(译注:http://www.sei.cmu.edu/cmmi/start/faq/related-faq.cfm)

我的看法

具体的认证计划当然也很有意义,但更让我感兴趣的是,这么一个全公司范围内的制度,是如何一步步落地的。

从书中描述的认证计划创始人的访谈中,我们能窥探一二。首先这个制度不是一个从上到下强制执行的政策,也就是说,测试团队不是找到公司的CEO,CTO这类高级管理人员沟通,说我们有个好东西,推行下去吧。这样容易导致几个问题

  1. 高层很容易因为不了解下面的具体情况而误判,执行了一个不适合团队的政策。

  2. 执行团队很少有反馈的机会,毕竟这可是大老板排班决定的。

  3. 一个没有和具体情况结合,缺少反馈的制度,通常缺乏生命力。执行者可能是抱着完成任务的心态去执行,能希望这样的态度有什么好的结果呢?

反观书上落地的路径,这样一个制度就像是一个产品,我相信创始人可定得到了上层的授意,不然不太容易拉通公司多个部门的资源。(可能我想的也不对),创始人先找了一些种子用户——既具体指定团队,和他们充分沟通,不断调整获得反馈,在反对的声音中也在让产品使用用户需求,然后由种子用户扩散出去,逐渐形成全公司范围内的标准。文章来源地址https://www.toymoban.com/news/detail-431535.html

到了这里,关于Google软件测试之道的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【软件测试】浅了解什么是软件测试及开发测试模型

    目录 1.什么是软件测试? 2.什么是需求? 3.什么是测试用例 4.什么是软件错误(bug)? 5.开发模型和测试模型 5.1软件的生命周期 5.2瀑布模型 5.3螺旋模型 5.4软件测试V模型 5.5软件测试w模型 6.软件测试的生命周期 7.bug的生命周期 最常见的理解是:软件测试就是找 BUG ,发现缺陷

    2023年04月19日
    浏览(87)
  • [软件测试] 01 软件测试基础概念 习题

    软件测试期末复习系列 课件知识点整合 : 软件测试基础 白盒测试 黑盒测试 PTA习题汇总 : 软件测试基础 白盒测试-逻辑覆盖测试 白盒测试-基本路径测试 白盒测试-静态测试 黑盒测试-等价类划分 黑盒测试-边界值测试 黑盒测试-场景法 提示 : 篇幅较长,可以使用 Ctrl+F ,在

    2024年02月04日
    浏览(49)
  • 软件测试/测试开发丨ChatGPT在软件测试领域的应用

    随着互联网技术的迅速发展,软件已经成为现代社会中不可或缺的一部分。而软件测试作为保障软件质量的关键环节,也越来越受到人们的关注。在这个领域,ChatGPT作为一种新型的人工智能技术,正逐渐应用于软件测试领域,为软件测试带来了诸多创新和改进。 在软件测试

    2024年02月14日
    浏览(63)
  • [软件测试] 第一部分 软件测试基础

    软件测试期末复习系列 课件知识点整合 : 软件测试基础 白盒测试 黑盒测试 PTA习题汇总 : 软件测试基础 白盒测试-逻辑覆盖测试 白盒测试-基本路径测试 白盒测试-静态测试 黑盒测试-等价类划分 黑盒测试-边界值测试 黑盒测试-场景法 软件危机 :软件危机是指落后的软件生

    2024年02月04日
    浏览(65)
  • 【软件测试】软件测试的基本概念和开发模型

    在进行软件测试的学习之前,我们要了解软件测试一些基本概念. 这些基本概念将帮助我们更加明确工作的目标以及软件测试到底要做什么. 软件测试的基本概念有3个,分别是 需求,测试用例和BUG. 这里的需求还可以分为 用户需求和软件需求 ,用户需求: 简单理解为甲方提出的需求

    2023年04月15日
    浏览(123)
  • 【软件测试】测试经验:IT 软件测试技术系统化学习方法

    目录 一、IT 软件测试技术的介绍 (1)相关职称证书 ① 「中级」软件评测师 ②「高级」项目管理师 (2)背景 (3)作用  (4)行业应用  (5)技术概况  二、系统化学习的前置准备 (1)学习目标 (2)学习计划  (3)学习工具 (4)学习资料 三、系统化学习软件测试技

    2024年02月11日
    浏览(56)
  • 软件测试人员必备的60个测试工具清单!_软件测试配置清单

    7、Gatling 前两种是比较常用的 4.C/S自动化工具 1,qtp (录制回放和脚本编辑),用到的是vb语言 2,winrunner IBM产品类似qtp 3,autoit 在窗口定位上做到很不错 5.白盒测试工具 1,jtest java语言的单元测试框架 2,JUnit 验证java的工具 3,cppunit 跨平台的c++单元测试框架 4,gtest 跨平台的

    2024年04月28日
    浏览(55)
  • 软件测试之【单元测试、系统测试、集成测试】

    目录 一、单元测试的概念 二、单元测试的目的 三、单元的常见错误 四、如何进行单元测试 五、单元测试策略 六、系统测试的概念 七、系统测试的环境 八、系统测试的类型 九、系统测试的过程 十、集成测试概念 十一、集成测试的目的 十二、集成测试关注的重点 十三、集

    2023年04月08日
    浏览(49)
  • 分享 | 软件测试的基本流程是什么?软件测试流程详细介绍

    软件测试和软件开发一样,是一个比较复杂的工作过程,如果无章法可循,随意进行测试势必会造成测试工作的混乱。为了使测试工作标准化、规范化,并且快速、高效、高质量地完成测试工作,需要制订完整且具体的测试流程。 不同类型的软件产品测试的方式和重点不一样

    2024年02月05日
    浏览(50)
  • 【软件工程】软件测试

    软件=程序+文档 测试对象:各个阶段产生的源程序和文档。 基于不同的立场,对软件测试的目的存在着两种完全对立的观点。 (1)一种观点是通过测试暴露出软件中所包含的故障和缺陷(从用户的角度); (2)另一种是希望测试成为表明软件产品中不存在错误的过程,验证该

    2024年02月13日
    浏览(60)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包