[ZZ]MTSC 2017 Mobile Testing@Google 演讲的感受
原文地址: https://testerhome.com/topics/9364
Mobile Testing@Google
其实在开始听谷歌的张南和潘岩开始演讲前,了解下 Google Test Certified 会有所帮助。
- 谈谈 Google 的 Test Certified https://testerhome.com/topics/5752
- 详细说说 Google Test Certified 的各级——Level 1 https://testerhome.com/topics/5776
- 详细说说 Google Test Certified 的各级——Level 2,3 https://testerhome.com/topics/5784
甚至,我们从此次的演讲中依然能感受到,谷歌对建立测试认证标准的努力。下面我们仔细聊聊这次的演讲。
谷歌也在寻求开发效能和测试效能的平衡点
产品由简到繁需不同的测试体系来支持,如何在开发效能和测试效能之前寻找平衡点是每个发展中的公司痛苦的事情。谷歌经历了小城镇式的开发模式到大都市模式,测试策略也从1.0到测试策略3.0。每个阶段的痛点都不一样,所采用的对策也不一样。测试模型从大体上,是从bug驱动到测试驱动,到3.0的数据驱动。对于测试的技术要求也是越来越高。从ppt上来看,谷歌在2.0阶段已经实现了测试全自动化,这在业内还是属于领先的。这个有可能和谷歌的业务有关。至少到目前为止,我经历的项目中,手工测试的比例还是占了大头(我记得7年前在谷歌做vender的时候,DE项目其实手动比例也有50%左右,但是其他项目,比如谷歌的image啊,据我所知好像都自动化了)。
测试能放心地交给自动化,我想很大一部分应该得益于谷歌工程师的高素质和完善的 code review 机制。Ron Patton 的《软件测试》中反复强调一点:问题发现的越早,成本越低。需求阶段发现问题,就可以避免浪费开发资源,开发阶段发现问题,就可以避免浪费测试资源,测试阶段发现问题,就可以避免发布之后的打patch啊,回滚啊,紧急发布啊,从而避免线上故障带来的直接损失。需求阶段一般就依赖于强大的pd,但是pd一般都坑,
所以开发就非常关键,而pre-submit 和 post-submit 这两个阶段就变得至关重要,提交前的code review 和提交后的冒烟测试和持续集成就是这两个阶段的利器。
谷歌的CR做的非常好,LGTM已经深入人心。我记得我那个时候,提交代码之后,CR个个把礼拜是正常的事情。遇见一次,搞了半个月,许多开发轮流CR。我还记得有一会测试提交代码,然后国外的一个耿直boy直接CR后打回,totally useless,全部重写。反观我们目前的情况,CR大多数情况是一种流程上的摆设,是开发重新把自己写的讲一遍,不会深入细节,也不会举一反三。很多线上问题,如果有细致的CR,就不会出现。
再来看持续集成,现在国内公司都爱持续集成,但是侧重点在解决开发发布或者出包效率,对于持续集成中的测试工作投入偏少。这可能和我们的测试类型有关:
- 我们缺少单元测试
- 我们有接口测试,但是没有稳定的测试环境
- 我们偏爱重型的UI测试,无论是web端还是手机端
- 等等,有人补充不?
从我们一直推崇的测试金字塔来看,本末倒置的很厉害。这样也就把产品质量往后压了很多,导致很多事情在集成测试阶段之后才发现,而测试也疲于奔命。这也是老生常谈的问题了。这么多年了,似乎也没有解决的也很好。也似乎只有谷歌这样的公司,搞得不错,但我还是那句话,和业务有关。
谷歌也在摸索移动测试
从演讲和PPT上不难看出,谷歌也在摸索移动测试。谷歌缔造了安卓帝国,但是Android测试未必做的最好。从大会整天的topic来看,国内的移动测试其实是领先的,有的甚至是超越谷歌的。比如,华为对标谷歌的实验室,比如腾讯的专项专题。不过由于毕竟Android是谷歌亲儿子,所以有些内部的能提升效能的工具还是领先业界一大截,我记得谷歌就有一个内部adb,比正常adb好非常多。然后这次演讲讲到的 image diffing service,谷歌的移动lab等。
但是我觉得技术都不是问题,我们看后半程潘岩的演讲,可以明显感受到,他们是在从整个研发测试流程上来提升移动测试的效率,提高自动化比例,解耦普适性和移动特特性,提高可测性,而且也只有这样,潘岩后面讲的工具和测试平台才能用的上。
- Automate everything
- Decouple functions and make each test simple
- Find problems as early as possible
- Integration with existing framework
不再神秘
2013年的时候,James Whittaker的《Google软件测试之道》的书揭开了谷歌测试的神秘面纱,一度被国内捧为测试圣经。这一次,张南和潘岩带我们再次走进谷歌测试,了解了谷歌的移动测试。其实可以感受到作为先行者,谷歌做的很好,但是也没有到赶超我们一大截的地步。大道同归,国内公司在移动上的实践,方向和策略上也是类似的。我记得我一个老板曾经说过,整个技术圈,80%都是差不多的,差别在20%的执行者。
这一次,大家了解了谷歌的移动测试,再看看自己公司做的,找到一些共鸣,找到一些认同,然后继续探索和研究,这也是一种收获。这大概也是在外面参加会议的意义。
[ZZ]MTSC 2017 Mobile Testing@Google 演讲的感受的更多相关文章
- 「Mobile Testing Summit China 2017」第三届中国移动互联网测试开发大会-讲师征集
时至北京盛夏,一场由 TesterHome 主办的关于移动互联网测试技术的盛会正在紧锣密鼓的筹备中.只要你关注软件质量,热爱测试,期待学习,都欢迎你加入这次移动测试技术大会中和我们一起分享经验.探讨话 ...
- 「Mobile Testing Summit China 2016」 中国移动互联网测试大会-议题征集
时至北京盛夏,一场由 TesterHome 主办的关于移动互联网测试技术的盛会正在紧锣密鼓的筹备中.只要你关注软件质量,热爱测试,期待学习,都欢迎你加入这次移动测试技术大会中和我们一起分享经验.探讨话 ...
- [ZZ]Android UI Automated Testing
Google Testing Blog最近发表了一篇Android UI Automated Testing,我把他转载过来,墙外地址:http://googletesting.blogspot.co ...
- [ZZ] Valse 2017 | 生成对抗网络(GAN)研究年度进展评述
Valse 2017 | 生成对抗网络(GAN)研究年度进展评述 https://www.leiphone.com/news/201704/fcG0rTSZWqgI31eY.html?viewType ...
- Mobile testing基础之签名
1. 什么是数字签名? 数字签名就是为你的程序打上一种标记,来作为你自己的标识,当别人看到签名的时候会知道它是与你相关的 2. 为什么要数字签名? 最简单直接的回答: 系统要求的. Android系统 ...
- Mobile testing基础之Native、Web、Hybrid、activity、webview
应用一词指的是app,即application.原生应用指的是能直接运行于当前操作系统的应用程序:web应用指需要在浏览器中运行的网页应用,由于界面体验.功能上都更加强大,可媲美原生应用,故称web应 ...
- 腾讯WeTest开启“测试扶持计划”赠送重磅福利(含MTSC/TiD门票)
WeTest导语 伴随着互联网行业的发展,与各行各业的连接更加紧密,竞争也变得越发激烈,用户对于产品的体验开始变得更加“挑剔”.然而目前互联网产品却始终受到各类质量问题的困扰.以兼容问题为例,应用平台 ...
- MTSC 2019 深圳站精彩议题第一波更新! | 七五折门票火热售票中
MTSC(中国移动互联网测试开发大会)到今年已经成功举办了五届,这四年里,TesterHome社区一直秉持着务实.能落地.有深度.高质量.重分享的原则,从讲师邀请到内容筛选都严格把控,只为将最能提 ...
- 美国政府关于Google公司2013年度的财务报表红头文件
请管理员移至新闻版块,谢谢! 来源:http://www.sec.gov/ 财务报表下载↓ 此文仅作参考分析. 10-K 1 goog2013123110-k.htm FORM 10-K UNIT ...
随机推荐
- 【原创】Arduino入门基础知识总结
一.概述 Arduino是源自意大利的一个开放源代码的硬件项目平台,该平台包括一块具备简单I/O功能的电路板以及一套程序开发环境软件. Arduino可以用来开发交互产品,比如它可以读取大量的开 ...
- dos6章
现在开始: 在CMD使用IF /?打开IF的系统帮助(自己看我就不全部列出来了),我们会发现IF有3种基本的用法!执行批处理程序中的条件处理. IF [NOT] ERRORLEVEL number c ...
- python 离群点检测
import numpy as np import pandas as pd from sklearn.cluster import KMeans import matplotlib.pyplot a ...
- iOS原生自动布局NSLayoutConstraint
AutoLayout概念是苹果自iOS6开始引入的概念. 目前为止,实现自动布局技术选型方面也可以使用xib和storyboard.在开发过程中通常登录.注册等变动可能性较小的视图,我会采用xib开发 ...
- invalid context 0x0.
在展示图片或者做二维码的时候,若是宽或者高有一个为零的情况就会报错:CGBitmapContextCreateImage: invalid context 0x0. If you want to se ...
- bis.org
巴塞尔官网包含了很多文档,看起来容易晕,简单说明一下. 首先,文档有几种类型(https://www.bis.org/bcbs/help/publ_types.htm): S: Standards 最 ...
- Winscp无法连接linux虚拟机解决
之前需要从主机传文件到虚拟机上,安装了vmware tools,拖拽文件后发现文件总是会损坏一些,查了一下,使用Winscp就不会出现这个问题. 安装好后配置连接:(Centos7) 打开虚拟机,找到 ...
- slurm作业提交系统常用命令
写下自己的关于slurm感悟一二 与各人pc不同,slurm的基本架构是,一个中专节点,之后有很多局域网ip对应不同的计算节点,在中专节点敲命令,命令中可以指定需要用到哪些计算节点 1. 查看有哪些分 ...
- 《Spring实战》读书笔记——如何实现自动化装配
加我微信公众号,一起夯实Java基础,向着诗和远方出发吧~ 如果所有的装配工作都交给Spring来自动完成,减少人工的干预,是不是就能减少依赖关系配置带来的麻烦呢?认真做自己的事儿吧,装配交给Spri ...
- win10磁盘/cpu占用100%问题
https://www.zhihu.com/question/27664545 https://www.zhihu.com/question/27664545 微软自己的解决办法 https://su ...