在北京理工大学做招聘宣讲的时候,有同学问
ThoughtWorks的QA
做什么。我们似乎很习惯于把QA和测试等同起来,就是坐在门边那个负责抓出所有bug的人。朱少民的blog里说“测试就是为了发现缺陷”,当然这毫无疑
问是对的。但作为QA这个角色,我认为他/她的职责分两半:第一是发现缺陷;第二是确保缺陷被修复,并且修复过的缺陷永不再重现。前者是测试工作,后者是
流程工作。作为QA(质量保障或者叫质量分析)的负责人,流程工作至少与测试工作具有同样的重要地位。
(那天晚上和江焱风一起吃饭,说到质量管理体系的话题。其实ISO9000就很明白了:质量来自过程和管理,而不是来自检验。)
所
以,尽可能地把测试自动化,这实际上是在积累质量管理体系。这事情分为三个环节:(1)发现缺陷;(2)用自动化的测试案例描述缺陷,以测试案例通过为依
据验收缺陷修复;(3)频繁运行所有测试案例,确保已经被修复的缺陷永不再进入代码库。而朱少民所说的“为追求测试自动化而忘记发现缺陷之根本”的问题,
实际上是一个不存在的伪问题,因为这两件事情分别位于环节(1)和环节(2),彼此正交。朱少民还说“70%缺陷【的发现】还是需要人的智慧和思考”。不
是的,100%都得靠人的智慧和思考。你不想发现的缺陷,它是不会被发现的——当然了用户会发现然后暴跳如雷地来找你,那就是另一回事情了。
总结:QA的工作分为测试、流程制定和流程监督三部分。质量不是靠守门守出来的,而是靠贯穿整个软件生命周期的管理管出来的。敏捷项目为什么容易获得更好的质量?因为它把质量管理落实到每个小时的每件具体事情上,而不是写在纸上。
作者介绍
熊节是ThoughtWorks公司的咨询师,曾参与《重构:改善既有代码的设计(中文版)》、《J2EE核心模式(原书第2版)》、《Contributing to Eclipse中文版》等图书的翻译。目前正在从事Ruby on Rails的项目,并致力于敏捷方法与思想的推广。
当前评分 5.0 , 共有 1 人参与
- Currently 5/5 Stars.
- 1
- 2
- 3
- 4
- 5