Robert C. Martin 对验收测试的解释
作 为验证工具来说,单元测试是必要的,但是不够充分。单元测试用来验证系统的小的组成单元应该按照所期望的方式工作,但是它们没有验证系统作为一个整体时工 作的正确性。单元测试是用来验证系统中个别机制的白盒测试(white-box tests)。验收测试是用来验证系统满足客户需求的黑盒测试(black-box tests)。
验收测试由不了解系统内部机制的人编写。客户可以直接或者和一些技术人员(可能是QA人员)一起来编写验收测试。验收测试是程序,因此是可以运行的。然而,通常使用专为应用程序的客户创建的脚本语言来编写验收测试。
验收测试是关于一项特性(feature)的最终的文档。一旦客户编写完成了验证一项特性的验收测试,程序员就可以阅读那些验收测试来真正地理解这项特性。所以,正如单元测试作为可编译、运行的有关系统内部结构的文档那样,验收测试是有关系统特性的可编译、执行的文档。
此 外,首先编写验收测试的行为对于系统的构架方面具有深远的影响。为了使系统具有可测试性,就必须要在很高的系统构架层面对系统进行解耦合。例如,为了使验 收测试无需通过用户界面(UI)就能够获得对于业务规则的访问,就必须要以满足这个目的的方式来解除用户界面和业务规则之间的耦合。
在 项目迭代的初期,会受到用手工的方式进行验收测试的诱惑。但是,这样做使得在迭代的初期就丧失了由自动化验收测试的需要带来的对系统进行解耦合的促进力, 所以是不明智的。当在最早开始迭代时,如果非常清楚地知道必须要自动化验收测试,就会做出非常不同的系统构架方面的权衡。并且,正如单元测试可以促使你在 小的方面做出优良的设计决策一样,验收测试可以促使你在大的方面做出优良的系统构架决策。
创建一个验收测试框架(framework)看起来是件困难的任务。然而,如果仅仅创建框架中对单个迭代包含的特性进行验收测试所需要的那部分,就会发现并不困难。你还会发现所花费的努力是值得的。
摘自:Robert C. Martin《敏捷软件开发:原则、模式与实践》
相关推荐
The Robert C. Martin Clean Code Collection - Martin, Robert C_.mobi by The Robert C. Martin Clean Code Collection - Martin, Robert C_.mobi (z-lib.org)
The Robert C. Martin Clean Code Collection. The Robert C. Martin Clean Code Collection.
Practical Software Architecture Solutions from the Legendary Robert C. Martin (“Uncle Bob”) By applying universal rules of software architecture, you can dramatically improve developer productivity...
Clean Architecture - Robert C. Martin,英文版,原版epub格式,以及azw3和mobi。
Clean Architecture - Robert C. Martin,英文版,mobi格式,适合kindle和电脑看。官方epub转换,自带完整目录,格式很好
敏捷软件开发,Jolt大奖获得者经典著作 学软件工程的一定要看哦
罗伯特·C·马丁(Robert C. Martin)的书《清洁代码》(Clean Code)中的软件工程原理适用于PHP。 这不是样式指南。 这是在PHP中生产可读,可重用和可重构软件的指南。 清理代码PHP目录目录简介变量使用有意义且可...
数据结构与程序设计(英文版)Data Structures and Program Design in C++ Robert L. Kruse 数据结构与程序设计C++语言描述 作 者:(美)克鲁斯
飞机运动仿真
类应该对扩展开放,对修改关闭。 SRP - 单一职责原则 - 一个类应该有一个,而且只有一个,改变的理由。 DIP - 依赖倒置原则 - 类应该依赖于抽象,而不是具体的细节。 第1章干净的代码 编写干净的代码需要纪律。 我们...
罗伯特·C·马丁(Robert C. Martin)收集了有关面向对象设计的。 其中的前五个(即所谓的SOLID原则)处理类的设计。 SOLID是Robert C. Martin(也称为Bob叔叔)的前五个面向对象设计(OOD)原理的首字母缩写。 ...
CleanCodeSynthesis:Robert C. Martin编写的Clean Code的简短合成
C++编程惯用法——高级程序员常用方法和技巧(Robert B. Murray).pdf..............
Robert F.Pierret著 Semiconductor Device Fundamentals的英文讲义的01-03章。 目前只有这么多。
CleanCode Robert C.Martin撰写的“清洁代码”一书的注释存储库。 注意:此项目仅供私人使用。 不要克隆它。
Robert V.Hogg, Allen T.Craig - Introduction to Mathematical Statistics (4th Edition).pdf
Fundamentals of Power Electronics Robert W. Erickson
C和C++安全编码(原书第2版)[美]ROBERT C.SEACORD.rar C和C++安全编码(原书第2版)[美]ROBERT C.SEACORD.rar C和C++安全编码(原书第2版)[美]ROBERT C.SEACORD.rar
PHP 和 PHPUnit 中的“主要因素” Kata 这是 Robert C. Martin 的 到 PHP 的端口,以及使用编写的单元测试。
在这本书中,由享誉全球的软件开发专家和软件工程大师Robert C.Martin所著,他是敏捷开发的创始人之一。主要向读者展示如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本书是综合性、实用...