《精通自动化测试框架设计》—第1章 1.3节五天太久,还能压缩吗

1.3 五天太久,还能压缩吗
两年以后,投入巨资,耗时两年的一个特性发布终于RTM了。测试组织也适时提出了BCO发布可否从5天压缩到4天这样的挑战,最终的目标是配合集成团队实现每周两次的组织级构建,这是一个典型的持续改进的需求。通过在该特性发布上积累的数据,可以对其进行回顾,评价一下团队的表现,发现问题,进而明确改进的方向。

1.3.1 BCO版本发布用时分布
这是大家首先想到的需要分析的数据。如图1.3所示,在该特性发布的100多个Build中,有70%是在5天以内完成的。可以轻轻松松完成的Build极其少见,只有5%的Build在两天之内被搞定。

完成时间在4~6天所占比例总共有77%。当然,这个统计的背景就是平均每周这个团队工作在3个不同的发布上。

一开始团队的讨论和关注的焦点还是那些问题频出、超时严重的Build。这个统计结果出来以后,几乎所有人都同意。如果要去挑战或者实现4天的发布周期,最直接的方式就是将4、5、6天的数据向左平移1天。这说明需要重点关注和分析的是正常发布过程中是否还有可以改善的地方。
通过查看发布时间为4~6天的Build列表中每个Build的缺陷数,发现大量(大于20)的Build存在类似的问题。虽然缺陷数目较少(3个以下),但是,发布时间都在4~6天。这为后续进行的根因分析给出了有效的问题切入点。

1.3.2 缺陷压力测试
接下来出场的是版本发布用时与缺陷的关系。首先,根据图1.3所示的统计,平均的BCO版本用时是5.2天。图1.4所示的统计结果也显示,平均每个版本上有6.1个缺陷,而没有缺陷的版本数则占了大概5%,这和图1.3所示中两天内发布版本所占的百分比是相对应的。

如果把缺陷数量当作一个压力测试,那么第一个阈值出现在7个缺陷这个节点。在此之前,团队可以完全在5.2天之内完成一个版本的BCO发布。随着缺陷数的继续增加,团队承受的压力也越来越大,但是,也还是在相对可控的范围之内。一旦达到14个以上,整个平均发布的时间就有一个大幅的跃升,基本上就达到了发布时间不可控、版本质量崩溃的情况。

当然,这不是故事的全部。BCO是整个组织的“哨兵”,那有没有谁可以来做BCO的“哨兵”呢?而不是在高压下埋头工作5天,然后挣扎3天搞定一个Build或者最后不得不丢弃它。这样的结果既影响了整个组织的进度,也降低了团队的士气。

于是,就有人去统计安装缺陷的情况,结果非常让人吃惊。首先,有超过70%的版本是无法一次安装成功的。而安装缺陷对于BCO发布的影响是巨大的,因为它在测试推进的主干线路上。只要安装缺陷数超过 1 个,这个版本就会 100%出现延期。而如果数字增加到5和6,两条高耸的数据线就出现了。这和全部缺陷统计时的14、15天时间发布上的情形是类似的。感谢安装团队,没有出现更多的缺陷。看到图1.4有的团队成员直接就提出,以后超过5个安装缺陷,直接将版本丢弃。
图 1.3 和图 1.4 只是一个举例,其他如针对缺陷/模块分布的帕累托图分析等方法也是非常有意义的。通过这样的一个过程,整个团队基本统一了思路,明确了后续需要改进的地方。然后有针对性地进行改进,如更好地沟通、及时地排错、预防性在构建过程中增加安装步骤等。有意思的是,作为一个工作基本自动化的团队,所选定的流程改进的对象并没有太多关于自动化工具的,更多的问题点在于流程、沟通等有关人的问题上。工具或许能有效优化或者解决一些问题,不过在进行根因分析或者持续改进时,请更多地考虑产生问题或者改进问题的外部因素,也就是跨团队与跨部门的沟通问题,以及技术对于业务支持的可能性。这些都与软件工程师日常最为熟悉的软件、工具或者代码没有直接的联系,但是,这又是整个组织良好运作的基础。无论你是否意识到,整个公司并不是围绕着代码或者测试用例进行运作的,业务才是商业世界的主宰。

时间: 2024-09-25 12:27:13

《精通自动化测试框架设计》—第1章 1.3节五天太久,还能压缩吗的相关文章

《精通自动化测试框架设计》—第2章 2.1节简介

第2章 测试数据管理精通自动化测试框架设计2.1 简介在本章中将结合案例介绍各种数据管理与交互的方法.那么问题来了,作为一本介绍架构自动化测试框架的书籍,为什么首先要介绍数据管理呢? 正所谓兵马未动,粮草先行.自动化测试也建议数据先行.测试过程中所涉及的被测应用自身.测试用例.测试报告等,都需要各种不同类型的数据进行支撑.一般来讲,所谓软件产品的功能,就是该产品在某一上下文状态下,将一系列的输入数据处理以后,转换成相应的输出数据.而软件测试,也就是通过模拟数据来触发这些功能的过程.因此,在软件测

《精通自动化测试框架设计》目录—导读

作者简介 精通自动化测试框架设计 陈冬严,浙江大学硕士,具有10年软件测试和团队管理的工作经验,先后服务于ITSM.PLM软件研发企业,现就职于某金融行业核心机构IT规划部门.业余时间喜欢园艺. 邵杰明,热爱测试工作,10多年的测试行业经验,曾先后供职于多家世界一流软件公司担任测试开发和测试管理工作,积累了丰富的行业工作经验,拥有PMP认证,目前担任测试架构师的工作,致力于自动化测试设计.持续交付等方面的工作. 王东刚,常用网名fastpoint,资深测试专家,<软件测试与Junit实践>作者

《精通自动化测试框架设计》—第1章 1.2节史前的自动化

1.2 史前的自动化 自动化测试不等于UI自动化测试,也不仅仅是完成测试用例的自动化翻译和执行过程.本节将介绍一些过往的自动化实践,供读者在自动化测试框架设计或者选型时进行参考. 1.2.1 自动化安装系统 该SUT是一套典型的B/S架构的基于J2EE的产品,安装过程中至少有20个GUI页面,需要不停地填写和勾选相关的配置信息.最令人头痛的是需要填写大约50个端口号.当然,后续的版本上这个问题已经改善许多.开发环境中,还要考虑一台服务器上部署多套系统,手工安装时选择端口号几乎成了最痛苦的事情,就

《精通自动化测试框架设计》—第1章 1.6节再启航

1.6 再启航尽管面临这样或者那样的问题,一些测试团队仍然成功获得了开发团队的信任,建立起了双方每周对话的机制,在周例会上沟通彼此遇到的技术问题,并决定自动化测试任务的优先级.也有些测试团队的成员,开始代替开发人员着手修复或者新建框架中的类,并提交代码进代码库而不再只作为缺陷描述中的补充.这样做所取得的直接效果就是降低了与自动化测试框架相关的缺陷的修复时间. 在测试组织内部,也通过这两年的锻炼,吸引了一些熟练掌握框架API并且熟悉产品知识的自动化测试人员,他们通过BCO牵头,成立了一个虚拟的自动

《精通自动化测试框架设计》—第2章 2.5节使用Exce

2.5 使用Excel2.5.1 经典的DataTable 在图2.2所示的调查中,Excel作为排名第一的数据源是情理之中的.甚至可以说,应该找不出来没有使用过Excel表格进行数据处理的读者.Excel的易用性.强大的数据处理功能,也能让即使不会编程的使用者可以快速解决一些常用的数据统计.计算的问题.在早期的商业自动化测试工具中,数据驱动或者关键字驱动是作为一个卖点被广为宣传的亮点.接触过这些工具的读者估计都对DataTable之类的概念印象深刻.在那个假设"系统测试工程师不懂代码"

《精通自动化测试框架设计》—第2章 2.6节使用数据库

2.6 使用数据库 如果读者所在的企业正在招聘测试工程师或者读者正在求职,翻开工作说明书,无论是熟悉.掌握还是精通,估计绝大部分都会对于数据库有一定的要求.这说明了数据库在现在软件行业的普遍应用,也说明了这几乎是自动化测试所绕不开的一个技术点.在本小节中,将简要介绍如何通过编写代码与数据库进行交互.当然,这只是浅显的使用层面的介绍.如果牵涉到多套数据库数据配套不同用例集.基础数据导入以及数据清洗等问题,读者可以参考第1章中有关"快速回归测试系统"的介绍,以及下一小节中有关CSV文件的处

《精通自动化测试框架设计》—第2章 2.2节测试数据分类

2.2 测试数据分类据James Whittaker在他划时代的<探索式软件测试>一书中的介绍,软件测试人员在制定测试策略时需要关注以下5个部分,包括输入(input).状态(state).代码路径(code path).用户数据(user data)和执行环境(execution environment).在资源有限的情况下,完整解决这其中的哪怕一个问题都是不可能的.因此,需要测试人员时时做出测试决策.作为一个测试框架架构人员,也必然需要面临这些问题,解决测试人员在面对前述这些问题时所提出的

《精通自动化测试框架设计》—第1章 1.1节奥运年的新挑战

你多吃点饭,到东吴的路很长,很费体力. --<赤壁> 第1部分 构建UI自动化框架在本书的这一部分,将介绍数据管理.底层公共框架构建等主题,并借助TestLink Web UI自动化测试框架构建的实践案例来展示如何从底层框架开始,搭建一个具有良好可维护性以及后续可扩展性的Web UI自动化框架. 1.1 奥运年的新挑战2008年的夏天是一个举国欢腾的日子.An君在办公室里正对着"厨房三件套"的Office开始一段全新的奇妙旅程. An君加入的团队是P公司上海研发中心组建的第

《精通自动化测试框架设计》—第1章 1.5节冰山

1.5 冰山伴随成功到来的,必然是更多的.全新的挑战. 1.5.1 假失败首先遇到的是用例假失败(False Failure),也就是类似足球比赛中假摔的问题,或者因为非缺陷原因导致的自动化测试用例运行失败.一般大批量的测试运行开始于每个发布的若干个最早期的几个Sprint之后:这时候基本上已经达到100%通过率的测试用例.但在新版本上的通过率会有一个明显的降低,从上一版本的全部通过快速下降到60%甚至更低,然后就是一场艰苦卓绝的排错与根因分析的攻坚战,逐步又将通过率提升并稳定在95%左右,直至