重识“测试驱动开发”-架构审计侧记(三)
2019-07-20 本文已影响67人
麦小七的时光线
测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的开发方法,他要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这样有助于编写简洁可用和高质量的代码,并加速开发过程。——这是来自百度百科的定义。而这次架构审计中的一次访谈,让我对测试驱动开发有了全新的认识。
那个女孩子是我们这次审计的某一个项目的测试负责人,典型的东软IT女性的形象——素颜,长发,带着眼镜,衣着低调。但在交流中,我们能够强烈的感觉到她对自己专业能力的自信,以及对项目的责任感。她在向我们介绍她的项目时神采飞扬,眼中似盛着闪亮的光,那光想必是热爱吧!她告诉我们,在项目中,应由测试引领开发,因为测试人员比开发人员更懂业务。大家对这句话怎么看?反正我在心中已暗暗为她竖起大拇指。“测试人员驱动开发人员”说不定是“测试驱动开发(TDD)”的另一种表达。
在敏捷研发思想中,测试前移是一种趋势,测试人员越早介入研发流程,软件的质量就越早得到保障。在业务建模和需求分析阶段,测试人员要对业务人员梳理的领域模型,以及需求定义提出意见;在架构设计阶段,测试人员要对架构师提出的设计方案从关键需求的覆盖度,到架构的可测试性等等方面进行评估;在开发阶段,测试人员提供的测试用例也是开发人员业务理解的重要输入。当然,测试前移对测试人员的能力也提出了更高的要求,不仅是专业测试能力,还有业务能力,编码能力,对软件架构的理解。
软件的质量由谁负责?质量是测出来的?设计出来的还是开发出来的?各位设计、开发以及测试的小伙伴们,现在,你们是否有了答案?