NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

测试驱动开发?还是测试驱动需求?

  • 2007-11-21
  • 本文字数:753 字

    阅读完需:约 2 分钟

从哪开始练习测试驱动开发?和需求一起,还是设计?或者是另一种方式,自顶向下或向底向上?当你不用代码写第一个测试时,这个测试应该怎么表现出来呢?在敏捷社区中,这两种方法都被实践过,但在如何提供更大的价值这一点上没有达成一致。

Kinderman 和一些 rails 开发者交谈中,问他们使用什么样的方法,是自底向上的 TDD 呢,还是自顶向下的 TDD ?他期望每个人都从自顶向下——也就是说,从需求开始,为需求写测试,然后构建一个系统来满足且仅满足这些需求(这也就是行为驱动开发(BDD))。但令他惊讶的是,他发现几乎所有人都采用从底向上的方式。

“自底向上”这种方式存在的问题是:直到实现了调用者(clients)后,才知道这个调用者真正需要什么组件。而为了实现这些调用者,开发人员还要想这些使用者是如何被它们的调用者所使用的。这使我们会一直追溯到设计的顶点!真希望开发者深思熟虑以后,他们能写出一套完整的测试,来测试那个能够直接解决调用者需求的组件。但是,根据我的经验,这是非常罕见的。事实上,对于它的调用者来说,这些低层组件实现的功能很难用,要么太多,要么太少,要么太笨拙,要么太复杂。

正如 Ryan 所述,这似乎是要么都做,要么都不做。可是,另外一些人写功能测试(或自动化验收测试)也有很长时间了,而且是先写测试。这种方式有时被叫作故事驱动开发测试驱动需求(TDR), 或行为驱动开发(BDD)。那些使用测试驱动开发(有自底向上的,也有自顶向下的)来实践这种方式的人发现,这样不仅提高质量,而且有助于在客户、开发人员和测试人员之间建立社会性文化。
那么,你怎么做 TDD 呢?你用自顶向下方式,还是自底向上?你的团队用 TDR 吗?你用哪种方式呢?还是两种都用?最重要的一点,你这么做的目标是什么?

查看英文原文: Test Driven Development or Test Driven Requirements?

2007-11-21 00:351298
用户头像

发布了 100 篇内容, 共 20.9 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

springboot 整合 thymeleaf,java技术核心卷二

Java 程序员 后端

SpringBoot中的yaml语法及静态资源访问问题,mysql面试笔试题

Java 程序员 后端

Spring Boot 项目的这些文件都是干啥用的?,java电子书免费

Java 程序员 后端

Spring Cloud Gateway修改请求和响应body的内容

Java 程序员 后端

springboot入门教程,4000多页合集的计算机、网络、算法知识总结

Java 程序员 后端

SpringBoot源码学习系列之嵌入式Servlet容器

Java 程序员 后端

Spring中注解,java电话面试技巧

Java 程序员 后端

Spring MVC—XML配置与注解配置+使用注解完成请求参数绑定

Java 程序员 后端

Spring--快速入门,rabbitmq面试题总结

Java 程序员 后端

Spring MVC+Spring+Mybatis实现支付宝支付功能

Java 程序员 后端

SpringBoot基于微服务架构的前后端分离博客系统源码免费赠送

Java 程序员 后端

Spring MVC面试题(2020最新版),java书籍入门下载

Java 程序员 后端

SpringBoot中好用的数据连接池,入职3个月的Java程序员面临转正

Java 程序员 后端

SpringCloudRPC调用核心原理:RxJava响应式编程框架,其他操作符

Java 程序员 后端

SpringMVC--请求参数绑定,spring菜鸟教程

Java 程序员 后端

SpringBoot---错误处理机制,kafka实现负载均衡的原理

Java 程序员 后端

SpringBoot2---指标监控,kalilinux教程下载

Java 程序员 后端

SpringBoot基于微服务架构的前后端分离博客系统源码免费赠送(1)

Java 程序员 后端

SpringBoot配置文件,springboot项目案例百度云

Java 程序员 后端

SpringCloud Alibaba 入坑(六),java开发程序员面试题

Java 程序员 后端

Spring boot记录sql探索,java堆和栈面试题

Java 程序员 后端

Spring-Boot-+-Redis-实现接口幂等性,看这篇就太好了

Java 程序员 后端

Spring 数据库配置文件进行解密操作,和网易大佬的技术面谈

Java 程序员 后端

springboo 使用自定义的 Tomcat,java常用的设计模式面试

Java 程序员 后端

SpringBoot---入门和配置,深入java虚拟机百度云

Java 程序员 后端

SpringBoot整合SpringSecurity超详细入门教程

Java 程序员 后端

Spring Cloud入门-Zuul服务网关(Hoxton版本)

Java 程序员 后端

Spring Cloud原理详解,java程序员进阶

Java 程序员 后端

Springboot过滤器和拦截器详解及使用场景,nginx原理和架构

Java 程序员 后端

Spring Boot 精讲,看完你还敢说你不会 Spring Boot ?

Java 程序员 后端

Spring Cloud Gateway自定义过滤器实战(观测断路器状态变化)

Java 程序员 后端

测试驱动开发?还是测试驱动需求?_研发效能_Amr Elssamadisy_InfoQ精选文章