写点什么

由实例驱动的验收测试

  • 2009-01-21
  • 本文字数:793 字

    阅读完需:约 3 分钟

人们一直将测试看做开发工作不可或缺的一部分,代码和测试用例都是敏捷项目的重要产出。然而,在许多敏捷团队中,相较验收测试而言,单元测试和集成测试的地位要更为显著。 Gojko Adzic Lisa Crispin 建议采取措施,将验收测试作为开发工作的一部分。

Gojko 认为有必要以实例编写研讨会的形式来支持验收测试。他认为:在下个迭代开始前,团队应该大致了解一下下个迭代要开发哪些功能。在不干扰当前迭代工作的前提下,有些团队成员可以参加实例编写研讨会。这个研讨会要重点研究如何编写有现实意义的例子,以后好把它们转换成验收测试。在 Gojko 看来:

研讨会的目的,是要在开发人员、业务人员和测试人员之间建立共同的理解,让大家知道接下来两周的工作目标。研讨会更具体的目标,就是产生现实的实例,可供以后转换为验收测试。
……
因为实际的例子是经过讨论并撰写下来的,所以如果大家对需求的理解有什么不一致,在这个阶段很容易发现,也就能够为开发阶段的工作打下坚实基础。当与会每个人都同意编写的实例已经够用而且足够清晰之后,研讨会也就可以结束了。同时,当前迭代要用到的验收测试应该持续不断地进行简化,并以更好的形式组织。

Lisa Crispin 也着重指出了实例在定义验收测试中的重要性。不过,她尤其提醒不应深入过多细节,这样反而会降低效率。在 Lisa 看来,她认为测试策略应该是这样的

  1. 先跟产品负责人开会讨论需求的满意条件,可以提问题,得到实例,切分大故事
  2. 迭代规划
  3. 高级别的验收测试和其他的准备工作,比如获取测试数据和其他更多实例
  4. 详细说明测试用例
  5. 编写可自化运行的 FitNesse 测试(面向业务的测试,可用来指导开发)
  6. 探索性测试,自动化 GUI 冒烟测试

每个用户故事都要进行 4-6 这三个步骤。

因此,验收测试应该作为每个迭代中开发工作的一部分。关键在于让业务团队和开发团队先碰面,并产生足够的实际例子,并以之创建有用的验收测试。

查看英文原文: Example Driven Acceptance Testing

2009-01-21 07:32852
用户头像

发布了 479 篇内容, 共 159.2 次阅读, 收获喜欢 50 次。

关注

评论

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

日拱算法:什么是“情感丰富的文字”?

掘金安东尼

9月月更

Mavan:自定义骨架及工程初始化

程序员架构进阶

maven 低代码 9月日更 9月月更

好代码的五个特质-CUPID

Bright

敏捷 DDD TDD

记一次 swap 导致系统盘高 IOPS 问题排查

卫智雄

linux运维

从改善设计的角度理解TDD

Bright

敏捷 TDD

5 个 JavaScript 写法小技巧分享

掘金安东尼

JavaScript 9月月更

三种获取URL参数值的方法

devpoint

JavaScript URL参数解析 9月月更

k8s自定义controller三部曲之三:编写controller代码

程序员欣宸

Kubernetes Controller 9月月更

IO多路复用中的Select/poll/epoll总结全乎了

知识浅谈

IO多路复用 9月月更

架构实战营模块六作业

zhihai.tu

npm run 脚本背后的事情

汪子熙

node.js 开源 npm YARN 9月月更

Java问题解决录: 运行时抛出NoSuchMethodError / NoSuchFieldError异常

崔认知

Java 键盘输入n个数进行排序输出

排序 java基础 9月月更

Spring源码分析(七)扩展接口BeanPostProcessors源码分析

石臻臻的杂货铺

spring 9月月更

redis数据结构之压缩列表

急需上岸的小谢

9月月更

2022-09-03:n块石头放置在二维平面中的一些整数坐标点上 每个坐标点上最多只能有一块石头 如果一块石头的 同行或者同列 上有其他石头存在,那么就可以移除这块石头。 给你一个长度为 n 的数组

福大大架构师每日一题

算法 rust 福大大

都2022年了,Python Web框架你不会只知道Django和Flask吧?

梦想橡皮擦

Python 9月月更

Kubernetes网络插件详解 - Calico篇 - 网络基础

巨子嘉

FreeRTOS记录(一、熟悉开发环境以及CubeMX下FreeRTOS配置)

矜辰所致

STM32CubeMX FreeRTOS 9月月更

【精通内核】CPU控制并发原理CPU的中断控制

小明Java问道之路

Linux cpu Linux内核 汇编语言 9月月更

云原生(三十五) | Prometheus入门和安装

Lansonli

云原生 k8s 9月月更

在互联网,摸爬滚打了几年,我悟了。面对如今经济形势,普通打工人如何应对?

HullQin

Go golang 后端 websocket 9月月更

大型网站架构

源字节1号

软件架构 后端开发

设计模式的艺术 第二十四章策略设计模式练习(开发一款飞机模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征,为了将来能够模拟更多种类的飞机,试采用策略模式设计该飞机模拟系统)

代廉洁

设计模式的艺术

我理解的Smart Domain与DDD

Bright

敏捷 DDD TDD

挑战30天学完Python:Day1火力全开-初识Python(含系列大纲)

MegaQi

9月月更 挑战30天学完Python

LeetCode二分查找使用JavaScript解题,前端学算法

大师兄

JavaScript 面试 算法 LeetCode 9月月更

Spring源码分析(八)Spring 所有BeanFactoryPostProcessor扩展接口

石臻臻的杂货铺

spring

「知识点」PropTypes提供的验证器

叶一一

JavaScript 前端 9月月更

拆分电商系统为微服务

张立奎

从改善设计的角度理解TDD (2)

Bright

敏捷 TDD

由实例驱动的验收测试_研发效能_Vikas Hazrati_InfoQ精选文章