读书人

专业测试团队能消亡还是新生

发布时间: 2012-11-09 10:18:48 作者: rapoo

专业测试团队会消亡还是新生

文/朱少民

敏捷软件开发致使很多人质疑专业测试团队存在的价值,本文对此进行了深度的剖析,并结合技术发展现状给出了软件测试的未来方向。

敏捷软件开发带来的困惑

敏捷软件开发强调“拥抱变化”, 认为不能将需求定义一次做到位,也没必要一次做到位,需要不断挖掘,才能逐渐获得真实的需求。这就给测试带来极大的挑战,因为测试需要把验证的标准作为参 照系,否则如果需求不清楚,就很难确定测试中发现的问题是不是真正的缺陷,导致测试的设计与执行困难重重。在这种情况下,我们是否只能依赖探索式测试呢?

敏捷软件开发强调持续构建、持续测试。在构建中不仅可以完成单元测试,还可以完成集成测试。因为每天都构建软件包,一旦单元之间(接口)存在问题,就很容易 暴露出来。每日构建和集成可被看作持续测试的一种体现。在这种情况下,是否就无需单独的集成测试阶段?测试的投入是否就可以减少呢?

敏捷软件开发强调与用户的沟通和协作,用户起初并不清楚自己的需求,通过软件产品的使用,才逐步明白自己想要什么。如果用户真能参与开发过程,即用户每天都能及 时使用正在开发的软件,那么还需要测试人员吗?如果将持续集成和用户及时反馈结合起来,专业测试人员的测试投入是不是就可以大大降低?

敏捷软件开发强调持续交付,即及时发布有价值功能给客户,并尽快地满足客户的需求。之所以能做到持续交付,是因为软件已从产品销售模式转为服务模式—软件即服 务(Software as a Service,SaaS),不存在以前产品模式的销售渠道,软件版本的更新只要在自己数据中心的服务器上打个patch就可以了。这种SaaS模式使得 持续交付成为可能,软件能够快速上线、用户也能及时获得更新的服务,因此缺陷能被快速修复,缺陷修复的成本极大降低,大大提高了人们对缺陷的容忍度,降低 了对质量的要求。但这可以大大降低测试的投入吗?

特别是像Facebook这样耀眼的公司,其实践似乎在支持“无需建立独立的测试团队”, 让开发人员来承担越来越多的测试工作,甚至承担全部测试工作。还有人提议将测试团队的一半成员拿出来做开发,这样可以解决以前单元测试不足的问题。而测试 团队的另一半被抽调到客户服务(Customer Care)团队中,负责需求前期调查和后期技术支持,在需求上加大投入,帮助建立软件产品的客户验收标准,让开发人员基于验收标准完成软件系统的设计和编 程,从源头上提高质量,而且后期技术支持也得到了加强。

专业测试团队要不要?

一系列新的实践似乎在加剧质疑“专业测试团队的存在意义”。但在传统软件测试理念中,则强调测试的独立性和专业性,专业性越强,越需要全职人员。这些实践在 传统产业的质管理实践中已得到充分的验证。传统产业的质检部门是独立的,质检人员也是全职的。如果不管三七二十一,将测试团队拆分掉,会不会带来新的问题?比如:

读书人网 >软件开发

热点推荐