原文: 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测试分享-问题和挑战的更多相关文章

  1. Google测试分享-测试经理

    首先大家可以思考下,google的测试经理角色必须具备什么样的能力.据不完全统计,google的测试经理,超过一半之前都做过TE的角色(大家可以想想为啥):对于与被测产品相关的任何使用问题,测试经理都 ...

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

    原文: http://blog.sina.com.cn/s/blog_6cf812be0102vode.html 前言:这个系列分享的内容大部分都是出自于<google是如何测试的>的书, ...

  3. 转:google测试分享-GTA

    原文: http://blog.sina.com.cn/s/blog_6cf812be0102viuh.html 上一次分享了google测试分享-分层测试,有很多自动化测试的策略和实施都要有一个重点 ...

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

    原文: http://blog.sina.com.cn/s/blog_6cf812be0102vctg.html 上一次分享了google测试分享-SET和TE,有一些自动化测试的细节没有说清楚,那这 ...

  5. 转:google测试分享-SET和TE

    原文:  http://blog.sina.com.cn/s/blog_6cf812be0102vbnb.html 前端时间看了google测试之道,收获了一些,在此总结下并打算写一个系列blog,顺 ...

  6. 网易测试分享会——“一起打造你想要的QA团队”

    昨天(2016.11.30)参加了网易资深测试专家王晓明的测试分享会——“一起打造你想要的QA团队”,以下为笔者做的归纳总结. 重点 1.让测试更加容易做好.不容易测试的代码,不具有健壮性. 2.Ke ...

  7. 缓存测试分享篇:如何利用测试环境进行灰度测试缓存迁移solo

    此文已由作者王婷英授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 缓存,看到这两个字,第一反应,最近怎么又要弄缓存的改造啊,这个测试好复杂,一不不留心就踩一个线上bug.实在 ...

  8. Google测试精华文章(1) - 测试行为,而非实现

    Your trusty Calculator class is one of your most popular open source projects, with many happy users ...

  9. Google大牛分享的面试秘籍

    我憋了很长时间想写点关于去Google面试的秘籍.不过我总是推迟,因为写出来的东西会让你抓狂.很可能是这样.如果按统计规律来定义“你”的话,这文章很可能让你不爽. 为啥呢?因为啊……好吧,对此我写首小 ...

随机推荐

  1. 【BZOJ4889】不勤劳的图书管理员(树套树)

    [BZOJ4889]不勤劳的图书管理员(树套树) 题面 又是权限题,烦死了 洛谷真好 题解 分开考虑每一次交换产生的贡献. 假设交换\((x,y)\) 检查\(x\)与\(y\)对于区间\([x+1, ...

  2. git用户名和邮箱配置

    1. 设置全局用户名和邮箱 git config --global user.name "xxx" git config --global user.email "xxx ...

  3. 解题:AHOI 2005 航线规划

    题面 这种不断删边的首先肯定想到时光倒流啊=.= 在最后剩下的连通图上跑出一棵搜索树,先将边权都赋为$1$,那么两点间的关键航线就是链上边权和,而每加入一条非树边$u,v$都会使得$u,v$链上的边的 ...

  4. python基础----实现上下文管理协议__enter__和__exit__

    我们知道在操作文件对象的时候可以这么写 with open('a.txt') as f: '代码块' 上述叫做上下文管理协议,即with语句,为了让一个对象兼容with语句,必须在这个对象的类中声明_ ...

  5. Stanford机器学习---第十四讲.机器学习应用举例之Photo OCR

    http://blog.csdn.net/l281865263/article/details/50278745 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Oc ...

  6. laravel 5.1 Eloquent常见问题

    1.新增一条记录以及判断是否新增成功 $instance = XxxModel::create(['a' => 1, 'b' => 2]); if ($instance->exist ...

  7. discuz 删除垃圾帖子

    有时候如果你的论坛被垃圾帖子占满后,会发现使用后台的删除功能还是有些慢, 我们需要先备份自己需要的帖子,然后进行下面的操作: 具体删除帖子的步骤,就是清空数据库里面的两张数据库表:pre_forum_ ...

  8. 根据wsdl的url,使用axis1.4生成客户端,并且对webservice进行调用(转)

    根据wsdl的url,使用axis1.4生成客户端,并且对webservice进行调用 axis1.4下载地址 1.到www.apache.org上去下载axis-bin-1_4.zip,如要关联源代 ...

  9. Spring Boot 使用IntelliJ IDEA创建一个web开发实例(一)

    .新建项目File-->New-->Project-->Spring Initializr 点击Finish,一个Spring Boot web应用就创建好了.

  10. LintCode 397: Longest Increasing Continuous Subsequence

    LintCode 397: Longest Increasing Continuous Subsequence 题目描述 给定一个整数数组(下标从0到n - 1,n表示整个数组的规模),请找出该数组中 ...