计算机科学

首页 > 计算机科学

测试驱动开发

2018-07-27 10:54:56     所属分类:软件工程
软件开发
核心行动
  • 过程
  • 需求
  • 设计
  • 工程
  • 构造英语Software construction
  • 测试
  • 调试
  • 部署
  • 维护
范式与模式
  • 原型设计英语Software prototyping
  • 净室英语Cleanroom software engineering
  • 增量建模英语Incremental build model
  • 瀑布模型
  • 敏捷软件开发
  • 螺旋模型
方法论与框架
  • 快速应用程序开发
  • DevOps
  • 极限编程
  • 团队软件流程英语Team software process
  • 个人软件程序
  • 动态系统开发方法英语Dynamic systems development method
  • MSF英语Microsoft Solutions Framework
  • Scrum
  • 看板
  • V模型英语V-Model (software development)
  • FDD英语Feature-driven development
  • MDD英语Model-driven_development
  • 迭代式开发
  • 精益开发
  • 开发运维一体化
  • 统一流程英语Unified Process
支持行为
  • 配置管理
  • 文档
  • 质量保证
  • 项目管理英语Software project management
  • 用户体验
实践
  • ATDD英语Acceptance test–driven development
  • 行为驱动开发
  • 持续整合
  • 持续交付
  • 域驱动开发
  • 结对编程
  • 站会
  • 测试驱动开发
工具
  • 编译器
  • 调试工具
  • 性能分析
  • GUI设计器英语Graphical user interface builder
  • 建模英语UML tools
  • 集成开发环境
  • 组建自动化
  • 发布自动化英语Application release automation
  • 测试
标准与知识体系
  • 能力成熟度模型集成
  • IEEE标准
  • ISO 9001
  • ISO/IEC标准英语ISO/IEC JTC 1/SC 7
  • SWEBOK英语SWEBOK
  • 项目管理知识体系
  • BABOK英语BABOK


测试驱动开发英语:Test-driven development,缩写为TDD)是一种软件开发过程中的应用方法,由极限编程中倡导,以其倡导先写测试程序,然后编码实现其功能得名。测试驱动开发始于20世纪90年代。测试驱动开发的目的是取得快速反馈并使用“illustrate the main line”方法来构建程序。

测试驱动开发是戴两顶帽子思考的开发方式:先戴上实现功能的帽子,在测试的辅助下,快速实现其功能;再戴上重构的帽子,在测试的保护下,通过去除冗余的代码,提高代码质量。测试驱动着整个开发过程:首先,驱动代码的设计和功能的实现;其后,驱动代码的再设计和重构。

目录

  • 1 测试驱动开发中测试的特征
  • 2 应用领域
  • 3 测试驱动开发相关讨论
    • 3.1 正面评价
    • 3.2 负面评价
  • 4 参见
  • 5 外部链接

测试驱动开发中测试的特征

测试驱动开发中需求分析和详细设计的范畴,在代码基本完毕以后,并且这些测试也成为单元测试的一个部分。

应用领域

新软件的开发,历史系统的维护。

测试驱动开发相关讨论

正面评价

  • 可以有效的避免过度设计带来的浪费。但是也有人强调在开发前需要有完整的设计再实施可以有效的避免重构带来的浪费。
  • 可以让开发者在开发中拥有更全面的视角。

负面评价

  • 开发者可能完成满足了测试的代码,而忽略了对实际需求的实现。有实践者认为用结对编程的方式可以有效的避免这个问题。
  • 会放慢开发实际代码的速度,特别对于要求开发速度的原型开发造成不利。这里需要考虑开发速度需要包含功能和品质两个方面,单纯的代码速度可能不能完全代表开发速度。
  • 对于GUI,资料库和Web应用而言。构造单元测试比较困难,如果强行构造单元测试,反而给维护带来额外的工作量。有开发者认为这个是由于设计方法,而不是开发方法造成的困难。
  • 使得开发更为关注用例和测试案例,而不是设计本身目前,对于这个观点有较多的争议。
  • 测试驱动开发会导致单元测试的覆盖度不够,比如可能缺乏边界测试。在实际的操作中,和非测试驱动开发一样,当代码完成以后还是需要补充单元测试,提高测试的覆盖度。

参见

  • 极限编程

外部链接

  • c2 wiki's Test Driven Development Pages
  • Test Driven News Group
版权声明:本文由北城百科网创作,转载请联系管理获取授权,未经容许转载必究。https://www.beichengjiu.com/computerscience/339065.html

显示全文

取消

感谢您的支持,我会继续努力的!

扫码支持
支付宝扫一扫赏金或者微信支付5毛钱,阅读全文

打开微信扫一扫,即可进行阅读全文哦


上一篇:结对编程
下一篇:维护版本
相关推荐
爱淘宝