详细说说 Google Test Certified 的各级——Level 2,3
转载请联系作者,谢谢!
No releases with red tests
基于Level1搭建的持续集成,持续发布选用的CL(changelist)就可以取自CI系统最后跑通的CL,因为持续集成中包含了冒烟测试,那么发布到开发或测试环境上的系统,测试关注的是其他类别的用例。Require smoke test suite to pass before a submit
在Level1中已经划分出了冒烟测试集,在每次代码审核通过后,开发在提交代码前再次运行冒烟测试,这样保证每次提交代码,冒烟测试都是通过的,节省了后期修复的成本。(不知道你是否遇到过开发提交代码后通知测试可以测了,可是你一访问系统就碰到问题,所以类似的BVT是强制的,并且推到每一次代码提交)
代码审核工具可以定义规则,只有通过冒烟测试后才能成功提交代码到代码库,如果失败,发送邮件给开发。
Incremental coverage by all tests >= 50%
这一步是真正的需要提交测试代码。你团队的新代码至少要有50%是有测试代码的。它没有规定一定是哪种测试类型,也没有规定哪部分代码,也不是每次变更都要有50%覆盖率,而是新代码总的覆盖率要有50%。这样方便团队灵活的决定在何处何时提高测试覆盖率。开发可以通过TAP工具跟踪增加的覆盖率。Incremental coverage by small tests >= 10%
新代码小型测试覆盖率至少10%。从历史数据上看,小型/中型/大型的比例是70/20/10,这个比率不是硬性规定,可以给各团队作为参考。At least one feature tested by an integration test
虽然小型测试很重要,用来验证各个独立组件是否工作正常,但同时也需要更大的端到端的测试来验证系统功能是否正常工作。这个指标要求至少有一个集成测试来验证一个功能点。比如一个webdriver用例来验证web应用。
Level2除了持续发布的配置,后几项都与测试代码相关,从中可以看出,想要获得认证,需要搭建起UT框架,填充测试用例;需要搭建UI测试框架,并包含一个用例验证一个功能点
Require tests for all nontrivial changes
所有变更都需要有对应的测试,这个要求开始需要辛勤的劳动了。换句话说,这也是项目受益的开始。没有测试你无法发现开发过程中的问题,对你的代码修改是否工作没有信心。测试是对代码健康和稳定的投资,部分经验和数据表明,Google认为测试是一个软件项目专业与否的标志。所以这项指标是团队承诺将测试当作开发流程一部分的关键点。Incremental coverage by small tests >= 50%
小型测试覆盖率至少50%,这是Level2的延续。New significant features are tested by integration tests
新做的大功能都要有对应的集成测试,这个重要功能根据团队自己定义。
详细说说 Google Test Certified 的各级——Level 2,3的更多相关文章
- 详细说说 Google Test Certified 的各级——Level 1
转载请联系作者,谢谢! 当你作为初创企业或项目的唯一测试人员,一个人一杠枪,你如何开始测试的工作?你是作为一条孤狼,面对10个甚至更多的开发,努力的做一条龙服务(加班加到死):还是想从1到11的转变? ...
- [ZZ]MTSC 2017 Mobile Testing@Google 演讲的感受
原文地址: https://testerhome.com/topics/9364 Mobile Testing@Google 其实在开始听谷歌的张南和潘岩开始演讲前,了解下 Google Test C ...
- 全网独家MongoDB Certified DBA Associate考试认证视频
该视频意在让所有学员一次通过考试,避免重复考试而承担的巨额考试费用! 目前MongDB发展迅猛,有赶超mysql,和oracle看齐的苗头.在这个时候MongoDB也适时的推出了官方的认证考试&quo ...
- H.264 Profile、Level、Encoder三张简图 (fps = AVCodecContext->time_base.den / AVCodecContext->time_base.num)
H.264 Profiles Profiles are sets of capabilities. If your black box only supports the Baseline profi ...
- 高效率使用google
Google良好的搜索和易用性已经得到了广大网友的欢迎,但是除了我们经常使用的Google网站.图像和新闻搜索之外,它还有很多其他搜索功能和搜索技巧.如果我们也能充分利用,必将带来更大的便利.这里我介 ...
- 【转】H264视频编码级别说明profile level Encoder
版权声明:本文为博主原创文章,未经博主允许不得转载. 首先要阐明所谓的AVC其实就是H.264标准,是由ITU-T和ISO/IEC组成的联合视频组(JVT,Joint Video Team)一起开发的 ...
- 如何使用Google APIs和Google应用系统集成(7)----在里面JSON兑换XML数据处理,JSON数据包括违规XML数据规范:XML节点名称不支持号码Java解
笔者电话Google Calendar APIs的GetColors方法,其中(有关详细信息Google Calendar API已经Google API看到我的博文介绍的其余部分,目前,我们只取Go ...
- [转]The Production Environment at Google
A brief tour of some of the important components of a Google Datacenter. A photo of the interior o ...
- 多线程下载英文Google地图
1. pom.xml文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&quo ...
随机推荐
- 总结的一些微信API接口
本文给大家介绍的是个人总结的一些微信API接口,包括微信支付.微信红包.微信卡券.微信小店等,十分的全面,有需要的小伙伴可以参考下. 1. [代码]index.php <?php include ...
- JavaSript模块规范 - AMD规范与CMD规范介绍 (转载lovenyf.blog.chinaunix.net)
JavaSript模块化 在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发? 模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题 ...
- The quieter you become,The more you are able to hear.
- UINavigationController和UIScrollView一起使用时导致UIScrollView位置偏移
iOS7之后,当UIViewController成为UINavigationController的控制视图,UIViewController的控制视图上的第一个子视图是UIScrollView,UIS ...
- CGAffineTransform方法汇总
CGAffineTransform是二维的仿射变换,可以进行位移,旋转,缩放,CGAffineTransform实际上是一个矩阵. CGAffineTransform { CGFloat a, b, ...
- sleep() 和 wait() 的区别
好多面经上都出现了,有必要好好熟悉一下 区别: 1.wait() 可以指定时间,也可以不指定(等五分钟你进来,或者是不叫你一直等着):sleep()必须指定时间(不能一睡不起) 2.wait()是Ob ...
- 【代码笔记】iOS-读取一段文字
一,效果图. 二,工程图. 三,代码. RootViewController.m #import "RootViewController.h" @interface RootVie ...
- iOS开发之多线程技术——NSOperation篇
本篇将从四个方面对iOS开发中使用到的NSOperation技术进行讲解: 一.什么是NSOperation 二.我们为什么使用NSOperation 三.在实际开发中如何使用NSOperation ...
- IOS开发之开发者账号遇到的bug
今天使用开发者账号过期的问题,文件显示 其实今天的问题和这个没有关系,即使上面显示此证书的签发者无效,有时候也是可以用的. 我这里情况比较奇葩,刚刚生成的开发者账号,显示还是"......无 ...
- [转载]DBA的特质第一部分:技术
本文转自http://www.searchdatabase.com.cn/showcontent_84379.htm 支持原创.尊重原创,分享知识! 在本系列文章中,笔者将谈一谈数据库管理员(DBA) ...