一般的软件开发是从需求分析,详细设计,开发,测试,交付,维护。在需求分析及设计开发阶段,软件工程师可以做些什么呢?可以参与需求分析吗?可以参与设计吗?如果参与,有什么价值吗?
- 测试工程师有不同的知识和视角。在需求分析阶段,测试工程师完全可以参与内部讨论,也可以拜访客户找出真正的需求。
- 在设计阶段,测试工程师可以从安全性,可扩展性,可测试性等多个方面提供专业的建议。特别是可测试性,提出针对测试需要预留的接口。对于当下流行的Testing in Production,那就更需要测试工程师参与设计。把测试模块、以及各种发布工具、回退机制等等都考虑进去。
- 在设计开发阶段,测试工程师已经可以开始设计测试用例,开发自动化测试的框架,并且根据开发的进度,有步骤有计划实现自动化。
如果成本允许,测试介入的越早越好,这样才能真正保证产品的质量。