20

软件质量保障实践合集

 3 years ago
source link: https://insights.thoughtworks.cn/quality-assurance-practice-collection/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

这一份软件质量保障实践合集是我们团队所采用的实践,全部来源于真实项目经历,都在我以往的文章中有介绍,这里是将它们重新整合浓缩到了几页PPT里边,并且对每个部分有详细的解释。

jyqq6vf.jpg!mobile

合集

浓缩的都是精华,这篇合集将带给你更全面的视角去理解软件质量保障,帮助你更好的在软件测试职业发展道路上拓宽视野,值得拥有!

01. 一页纸测试策略

y6rYBjN.jpg!mobile

一页纸测试策略

“会当凌绝顶,一览众山小”,只有站的高,才能看的远。要采取合适的测试实践来做好质量保障,对全面的测试策略的掌握是必不可少的。只有掌握了测试策略技能,才能跳出具体的实践细节,从更系统的角度去思考。

测试策略文档通常是篇幅较长、文字为主的形式,编写成本较高,并且写完了很少有人去看,形存实亡。一页纸测试策略以可视化的方式,将测试策略用图来表达,并且在一页纸上搞定,这样的策略图非常清晰,关键信息一目了然,并且提供更大的讨论空间,防止僵化,真正能够发挥策略的作用。

一页纸测试策略图包括三个部分:

  • 指导性原则:团队为质量负责。这是起码的要求,团队是一个整体,要求每个成员要一起为所交付软件的质量负责。
  • 测什么,通常有功能、性能、安全等。这是测试策略非常关键的部分,只有确定清楚了要测试的内容,才能采取对应的策略进行测试。如果不清楚要测试内容,就冒然开始投入进行测试,将很有可能事倍功半。
  • 怎么测,需要哪些具体的测试实践。这部分是策略里最难的,也是内容最多最复杂的,可以从三个维度去看:测试左移、测试右移、精益测试。其中精益测试不是一种测试方法,其核心是TAT——适时(Time)、适量(Amount)和精准(Target),测试四象限和测试分层的理论可以作为参考。

关于这部分内容的详细介绍,可以参考如下文章:

一页纸测试策略图解

一页纸测试策略

敏捷测试的指导性原则

说好的团队为质量负责呢?

精益测试

你还只知道测试金字塔?

微服务测试的思考与实践

ThoughtWorks的敏捷测试第二讲:敏捷测试的指导性原则

ThoughtWorks的敏捷测试第三讲:精益测试

02. 测试左移

jEfUF3E.jpg!mobile

测试左移

质量内建的核心是缺陷预防,而测试左移是质量内建的手段之一,其目的是为了更好的理解需求,理解业务价值,确保团队能够做正确的事情。

测试左移要求测试尽早介入,一般从需求分析开始。测试要以业务价值驱动,从用户行为、业务流程、业务影响和业务指标几个维度去测试。

为了更好的将业务价值体现在测试上,需要从业务目标出发,跟PO等业务人员进行尽量充分的沟通、同步测试策略和计划。

更多详情可参考如下文章:

敏捷测试的核心

业务价值驱动的测试

敏捷测试如何优化业务价值

ThoughtWorks的敏捷测试第一讲:敏捷测试的核心

03. 持续测试

rM32aib.jpg!mobile

持续测试

质量内建的另一个手段是持续测试。

持续测试一方面是在开发流程的每个环节通过不同的测试活动来实现,做到多环节的全面防御。

另一方面,持续测试是通过自动化测试,在持续集成流水线上做到持续的自动化验证,以获取快速反馈,及时发现问题。

更多内容可参考:

敏捷测试的核心

敏捷中的QA

ThoughtWorks的敏捷测试第一讲:敏捷测试的核心

04. 测试右移

qEvUZvU.jpg!mobile

测试右移

随着软件生态环境越来越复杂,测试环境已经无法有效的测试软件的不可预测行为,测试需要右移到生产环境,各种测试右移技术和实践应运而生。

测试右移,也叫生产环境下的QA,不是直接像测试环境测试那样去测试生产环境,而是采用不同的思路去收集和分析生产环境的数据,从而进一步优化开发和测试的流程。

测试右移分为三个维度:TMF

  • T esting:直接在生产环境进行测试,适用于个别服务或者某些可隔离操作。
  • M onitoring:监控预警,包括日志和用户行为数据的收集和分析。
  • F eedback gathering:用户反馈的收集,包括可被动收到的缺陷、抱怨,以及需要主动收集的建议等。

更多内容可参考如下文章:

生产环境下的QA

ThoughtWorks的敏捷测试第四讲:测试右移

05. 测试右移项目实践

EZRBNf.jpg!mobile

测试右移项目实践

这一部分重点介绍项目上用到的测试右移实践,分别是:Splunk日志收集和监控预警(M)、Google Analytics用户行为收集和分析(M)、蓝绿部署(T)、以及QA主导生产环境支持(F),分别对应测试右移的三个维度TMF。

  • Splunk日志收集与监控预警

利用强大的日志管理工具Splunk,对记录在各个服务器的日志数据进行统一管理,并提供方便的查询操作和可视化方案。在整个日志收集和分析过程中对日志规范和监控措施进行了多次优化,最终找到适合项目的实践方案;

  • Google Analytics数据收集与分析

GA数据可以有效的帮助我们去分析用户行为,从而让测试过程随之做相应的调整,以更贴合用户行为习惯的方式去测试,让测试更有效、更精益;

  • 蓝绿部署

蓝绿部署主要是用来解决很多问题要在真实生产环境才会暴露的情况,没法直接在生产环境进行测试,采用两套环境切换的方式可以测试到更真实的情况;

  • QA主导生产环境支持

这一实践很重要,因为QA有着独特的优势,是唯一一个同时最了解业务和系统的角色,与Ops通力合作,能够让生产环境支持更加高效和有效。

这些实践在项目上都不是一蹴而就的,都是经过迭代和演进,不断优化才得到的结果。

更多详细内容可以参考如下文章:

生产环境下的QA

QA与Ops通力合作打造反脆弱的软件

ThoughtWorks的敏捷测试第四讲:测试右移

06. 缺陷分析

a26Jvi.jpg!mobile

缺陷分析

前面提到的QA主导生产环境支持实践里边还有一个非常重要的就是对生产环境缺陷的有效分析。

图示为采用“5 whys”分析法对缺陷进行分析,主要步骤有:

  1. 分析根因
  2. 定位阶段
  3. 预防改进措施
  4. 不断迭代,通过缺陷分析优化开发和测试流程,助力缺陷预防,让生产环境和开发过程更好的形成良性环路。

关于缺陷分析,特别要强调注意的一点是最终不要归因于人,要从客观情况去找出可以改进的点,一旦归因于人将会不了了之,得不到​解决。​

更多内容请参考文章:

缺陷分析如何帮助质量内建

软件缺陷的有效管理

07. 目标驱动的演进式测试策略

EFZVBnM.jpg!mobile

演进式测试策略

测试策略受影响的因素非常多,制定测试策略必须考虑当前项目的各种因素;而项目每个阶段的质量目标等影响因素也会有变化,测试策略还需要是演进式的,图示为一项目的自动化测试演进过程。

总结说来,测试策略需要以目标驱动,并且有相应的度量措施,实施度量并采取相应的改进举措,不断优化和演进测试策略。

关于度量,不是为了评估过去,而是为了将来的改进和提高。图中提供了一个敏捷测试成熟度模型,可以参考用来评估目前测试的成熟度情况,并找出相应的改进方向。

更多详情请参考文章:

一页纸测试策略

微服务测试的思考与实践

精益测试

系统级集成测试的断舍离

敏捷测试成熟度评估

点击这里下载质量保障合集PDF


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK