测试驱动开发 Test-driven development

简介:

 测试驱动开发(Test-driven development)是极限编程中倡导的程序开发方法,以其倡导先写测试程序,然后编码实现其功能得名。
  正面评价
  可以有效的避免过度设计带来的浪费。但是也有人强调在开发前需要有完整的设计再实施可以有效的避免重构带来的浪费。
  可以让开发者在开发中拥有更全面的视角。
  负面评价
  开发者可能只完成满足了测试的代码,而忽略了对实际需求的实现。有实践者认为用结对编程的方式可以有效的避免这个问题。
  会放慢开发实际代码的速度,特别对于要求开发速度的原型开发造成不利。这里需要考虑开发速度需要包含功能和品质两个方面,单纯的代码速度可能不能完全代表开发速度。
  对于GUI,资料库和Web应用而言。构造单元测试比较困难,如果强行构造单元测试,反而给维护带来额外的工作量。有开发者认为这个是由于设计方法,而不是开发方法造成的困难。
  使得开发更为关注用例和测试案例,而不是设计本身。目前,对于这个观点有较多的争议。
  测试驱动开发会导致单元测试的覆盖度不够,比如可能缺乏边界测试。在实际的操作中,和非测试驱动开发一样,当代码完成以后还是需要补充单元测试,提高测试的覆盖度。
  测试驱动开发 - 开发过程
  概括起来,测试驱动开发的基本过程如下:
  (1) 明确当前要完成的功能。可以记录成一个 TODO 列表。
  (2) 快速完成针对此功能的测试用例编写。
  (3) 测试代码编译不通过。
  (4) 编写对应的功能代码。
  (5) 测试通过。
  (6) 对代码进行重构,并保证测试通过。
  (7) 循环完成所有功能的开发。

最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
9月前
|
测试技术 Shell Go
译 | Prefer table driven tests(一)
译 | Prefer table driven tests
52 0
|
9月前
|
存储 测试技术 Go
译 | Prefer table driven tests(二)
译 | Prefer table driven tests(二)
61 0
|
6月前
|
XML JSON 前端开发
从单页面应用到 Hypermedia-Driven Application Architecture
从单页面应用到 Hypermedia-Driven Application Architecture
34 0
|
6月前
|
XML JSON 网络架构
Hypermedia-Driven Application Architecture 介绍
Hypermedia-Driven Application Architecture 介绍
34 0
|
7月前
如何在 ABAP Development Tool 创建新的 ABAP Cloud 项目
如何在 ABAP Development Tool 创建新的 ABAP Cloud 项目
53 0
|
9月前
|
缓存 测试技术 Go
译 | Prefer table driven tests(三)
译 | Prefer table driven tests(三)
57 0
|
敏捷开发 测试技术
上下文驱动测试(Context-Driven-Testing)
上下文驱动测试(Context-Driven-Testing)
106 0
上下文驱动测试(Context-Driven-Testing)
|
存储 JavaScript IDE
使用Cloud Application Programming模型开发OData的一个实际例子
刚刚过去的SAP TechEd上,SAP CTO Juergen Mueller向外界传递了一个重要的信息:身处云时代大环境下的SAP从业者,在SAP云平台上该如何选择适合自己的开发方式?
128 0
使用Cloud Application Programming模型开发OData的一个实际例子
|
XML Android开发 数据格式
ABAP Development Tool前后台交互的原理
ABAP Development Tool前后台交互的原理
134 0
ABAP Development Tool前后台交互的原理
Jerry带您了解Restful ABAP Programming模型系列之二:Action和Validation的实现
相信通过Jerry的前一篇文章 30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用,想必大家对Restful ABAP Programming模型已经有了一个最基本的了解吧? 简单回忆一下,我们在前一篇文章里,在SAP云平台ABAP编程环境里创建了一个Z表,然后基于这张自定义数据库表创建了CDS view,基于该view创建Service Definition,把view暴露成服务,然后通过Behavior Definition实现对Z表的增删改查。
630 0