敏捷软件开发之测试

第4章 测试

编写单元测试是一种验证行为,更是一种设计行为,同时还是一种编写文档的行为

  1. 测试驱动的开发方法
    所谓的测试驱动,就是用测试来驱动开发。先编写测试,这样就迫使自己把程序设计为可测试的。把程序设计为易于调用和可测试的,是非常重要的。程序必须和它周边环境解耦。同时,测试可以作为一种无价的文档形式。测试就像一套范例,可以帮助其他程序员了解如何使用代码。
    书中提供了两个示例,一个是测试优先设计的示例,另一个是测试促使模块之间隔离。同时还说明了意外获得的解耦合
  2. 验收测试
    作为验证工具来说,单元测试是必要的,但是不够充分。因为单元测试是用来验证小的组成单元,但没有作整个系统的验证。而验收测试的关注点则是在整体性能。所以单元测试可以作为白盒测试,而验收测试则是黑盒测试。
    验收测试一般由不了解系统内部机制的人编写。可以由客户或者QA人员来编写。验收测试是关于一项特性的最终文档,可以看作是有关系统特性的可编译、执行的文档。首先编写验收测试对于系统的构架具有深远的影响。为了使系统具有可测试性,必须要在很高的系统构架层面对系统进行解耦合。在项目迭代初期,会受到用手工的方式进行验收测试的诱惑,但这样就丧失了由自动化验收测试带来的对系统进行解耦合的促进力,所以是不明智的。同样,书中提供了一个验收测试的示例,通过验收测试脚本来准备的验收程序,从而获得了一个良好的构架
  3. 结论
    验证仅仅是编写测试的好处之一,单元测试和验收测试都是一种文档形式,那样的文档可以编译和执行的,所以,它是准确和可靠的。测试最重要的好处就是它对构架和设计的影响。为了使一个模块或者应用程序具有可测试性,必须要对它进行解耦合。越是具有可测试性,耦合关系就越弱。全面地考虑验收测试和单元测试的行为对于软件的结构具有深远的正面影响。

你可能感兴趣的:(敏捷软件开发之测试)