摘要:测试策略形容了测试工程的总体办法和指标。形容目前在进行哪一阶段的测试以及每个阶段外在进行的测试品种(功能测试、性能测试、笼罩测试等)以及测试人力安顿等。
本文分享自华为云社区《浅谈麻利开发的测试策略》,作者:麻利江湖桃花岛梅师姐。
前言
随着麻利和 DevOps 的呈现,扭转了传统的软件开发模式,与此同时测试也面临着不小的挑战,在麻利开发模式下,短周期迭代交付模式意味着工夫变短,拥抱变动意味着变更频繁,用户故事形容需要的形式意味着文档变少,全功能团队中意味着专门的测试人员变少。基于这样的状况,如何让测试也变得麻利,做好测试工作呢?明天咱们就一起聊一下如何做好麻利开发的测试策略。
麻利开发测试策略
测试策略形容了测试工程的总体办法和指标。形容目前在进行哪一阶段的测试以及每个阶段外在进行的测试品种(功能测试、性能测试、笼罩测试等)以及测试人力安顿等。
咱们能够依照测试的目标、范畴、起止工夫、人员安顿、工具,即 5W1H 法来布局正当的测试策略。
- why:为什么要进行测试,测试的目标是什么?
- what: 测试的内容及范畴,测哪些,确定测试重点(RBT 基于需要的测试等)
- when:测试的起止工夫,思考影响工夫的因素
- where:相干文档的寄存地位、缺点的寄存、环境地质
- who:测试人员的安顿
- how:选用何种测试工具及办法进行测试
Why
依据麻利测试准则,测试的目标是用来预防缺点,帮忙团队构建最好的零碎。能够依据业务和我的项目的特点,设置一个测试的总体目标。
What
依据测试四象限,从业务和技术的角度、以及程序和产品的角度将测试内容进行类划分,如下图所示。
图 1 测试四象限
根据麻利的分层打算准则,测试测试也采纳不同级别的测试,能够参考 Epic-Feature-Story-Task 制订策略。上面能够作为制订策略的参考,业务和产品大多是不雷同的,能够依据本人业务和产品的特点进行调整。
麻利开发过程是由迭代组成的,Epic 是由若干个迭代实现,通常为集成测试和端到端的测试;Feature 通常若干迭代来实现,通常会进行个性测试、功能测试、UAT、场景测试;Story 通常在迭代内实现,通常进行功能测试、用户故事测试;Task 为迭代内的测试,通常进行单元测试、模块测试、代码品质测试。其中性能测试会笼罩到 Story、Feature 和 Epic 层级。
When
在传统的瀑布开发模式下,测试是一个阶段,程序编写实现后进入测试阶段,如下图所示。
图 2 瀑布开发模式
在麻利开发模式下,测试不只是一个阶段,而是一个流动,每个 Sprint 都有测试流动。每个迭代都会进行单元测试、代码品质测试、用户故事测试、个性和能力验收测试;从 Sprint2 开始都要进行一次 Sprint 级别的回归测试,以自动化测试的模式实现。累积了几个迭代之后,在公布前要进行端到端的集成测试。如下图所示。
图 3 Sprint 测试流动
Where
只管麻利开发中采纳轻文档的模式,但同样也要做好相干文档的治理。在测试初始要约定相干测试交付物的治理和寄存模式,包含不限于测试策略、测试工件、缺点、测试数据、虚构服务和自动化脚本等。通常会在项目管理工具中进行治理,和开发的工作项之间建设关联,这样便于后续进行追溯和查看。以华为云 DevCloud 为例,能够将文档上传到【Wiki】和【文档】中,而后在工作项中建设关联。
图 4 华为云 DevCloud 示例
Who
麻利开发中,测试流动为团队的独特工作,而不仅仅是测试人员。其中开发人员做好 TDD、单元测试和代码品质测试,同时因为接口测试波及到接口间的数据交换、传递和管制治理等外部逻辑的问题,也倡议由开发人员进行。测试人员包含迭代内的测试人员和跨迭代的技术人员。迭代内的测试人员次要负责迭代测试的设计和执行,包含探索性测试和 API、UI 测试自动化脚本的开发和执行,还有自动化的回归冒烟测试。跨迭代的测试人员更多专一在协调测试和制订自动化测试策略。
同时,测试人员为团队中的一员,不仅仅执行测试工作,还要参加测试计划、评估和工作安顿、回顾及任何其余团队流动。
How
为了可能更好的配合麻利开发的小步快跑、尽早交付的模式,测试就须要具备疾速测试和及早反馈的能力。在麻利办法紧迫工夫的框架下,自动化测试能力必不可少,这样能够极大的缓解测试的压力。依据 Mike Cohn 的测试金字塔,自动化测试的比例调配为 7:2:1,即单元测试占 70%,接口测试占 20%,UI 测试占 10%,这样实现分层自动化。在自动化的根底上还要进行手工的探索性测试。
图 5 测试金字塔
当初有很多的自动化工具可选,开源工具如 UI 层的 appium、Cucumber、Protractor,API 层的 POSTMAN、数据库层的 DbFit;商业工具如 UI 层的 IBM RFT、LeanFT, API 层的 SmartBear 等。
在自动化工具抉择上,要从理论状况登程状况,从老本估算、反对平台、反对语言、可测的利用、技术要求等多方面去思考。开源工具节省成本,商业工具老本高;在开源工具的抉择上也要联合团队成员的代码能力状况,开源也有技术难易之分;工具的后续反对水平也要思考进去,在应用的过程中不可避免的会遇到问题。
测试策略示例
一个产品通常是由若干个公布组成,如下图所示。
图 6 麻利开发
以一个公布周期为例,依照工夫线咱们看一下测试的安顿:
图 7 测试策略示例
在制订测试策略的时候,要留神安顿正当的测试节奏和周期,同时最好的测试,是全自动化的每天测试。
后记
下面给出了制订测试策略的 5W1H 能够作为参考,最重要的是要牢记测试的目标是为了预防缺点,帮忙团队构建最好的零碎,交付给客户有价值的产品。因而要把品质左移的测试策略作为最重要的项目管理核心理念之一贯通到整个软件生命周期的交付中,通过缺点预防将品质移向全生命周期的前端,通过制订基于危险的测试策略驱动,尽早发现重大缺点。
点击关注,第一工夫理解华为云陈腐技术~