软件测试驱动开发全解析
1. 测试人员与功能测试
多个角色,如测试人员、业务分析师、架构师、领域专家和 UI 专家等,可共同讨论规格细节并创建测试用例,以说明特定场景并进行验证。在功能测试方面,应由测试人员编写功能测试用例,而不是由程序员来编写或手动运行验证测试。程序员的职责是协助将这些测试集成到自动化运行环境中。
测试驱动设计和代码的目的并非追求完美,而是为了获得更好的设计,并实现快速可靠的回归测试。不过,这种方法并不能保证零缺陷。当发现或报告了一个缺陷时,应编写因该缺陷而失败的测试用例,然后修复代码并确保所有测试通过,这样可以防止该缺陷在未来再次出现。
此外,要定期关注代码覆盖率。对于采用测试驱动设计的人来说,通常不必纠结于合适的覆盖率数值。如果覆盖率报告显示某些代码未被任何测试(单元测试、功能测试或集成测试)覆盖,应果断移除这些未测试的代码,尤其是在开发过程中发现时,这样做相对容易。即使认为这些代码是必要的,也可以先移除,然后采用测试优先的方式重新实现,这样能更有信心地确保有测试来验证代码的行为。
2. 团队领导和架构师的角色
团队领导和架构师在团队编写自动化测试的能力方面起着至关重要的作用。因为设计和架构对可测试性有重大影响,开发人员也期望从他们那里获得技术实践方面的指导。以下是他们可以协助团队进行测试驱动开发的一些方法:
- 优先考虑可测试性 :在架构和设计的创建与审查过程中,可测试性应列为首要考虑因素。例如,创建服务时,设计一个虚假服务,以便轻松测试依赖该服务的组件。如果应用程序严重依赖第三方服务,要了解这些服务是否提供虚假实现;若没有,则考虑通过适配器路由调用,这样适配器可以
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



