zoukankan      html  css  js  c++  java
  • 【甲午年正月初八】测试别被敏捷忽悠

          哈哈,终于看到一个反对敏捷的测试人员了。请看腾讯无线研发部副总监张鼎(dylan)的《反思:别被敏捷忽悠》。这个应该是对dylan的访谈整理,也许会和dylan的意思有偏差,但假设不是记者太无良,dylan的思想应该是反敏捷的,至少对敏捷思想有很多的质疑。

          对敏捷一直很关注,其实很正常的啦,作为一个资料的阅读爱好者,在满眼都是敏捷的今天,想不关注都不可能啊。

          提炼一下dylan的观点:

    1. 敏捷方法会拉低质量标准。
    2. 传统瀑布和敏捷方法没有本质差别。
    3. 互联网软件和传统应用型软件开发没有本质差别
    4. 在一些情况下,文档优于沟通。

          上面的观点是我总结的,具体内容大家可以看原文,有误读的地方请原文作者谅解。

          其实对于敏捷,我的观点一直很矛盾,对开发人员这应该是好的,但是对于测试则未必。

          敏捷从根本讲应该是开发方法,不是方法论,所以很多人可以把敏捷嵌入到CMMI、RUP等开发流程框架内。换句话说,敏捷说了开发人员应该怎么做,但是没有说比如测试人员做什么,也就是说,无论XP还是Scrum等,基本都没有考虑测试人员在其中应该做什么。当然了,有些开发人员会说,还要测试人员做什么,有TDD、BDD等,测试人员滚一边去玩吧。但是测试人员真的可以缺席吗?

          测试人员其实一直努力的在希望嵌入到敏捷开发过程中,比如段念的《什么是敏捷软件测试》,朱少民的《究竟什么是敏捷测试》等,甚至有专门的书籍说敏捷过程中的测试,但都像是CMM的效颦TMM一样,没有太多的信服力。感觉就是在敏捷过程中,强加了一个测试角色,做和传统测试差不多的活儿,看上去很美,但是总觉得相当的不协调。

          测试是什么,测试是质量的控制和度量。就和帖子最开始的dylan说的一样,敏捷实际在降低质量基线。敏捷的说法是从根源上,通过TDD、BDD等,解决质量控制问题,通过用户现场确认等方法,解决质量确认问题。认为通过用户认证了,就是好的。但是用户不是专业的测试人员,对质量等的认知,其实是有一定的偏差的,敏捷方法貌似总在有意无意的忽视这种质量偏差。

          在软件工程中,有一个基本的观点,不要让开发人员测试自己的程序,但是在敏捷过程中,测试角色是大部分由开发人员直接兼任,当然是有包装的--测试驱动开发,但实质还是开发自己负责自己部分的质量问题。产品的生产者是开发,质量的提供者是开发,难道质量的确认者仍然是开发?或者再加上用户?这样做是否会出问题?

          从根本说,敏捷方法的研发者都是开发出身,对测试我想未必有深入的了解,敏捷方法其实规定的都是开发人员的行为,但是问题就在于没有留出测试验证的位置,测试人员即使挤进去,也有很多的力气无法使用上。比如敏捷测试过快,是否有必要重复的做开发人员做过的测试;敏捷变更太多,测试人员能否跟上变更的节奏等等。

          我这里仅仅是提出问题,并没有解决问题。敏捷开发我还是仅从大家的资料中了解分析,测试也更多从理论和别人的文章中获取敏捷测试相关内容,也许我的整篇文章观点都是错误的,但是至少希望能给测试人员以思考,至少能提出一个让我认为合理的、可以容易确认执行的敏捷中的测试过程,也就不枉我打这么多的字了。

  • 相关阅读:
    INFORMATION_SCHEMA.INNODB_LOCKS
    INFORMATION_SCHEMA.INNODB_TRX 详解
    用 Flask 来写个轻博客 (9) — M(V)C_Jinja 语法基础快速概览
    自助式BI对比评测:Tableau和FineBI
    4款最具影响力的自助式BI工具
    4款最具影响力的自助式BI工具
    用 Flask 来写个轻博客 (8) — (M)VC_Alembic 管理数据库结构的升级和降级
    用 Flask 来写个轻博客 (7) — (M)VC_models 的关系(many to many)
    zabbix 通过key 获取
    匿名hash
  • 原文地址:https://www.cnblogs.com/qqrrm/p/3556600.html
Copyright © 2011-2022 走看看