软件质量保障关键实践集
本文首发于「BY林子」,转载请参考版权声明。 这一份软件质量保障实践合集是我们团队所采用的实践,全部来源于真实项目经历,将它们整合浓缩到了几页PPT里边,并且对每个部分有详细的解释。 浓缩的都是精华,这篇合集将带给你更全面的视角去理解软件质量保障,帮助你更好的在软件测试职业发展道路上拓宽视野,值得拥有! 01. 一页纸测试策略 “会当凌绝顶,一览众山小”,只有站的高,才能看的远。要采取合适的测试实践来做好质量保障,对全面的测试策略的掌握是必不可少的。只有掌握了测试策略技能,才能跳出具体的实践细节,从更系统的角度去思考。 测试策略文档通常是篇幅较长、文字为主的形式,编写成本较高,并且写完了很少有人去看,形存实亡。一页纸测试策略以可视化的方式,将测试策略用图来表达,并且在一页纸上搞定,这样的策略图非常清晰,关键信息一目了然,并且提供更大的讨论空间,防止僵化,真正能够发挥策略的作用。 一页纸测试策略图包括三个部分: 指导性原则:团队为质量负责。这是起码的要求,团队是一个整体,要求每个成员要一起为所交付软件的质量负责。 测什么,通常有功能、性能、安全等。这是测试策略非常关键的部分,只...
测试金字塔不是银弹
写在前面 测试金字塔曾经神一样的存在,很多人认为制定测试策略知道测试金字塔就够了。 真的是这样吗?今天,利用这篇短文跟大家聊聊测试金字塔。 如果你恰好知道测试金字塔,也把它奉为测试策略的指导方针,那么这篇文章正好适合你。 如果你还不了解测试金字塔,但是很关注质量和测试,那么不管你是什么角色,这篇文章也适合你。 Most people know about the the Test Pyramid due to Mike Cohn, when he described it in his 2009 book Succeeding with Agile. In the book he refers to it as the “Test Automation Pyramid”, but in use it\‘s generally referred to as just the “test pyramid”. He originally drew it in conversation with Lisa Crispin in 2003-4 and described it at a...
警惕团队“蘑菇种植”
本文首发于个人网站「BY林子」,转载请参考版权声明。 艾森.拉塞尔在《麦肯锡方法》一书中两次提到著名的“蘑菇种植法”:在黑暗的环境下,不断地施肥,然后看看出现了什么。他强调信息需要在团队内流动起来,以提高团队士气,而蘑菇法是阻止这样做的反例。 在团队里,尤其是规模较大的团队,有意无意的蘑菇法总是会出现,下面一起看几个案例。 案例1:未知的高优先级 “张哥,咱们的技术改进这周可以实施了吧?” “啊?老王给了我优先级更高的事情在做,你们那个先不做了,没人跟你说吗?” “什么?为什么优先级变动没有人提前告诉我?!”小李不能理解,非常沮丧。 某资深员工小李,正在推动一个技术改进。这个技术改进从开始提出,就有不同的反对声音,他一个个解释澄清,获得了大家的认可,PM老王也是点头同意了的。小李组织几个同事把该准备的内容都按部就班的准备起来了,等到最后时刻去找Ops同事张哥实施的时候,才知道自己一直在推动的事情被默默的停掉了。 此事让小李感觉非常不爽,从此他对项目上的事情不再那么热情。 有更高优先级这件事情是可以理解的,项目团队的优先级列表一定是不断变化的,而项目的优先级变动有必要分享给团...
精益测试
本文首发于个人网站「BY林子」,转载请参考版权声明。 你们的测试开发比是多少?测试全阶段参与,怎么可能忙的过来? 全阶段都在测,那么都需要哪些测试才能保证质量呢? 自动化测试覆盖率要求达到99%,包括功能、性能,甚至还有易用性…… 前面的第一个和第二个问题经常被人问到,是大家比较关心的问题,而第三个是某项目的真实要求。分别是关于测试人员如何测试、测试活动如何开展、测试覆盖率该是多少的问题,都跟接下来要讲的精益测试有关。 01. 精益生产在介绍精益测试之前,我们先了解精益生产的概念。 精益生产从维基百科可以看到对于“精益生产”的解释:精益生产主要来源于丰田生产方式(TPS)的生产哲学,因此也称为丰田主义 (Toyotism),一直到1990年间才称为精益生产。精益生产的目标是控制库存量,减少生产过程中的浪费,其核心是“Just in time”,旨在需要的时候,按需要的量,生产所需的产品,也就是用最少工作,创造价值。 02. 精益测试敏捷测试要求的测试左移、全程测试,其目的也是为了快速反馈、降低成本,以交付高质量的软件。如果把精益的概念引入敏捷测试,将有助于减少测试过程中的...
敏捷测试宣言 Agile Testing Manifesto
本文首发于「BY林子」,转载请参考版权声明。 【中文版Chinese Version】NOTE: The English version of Agile Testing Manifesto can be found after this Chinese version. 根据多年在Thoughtworks敏捷团队的敏捷测试相关经验,我们几位资深QA同事一起讨论出敏捷测试宣言和原则,本文与大家详细解读。 敏捷测试宣言 解读敏捷测试宣言表达的是我们对于敏捷测试的信仰和价值观,分别包括流程、团队合作、自动化和核心价值观四个维度。 在以往软件发布周期较长、需求变化频率较低、不同角色间的合作壁垒较高的环境下,传统的开发模式所采用的孤立的测试阶段、测试人员独立把关质量、回归式的全量自动化测试和质量检测,是有其价值的。但是,在敏捷开发模式下,敏捷测试则更强调左侧的价值观。 全程的测试介入敏捷测试提倡测试左移和右移,从软件生命周期的早期(左侧)一直到产品发布上线后的生产环境,都需要有测试的介入和测试活动的开展。 左移是为了更好的理解和澄清需求,以减少需求理解不一致导致的浪费;而右移是充分利用...
敏捷测试的指导性原则
本文首发于个人网站「BY林子」,转载请参考版权声明。 “这么多问题,你们是怎么测的?” 这是我们测试人员听到的最多的质问,也是传统的测试人员对质量把关的常见认识。 但是,事实上,就像著名质量管理专家戴明指出的那样:软件的质量不是测出来的,测试人员没法控制软件质量的好坏。尤其是在敏捷开发模式下,特别强调的核心是质量内建,而要做好质量内建,需要团队全员的参与,需要团队整体对质量负责,这是敏捷测试的指导性原则,我们在敏捷测试宣言里也有强调。 01. 团队整体对质量负责有多难团队整体对质量负责,这是个说起来容易做起来难的事情,很少有团队能够做的特别好。 那么,为什么这么难呢? 在我看来,多半情况是因为不是团队所有成员都清楚质量到底是什么,没有明确的质量目标,所以也就没法很好的对质量负责,要实现团队整体对质量负责,首先得搞清楚下面三个问题: 敏捷里的质量是什么? 通常容易忽视的质量有哪些? 团队不同角色怎么为质量负责? 关于这部分内容,在《说好的团队为质量负责呢》一文里有详细的分享,感兴趣的同学请移步阅读。 下面将继续分享相关的两个话题:敏捷团队是否需要专职QA、能够整体对质量...
业务价值驱动的测试
本文首发于「BY林子」,转载请参考版权声明。 在《敏捷测试如何优化业务价值》一文中分享过测试人员对于如何优化业务价值的几个思考维度: 从终端用户角度进行测试 以业务为重点的测试 映射业务影响 关联业务指标 接下来,将跟大家分享业务价值驱动型的测试及其相关落地实践。 01. 业务价值驱动的测试跟传统测试的对比业务价值驱动的测试和传统测试在以下几个维度的关注点都有不同:需求的关注、计划与执行、应对缺陷、测试人员角度、目标、生产力、指标的关注、有效性,详细对比如下表。 从表中可以看到: 业务价值驱动型测试要关注业务的需求,而不仅仅是功能需求; 业务价值驱动型测试以追求快速高质量的交付价值为目标,单纯的测试覆盖率和缺陷数量不再是考核的因素。 业务价值驱动型测试不是不关注缺陷,要以预防缺陷为主,正确跟踪缺陷并进行深入分析是帮助缺陷预防的必要的手段。 业务价值驱动型测试不再简单的根据数量来考核生产力,可以从多个维度评估测试的成熟度,以驱动出持续改进的方案。这个可以参考我的文章《聚焦测试,驱动卓越》 02. 如何阐明业务价值业务价值可能比较抽象,似乎不是那么好理解,况且要跟具体的测...
敏捷测试的核心
本文首发于「BY林子」,转载请参考版权声明。 Q:质量内建跟敏捷测试的关系是什么?能分开吗? A:我认为质量内建是敏捷测试的核心。 01. 传统测试敏捷测试是相对于传统测试而言的,在聊敏捷测试之前,我们先看传统测试是什么样的。传统测试通常有如下的特点: 独立的测试部门:测试人员跟开发人员不属于同一个部门,各自独立。 测试工作主要由测试人员承担:功能与非功能测试,手动与自动化测试,冒烟测试、回归测试、发布测试等,基本都是测试人员的事情。 详尽的测试用例文档:测试用例文档一般都要求详细的执行步骤。 集中的回归测试:有独立的集中回归测试阶段,对所有功能进行全面的测试覆盖。 发现更多的bug:测试人员的目的是发现更多的bug,甚至有些部门会把bug数量作为绩效考核的目标。 02. 敏捷测试敏捷测试是伴随着敏捷开发过程的所有质量相关活动,有着如下的特点: 不能独立存在,不是一种测试类型或方法 敏捷测试不仅是测试人员的工作,敏捷测试是团队的活动 抛开敏捷开发谈敏捷测试没有意义 敏捷测试的目标也不再是发现更多的bug,而是尽快的交付高质量的软件。 那么软件的高质量怎么获得呢?著名...
软件测试人员的职业发展之路
本文首发于「BY林子」,转载请参考版权声明。 在《关于软件质量,大家都在关注什么》一文中,我们了解到软件测试领域新的关键趋势主要体现在以下几个方面: AI的发展与软件测试 敏捷与DevOps 自动化测试 环境和数据 成本与效能 













