转:google测试分享-问题和挑战
原文: http://blog.sina.com.cn/s/blog_6cf812be0102vxer.html
前言:这个系列分享的内容大部分都是出自于《google是如何测试的》的书,不是我YY的,我只是大自然的搬用工,希望对大家有那么一点点的用处,当然后面也会有个人的一些想法。
上一次分享了google测试分享-测试经理,大概说了下google的测试经理的职责和工作范围,以及测试经理的价值体现。本来想断更了,感觉大家都没啥激情讨论问题了,但是已经坚持了4期了,就差两期了,算是给自己一个交代吧。在测试效率和技术面前,任何公司都会遇到各种问题,那这次会聊一聊google测试团队遇到了哪些问题和挑战,以及google是如何来解决和避免的。
为了让这些blog分享更有逻辑性,我打算分几个专题来分享google测试相关的测试理念。
google测试分享-SET和TE
google测试分享-分层测试
google测试分享-GTA
google测试分享-测试经理
google测试分享-问题和挑战
google测试分享-未来测试
谈到google测试遇到的问题和挑战之前,我想简单的罗列下国内软件测试行业遇到的几个共同的问题:
(1)测试人员的价值输出难以衡量。现在很多项目发布上线,大部分价值都是开发贡献的,还有一部分是产品经理贡献的,测试贡献的就是锦上添花,很难让人信服业务发展价值的贡献。
(2)用户体验测试难以形成。随着这些年的软件测试技术的发展,测试人员保证产品上线质量上没有任何问题,但是在移动互联网时代,用户对产品的体验要求更高,不是要求没有功能性的问题,而是要好用,用的很爽,这里面测试能产生的价值就需要好好思考了。
(3)自动化测试和手工测试的平衡。这几年自动化测试技术的发展,让很多公司的测试团队都大力开展自动化测试,包括敏捷测试的推广,都是自动化测试对于产品的价值体现不能够分析的非常清楚;同时对应自动化测试和手工测试的融合度不够清晰,导致一个产品的自动化测试和手工测试的分布不均或严重不足等各种情况。
(4)开发测试全栈之路。大家都说测试人员是守门员,是质量的最后保证。阿里集团这边有些BU的测试工程师的独立测试工作已经取消了,目的是想让开发同学自己负责起自己的代码质量任务,自己做好自测工作。测试人员也去做开发工作,当然也就包括自己开发功能的测试工作。目前这种做法也是一个尝试过程,是不是要这么个极端,还是测试和开发工作内容的慢慢渗透,这些想法会在最后一part,测试的未来中详细的讨论。
当然了,国内软件测试行业遇到的问题和挑战不仅仅是这些,而且每个公司都会不一样。google测试在经历这些年的发展,对于测试职责的理解也会存在变化,还是会出现一些问题,具体如下:
(1)认为测试是很容易的事情。测试阶段一直是软件开发周期中的最后一环,很多人会认为测试人员成了开发人员的拐杖(防止开发人员跌倒了,形象的比喻防止了开发发布上线的产品挂了),测试人员把很多质量保证的事情都做完了,责任方也很容易确定,就可以直接发布上线了。或者觉得测试是一种很容易的事情,可以随时外包出去,让测试不再成为软件研发的瓶颈。
(2)测试人员更关注自己的角色,而不是他们的产品。google内部也是存在这个问题,这种现象可能是开发和测试的组织结构分离有关。测试团队会更加关注测试效率,测试技术创新,测试框架开发等,对业务产品的发展和用户体验的关注度相当会缩小。
(3)测试人员往往崇拜测试产物胜过软件本身。更多人认为测试的价值是在于测试的动作,而不是测试产物。所有测试产物的价值,在于它们对代码的影响,进而通过产品来体现。独立的测试团队,倾向于把重点放在建设和维护测试产物上。其实测试人员必须把产品放在第一位。
(4)测试做了很多后,发布出去的产品还是会存在漏测。是谁在做测试并不重要,关键是进行了测试,内部试用者、可信赖的测试者、众包测试者,以及早期用户都可能比测试工程师更容易发现bug。实际上,让TE做的测试越少,支持其他人做的测试越多,效果就越好。
其实作为大公司还会遇到其他的挑战,比如之前我们经历过工具的百花齐放的辉煌时代,现在就需要解决测试工具的统一性问题(各个BU或部门都会使用自己开发的工具),这个挑战涉及到各个BU或各个部门的绩效和心血,不是那么容易解决的。现在阿里测试团队BU化,这个问题就会更难解决了,重复建议不可避免,这个就需要我们的测试架构师更多的了解和融合其他测试团队的测试工具和测试创新。
另外还强调一个挑战就是线上监控,大家都知道,互联网的速度和效率要求最高,让用户成为你的测试人员无可厚非,但是从系统层面来看,我们还是希望线上系统在运行过程中,能自动化监控线上数据的正确性和完整性,从而监控线上功能的正确性,甚至能自动化的解决这些线上bug。当然了,这个问题我们也在探索实践过程中,特别是双11&12大促期间,线上几百个页面和数据的自动化检查和监控。另外就是从线上大数据的分析过程中,计算出业务逻辑规则存在的漏洞,也是我们近期需要解决的方向,甚至可以根据我们设定的数据检查服务来自动化的订正线上错误的数据。
这个更断了蛮久了,后面最后一part是未来测试,我需要好好想想,争取出点干货出来,本节先到这里为止。后续一part是google测试分享-未来测试 。
转:google测试分享-问题和挑战的更多相关文章
- Google测试分享-测试经理
首先大家可以思考下,google的测试经理角色必须具备什么样的能力.据不完全统计,google的测试经理,超过一半之前都做过TE的角色(大家可以想想为啥):对于与被测产品相关的任何使用问题,测试经理都 ...
- 转:google测试分享-测试经理
原文: http://blog.sina.com.cn/s/blog_6cf812be0102vode.html 前言:这个系列分享的内容大部分都是出自于<google是如何测试的>的书, ...
- 转:google测试分享-GTA
原文: http://blog.sina.com.cn/s/blog_6cf812be0102viuh.html 上一次分享了google测试分享-分层测试,有很多自动化测试的策略和实施都要有一个重点 ...
- 转:google测试分享-分层测试
原文: http://blog.sina.com.cn/s/blog_6cf812be0102vctg.html 上一次分享了google测试分享-SET和TE,有一些自动化测试的细节没有说清楚,那这 ...
- 转:google测试分享-SET和TE
原文: http://blog.sina.com.cn/s/blog_6cf812be0102vbnb.html 前端时间看了google测试之道,收获了一些,在此总结下并打算写一个系列blog,顺 ...
- 网易测试分享会——“一起打造你想要的QA团队”
昨天(2016.11.30)参加了网易资深测试专家王晓明的测试分享会——“一起打造你想要的QA团队”,以下为笔者做的归纳总结. 重点 1.让测试更加容易做好.不容易测试的代码,不具有健壮性. 2.Ke ...
- 缓存测试分享篇:如何利用测试环境进行灰度测试缓存迁移solo
此文已由作者王婷英授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 缓存,看到这两个字,第一反应,最近怎么又要弄缓存的改造啊,这个测试好复杂,一不不留心就踩一个线上bug.实在 ...
- Google测试精华文章(1) - 测试行为,而非实现
Your trusty Calculator class is one of your most popular open source projects, with many happy users ...
- Google大牛分享的面试秘籍
我憋了很长时间想写点关于去Google面试的秘籍.不过我总是推迟,因为写出来的东西会让你抓狂.很可能是这样.如果按统计规律来定义“你”的话,这文章很可能让你不爽. 为啥呢?因为啊……好吧,对此我写首小 ...
随机推荐
- LiveCD及Casper调研
1.LiveCD原理 LiveCD本质上是ISO 9660/El Torito格式的CD-ROM. 下面对LiveCD涉及的各种技术做了简单的调研. 1.1. CD-ROM CD-ROM是一种光盘存储 ...
- [HEOI2014]逻辑翻译
ywy_c_asm的良心题解 是道好题 体现了二进制位的形象递归思想,以及将FWT的思路(都是拆位分治)用到题目中的典范 可以暴力高斯消元.完全没有利用2^N以及+-1的良好性质 发现项数,方程和二进 ...
- Python3 字典 fromkeys()方法
Python3 字典 描述 Python 字典 fromkeys() 函数用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值. 语法 fromkeys()方法语法: ...
- Codeforces 717.F Heroes of Making Magic III
F. Heroes of Making Magic III time limit per test 3 seconds memory limit per test 256 megabytes inpu ...
- JSP2 的自定义标签
在 JSP 中开发标签库只需如下几个步骤 1.开发自定义标签处理类 2.建立一个 *.tld 文件,每个 *.tld 文件对应一个标签库,每个标签库可包含多个标签 3.在 JSP 文件中使用自定义标签 ...
- 回顾static与final的作用
static是java中非常重要的一个关键字,而且它的用法也很丰富,主要有四种用法: 用来修饰成员变量,将其变为类的成员,从而实现所有对象对于该成员的共享: 用来修饰成员方法,将其变为类方法,可以直接 ...
- python学习笔记(六) 函数式编程
一 函数对象 函数同样可以作为对象复制给一个变量,如下: f = abs; print(f(-10)) f = 'abs'; print(f) def add(a,b,f): return f(a) ...
- Windows互斥锁demo和分析
一:windows创建锁接口 创建互斥锁的方法是调用函数CreateMutex HANDLE CreateMutex( LPSECURITY_ATTRIBUTESlpMutexAttributes, ...
- 1.Android JUnit Runner(使用AndroidStudio)
一.Android JUnit Runner介绍 1.Android JUnit Runner 1)是一个测试运行器,用于运行Junit3和Junit4的Android测试包 2)替换Instrume ...
- OpenCV---圆检测
推文:Opencv2.4.9源码分析——HoughCircles 霍夫圆检测 加载一幅图像并对其模糊化以降噪 对模糊化后的图像执行霍夫圆变换 . 在窗体中显示检测到的圆. def detect_cir ...