转:google测试分享-GTA

原文: http://blog.sina.com.cn/s/blog_6cf812be0102viuh.html

上一次分享了google测试分享-分层测试,有很多自动化测试的策略和实施都要有一个重点和计划,那这次会把google是如何来对SUT制定测试计划的分享下。

为了让这些blog分享更有逻辑性,我打算分几个专题来分享google测试相关的测试理念。

google测试分享-SET和TE

google测试分享-分层测试

google测试分享-GTA

google测试分享-测试经理

google测试分享-问题和挑战

google测试分享-未来测试

在讲GTA之前,必须先讲下测试计划,而测试计划对于很多人来说都不陌生,很多测试书籍里面都会描述如何编写一个好的测试计划,需要考虑多少内容,当然,这个也是测试工程师面试的必备题目。在这里,我只想引用某个大师说的话:测试计划本身的价值不是测试计划最后的文档,而是制作测试计划的过程。我还想让大家知道的是James bach有个很好的指导书,就是关于如何编写测试计划的。参考下面的图:

《测试计划图》

这里可以看到制定测试计划的过程很负责,需要考虑很多因素,某些因素都会影响着计划的有效性,虽然实际工作过程中,我们不可能一步步按照上面的方法去check这些因素,但是其思想和意识是值得大家思考的。相信各自团队都有自己的测试计划模板,里面会涉及到很多的内容。一般来说,测试计划包含:及时地更新、描述了软件的目标和卖点、描述了软件的结构、各种组件和功能特性的名称、功能和操作简介。而且测试计划还必须要避免散漫的文字,推荐使用简明的列表;不必推销;保持内容简洁;不要把不重要的、无法执行的东西放进测试计划;多采用渐进式的描述;真正的指导计划者的思路;当然最终结果应该还是测试用例。但是我这里还想强调三点:

第一点是这个看起来非常全面的测试计划模板是传统行业测试的测试模板,不适合互联网产品测试的特点,之前做完一个项目的测试计划需要2-3天,其中过程中就不说了,现在采用敏捷方式来做项目,测试计划只需要2-3个小时就完成了,更多的也是类似于one page plan。

第二点是真正体现价值的不是最后输出的测试计划结果,而是得出这样的计划的过程,其中有多少是融合了执行计划、策略、范围、风险以及项目上下文背景信息。

第三点是我们是否充分的了解测试计划的共享性、有效性、可变性、以及在测试阶段的引导性,这个说起来比较玄乎,其实这个是实时在在发生的,测试执行整个周期,我们的计划肯定是改变的,都是我们体现出来了吗;灵活变化的结果是否得到一致认可;怎样让计划和风险和范围灵活变化且受控制;怎样提前预估风险和计划的差异性等。

同样的,google也同样认为测试计划是最早出现、最先被遗忘的测试产物。但是google测试理念更加认为测试文档的作用不可扩大化,测试人员不应该对测试文档过于珍爱,大家最关心的是代码库,包括测试代码库。

为了充分的了解被测产品,google开发了一个测试计划工具GTA来展现被测产品和测试计划的关系。GTA:Google Test Analytics 来记录计划里面的ACC(特质、组件、能力),这也是个开源工具:https://code.google.com/p/test-analytics/。当测试人员完成一个被测系统的ACC设置后,有几个测试策略可以参考:

(1)使用10分钟编写测试计划:花费30分钟左右,80%的完整性

(2)分组展示产品能力,按照测试组进行bug bash,或帮助执行探索式测试执行的计划

(3)我们无法避免风险,但是我们首先需要进行风险分析,考虑两个要素:失败频率和影响。然后进行打分。风险分析的目标不是对一个风险给出一个精确的值,而是要识别一个可执行的有优先级的执行计划。

(4)邀请开发、PM、运营、PD、管理层一起review风险。

(5)TE是缓解风险活动的协调人,决定对风险较大的领域进行内部测试,要求SWE和SET增加回归测试。也可以借助dogfood用户、beta用户以及众包进行测试

(6)TE仔细思索高风险的区域,咨询可能的回滚和恢复机制。同时对风险最高的领域负有个人责任,必须编写测试指导。

(7)对于风险较低的区域,可以降低要求,为这些区域编写特定的测试用例是得不偿失的,我们更多的是选择探索式测试,或众包测试。

(8)按照风险顺序进行测试。原则:如果不能全测,就先测最重要的,也就是风险最大的。

补充一下,风险因子里面的失败频率包括:罕见、少见、偶尔、常见。影响包括:最小、一些、较大、最大。

(9)TE在了解了SET和SWE的测试后,评估这些测试对风险的影响,实时改变测试计划和策略。对于高风险区域的每个bug都应该有一个回归测试用例与之对应。

为了更多的引导开发自测以及团队质量意识的培养,google测试团队对一个开发团队进行测试认证,完成了一系列的测试任务。SET或TE可能会变成测试认证教练。

google的TE在编写测试用例时,需要对TC进行标签化,创建的时候设置name、content、public fables/ private fables。另外,对于用户反馈的bug,使用了聚类算法来自动识别充分记录并确定最频繁的问题。而测试人员自己发现bug后,应该花些时间细细品味。不仅仅是有权利享受自己劳动的果实,而且,理解此bug微妙的细小差别及其出现的条件是很重要的。还应该找同伴来分享他的发现。

现在再来了解下GTA,GTA是根据项目的ACC得到项目的风险热图,再进行内部数据库的绑定,比如bug数据库、代码树、测试用例的位置或查询,随着这些指标的变化,通过简单的线性代数来自动更新风险级别。GTA 包括这些内容:项目规格(项目介绍、ACC);风险(总览);导入数据(测试用例、bug、checkins);数据设置(数据源、数据筛选)。

GTA 可以很快的把能力列表变成一次测试执行,包括了一个简单的概要测试用例列表。GTA可以帮忙TE根据测试执行背后的ACC矩阵来分配测试人员。GTA旨在使风险分析足够的简单和实用,以便人们能够真正的用起来。

为了最高效的做web产品测试,google设定了一个零成本测试流程:通过GTA进行测试计划;测试覆盖度,Quality Bot区分回归和新特性,区分手工和自动化测试;bug评审,利用BITE来快速判断;探索式测试,外包和早期用户执行;bug提交,SUT里面进行bug快速提交;Bug triage和调试;重新部署新版本回到第一步。

上面是大概说了下google是如何使用GTA来管理整个测试阶段,特别是测试计划的安排,总的说来,流程开放、简单、直接、有效。希望大家对google如何进行测试计划和测试管理有一定的了解。下期准备分享google测试经理是如何带领团队进行测试技术创新和团队管理的,google测试分享-测试经理。

时间: 2024-11-08 20:35:11

转:google测试分享-GTA的相关文章

转:google测试分享-测试经理

原文: http://blog.sina.com.cn/s/blog_6cf812be0102vode.html 前言:这个系列分享的内容大部分都是出自于<google是如何测试的>的书,不是我YY的,我只是大自然的搬用工,希望对大家有那么一点点的用处,当然后面也会有个人的一些想法. 上一次分享了google测试分享-GTA,大概说了下google是如何使用GTA来管理整个测试阶段,特别是测试计划的安排,那这次会聊一聊google测试经理是如何进行团队管理的. 为了让这些blog分享更有逻辑性

转:google测试分享-SET和TE

原文:  http://blog.sina.com.cn/s/blog_6cf812be0102vbnb.html 前端时间看了google测试之道,收获了一些,在此总结下并打算写一个系列blog,顺便分享给各位,也希望大家多交流,多讨论.另外需要强调的是我说到的一些google测试理论和淘宝的相关测试实践,并不代表所有淘宝测试团队都会这样去做,仅仅代表我的测试团队会做的一些思路上的改变和实践,肯定有不成熟的地方,欢迎讨论.最后需要强调的是,我这边得到的一些google做法仅限于google测试

转:google测试分享-分层测试

原文: http://blog.sina.com.cn/s/blog_6cf812be0102vctg.html 上一次分享了google测试分享-SET和TE,有一些自动化测试的细节没有说清楚,那这次会把google的分层自动化测试描述的更详细. 为了让这些blog分享更有逻辑性,我打算分几个专题来分享google测试相关的测试理念. google测试分享-SET和TE google测试分享-分层测试 google测试分享-GTA google测试分享-测试经理 google测试分享-问题和挑

Google测试分享-测试经理

首先大家可以思考下,google的测试经理角色必须具备什么样的能力.据不完全统计,google的测试经理,超过一半之前都做过TE的角色(大家可以想想为啥):对于与被测产品相关的任何使用问题,测试经理都应该是专家.所以google对测试经理的期望:相关项目中最强的产品专家.这个时候,大家是否感觉奇怪了,测试人员对业务的了解大家都是认可的,为啥测试经理也是要对业务非常了解呢,测试经理不是安排下测试任务就OK了吗. google认为优秀的测试经理能做到如下几点: (1)了解产品 (2)知人善用 (3)

谷歌Google hosts分享

最新谷歌Google hosts分享 C:\windows\system32\drivers\etc下查找hosts文件并以记事本打开,复制以谷歌-Hosts代码进去,保存. opengg做的实时更新的hosts文件下载地址:http://opengg.me/wp-content/uploads/2011/09/hosts.php? PS:可能由于区域网络问题,存在不稳定情况.但是通过普通IPv4一万年登不上的gmail终于偶然可以在网络状况良好的时候登录.

支付类幂等性测试分享

主题: 支付类幂等性测试分享 HI all: 最近在测试扫码支付的时候,尝试测试了支付接口的幂等性,结合实例和网上资料一并分享给大家. 幂等性概念 数学中的定义:其任意多次执行所产生的影响均与一次执行的影响相同.比如f(f(x)) = f(x). HTTP协议中的定义:在HTTP/1.1规范中幂等性的定义是:HTTP方法的幂等性是指一次和多次请求某一个资源应该具有同样的副作用.其中GET,PUT, DELETE 方法是符合幂等性的,因为获取资源和删除资源无论执行多少次,产生的效果是一样的.Pos

内存测试分享文档

回页首 Valgrind 概述 体系结构 Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合.Valgrind由内核(core)以及基于内核的其他调试工具组成.内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具:而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务.Valgrind的体系结构如下图所示: 图 1 Valgrind 体系结构 Valgrind包括如下一些工具: Memcheck.

[转]2015.4 最新谷歌Google hosts分享

http://blog.sina.com.cn/s/blog_6fa5aa4a01010wel.html 使用方法:到C:\windows\system32\drivers\etc下查找hosts文件并以记事本打开,然后复制以下谷歌-Hosts代码进去,最后保存.(记得hosts文件是无后缀的哦!) 代码:(当你无法访问谷歌时请到这里来复制新代码.) #+BEGIN#Version=20150407#+MESSAGE########################################

jquery常用操作@测试分享

格式化日期时间为2017-07-09 functionformatDate (dates) { varmydate= new Date(dates); varmon=mydate.getMonth()+1; mon= mon.toString().length <=1 ? "0" + mon: mon; vard=mydate.getDate(); d= d.toString().length <= 1 ? "0" + d: d; varh=mydate