开发和测试会融合吗

  蔡:根据经典的敏捷理论,在敏捷中不再区分开发和测试了,你觉得这两个角色在将来会融合吗?

  邰:这要看情况。有的公司开发人员很强,他们去做测试也能做得很好,有的公司则不是这样。所以我想,不需要把开发和测试在角色上鲜明地分开,说开发人员和测试人员,这不是问题的关键,而是可以把它们从工作上分开:有开发类的工作和测试类的工作。从这个角度看,测试类的工作一定会存在,至于是谁去做,要看实际情况和能力了,这在ISTQB里称为测试的独立性(Independence of Testing),可以是开发人员做测试,他们可以把测试做得很好;也可以是专业的测试人员去做测试;还可以是独立的第三方测试团队去做。

  不管谁来做测试,都要保持一定的测试独立性,毕竟测试有其特有的思维方式。这里的独立性指的是精神上的独立,而不是物理上的独立(测试人员属于专门的测试团队,有自己单独的办公区域等)。

  旁观者说:保持测试力量的独立的确重要,这有利于测试人员做出质量方面的判断。至于是否保持独立的测试团队,可根据测试团队的成熟程度而定。一般来说,我推荐成立独立的测试小组,让测试工程师有归属感。

  对于软件测试行业前景的看法

  蔡:对于测试行业的前景你怎么看?

  邰:我认为测试从业人员面临的挑战会越来越大。现在测试环境越来越复杂,例如云计算环境、复杂的网络环境,被测对象也越来越复杂,bug也隐藏得越来越深,测试人员要充分了解测试环境和测试对象。

  不管是测试新人还是有多年经验的测试工程师,都有必要认识自己的测试思维,不断有意识地提升自己的测试技能。

  书籍推荐

  1、《Secrets of A Buccaneer Scholar》,作者James Bach,中文版书名为《学习要像加勒比海盗》。这是一本关于自我教育的书,也是James本人满意的一本著作,书虽然很薄,但James花了二、三十年时间才终于写成,书中每一篇都是精华,记录了James对自我教育、自我学习方面的认识和经验,测试即学习,相信本书能让很多爱学习的人深受启发。

  2、《Lessons Learned in Software Testing》,作者Cem Kaner, James Bach, Bret Pettichord, 中文版书名为《软件测试的经验与教训》。本书堪称软件测试的“红宝书”,书中以293条经验教训的形式阐述了上下文驱动测试学派(Context-Driven School)的各种启发式(Heuristics)的观点,内容涵盖了测试认知、测试技术、测试管理、测试职业等方方面面,本书可以作为测试人员的参考宝典,随时翻阅。

  3、《Essential Software Test Design》,作者Torbjorn Ryber。这是一本关于测试设计的书,书中以测试分析设计4步法的方式讲述了常用的十几种测试设计技术的应用,并辅以实例。

  4、《XUnit Test Patterns:Refactoring Test Code》,作者Gerard Meszaros,中文版书名为《XUnit测试模式:测试代码重构》。对于从事单元测试的人来说,这是一本难得的好书,书中谈到了很多测试代码的坏味道,以及大量已经被证明的好的测试模式,使得测试代码更易编写和维护。

  小结

  邰晓梅在这次采访中和我们分享了很多宝贵的经验,总结如下:

  1、能够被人所信任、所依赖,是价值的体现。

  2、测试并不仅仅是发现bug,预防bug也非常重要。

  3、开发和测试是一个完整的团队,不要把开发和测试分隔得太“开”。