基于story的敏捷基础知识----story编写

为什么使用Story?

软件行业40年多来,需求分析技术已经很成熟了,但是MRD驱动的过程不堪重负。因为往往MRD编写会占去很多时间,MRD评审又会占去大量时间,编码完成过后提测,压力又全部倾注在QA身上,往往临计划上线时间,或者体验还差,或者bug还太多,或者项目延期。

使用story,项目完成时间会大大缩短,上市时间大大缩短。主要原因:

A. 采用story模式,将大需求拆为可独立交付的小story,需求清晰明了,节省了大量的需求评审时间。

B. story足够小,设计难度较低,并且改之前的书面详细设计及其评审为“口头沟通为主,文档为辅”,详设环节的时间也大量节省。

C. story足够小,验收标准更明确,测试设计环节简化,评审环节改为口头沟通,节约了大量设计时间。

D. story间并行,不是之前的所有需求评审完成,才开始详设,详设没问题之后才开始编码和测试,因此将需求阶段PM的瓶颈,开发阶段RD的瓶颈、测试阶段QA的瓶颈都被打破。

E. 将RD从文档和评审中解放出来,RD更有时间也更愿意去自测和写单测,bug量减少。

什么是Story?

整个项目:

story:

story 包括三部分:用户故事卡片、详细描述、验收标准。

(1)用户故事卡片

三要素:用户、任务和活动、目标

框架:

作为

xxx
我想要 xxxxx
以便 xxxx

实例:

作为 一个书店管理员
我想要 添加新书到书库
以便 购书者能查阅到这本书

(2)详细描述

对如何实现“我想要”的详细描述。

(3)验收标准

Q1:如何确定Story已经完成?

通过验证验收标准里的一系列内容,就能验证实现符合story的需求。

Q2:验收条件通常包括哪些?

a.具体属性

b.功能性验收条件

c.非功能性验收条件

好的Story有哪些特点?

  1. Independent    可以独立开发
  2. Negotiable     可以协商
  3. Valuable      有价值
  4. Estimable      大小可评估
  5. Sized appropriately 合适粒度(1~5天验收完成)
  6. Testable      可测试验证

Story的生命周期是什么样的?

敏捷测试(3)--基于story的敏捷基础知识的更多相关文章

  1. 测试工具Fiddler(一)—— 基础知识

    Fiddler基础知识 一.Fiddler是什么? Fiddler是一个http协议调试代理工具,它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据.设置断点. ...

  2. 基于Python的Flask基础知识

    Flask简介 Flask 是一个使用 Python 编写的轻量级 Web 应用程序框架.Armin Ronacher带领一个名为Pocco的国际Python爱好者团队开发了Flask. 下面我们简单 ...

  3. APP测试入门篇之APP基础知识(001)

    前言        最近两月比较多的事情混杂在一起,静不下心来写点东西,月初想发表一遍接口测试的总结,或者APP测试相关的内容,一晃就月底了,总结提炼一时半会也整不完.放几个早年总结内部培训PPT出来 ...

  4. 【考试】java基础知识测试,看你能得多少分?

    1 前言 共有5道java基础知识的单项选择题,每道20分,共计100分.解析和答案在最后. 2 试题 2.1 如下程序运行结果是什么? class Parent { public Parent(St ...

  5. 敏捷测试(6)--基于story的敏捷基础知识

    基于story的敏捷基础知识----需求管理(三) (3)每日站会 站会的目的有三个: (1)周知进度 仅从用户故事和任务的层面周知进度,任务进度只有两种状态:完成或未完成(完成百分比). (2)周知 ...

  6. 敏捷测试(4)--基于story的敏捷基础知识

    基于story的敏捷基础知识----需求管理(一) 基于story进行需求管理 (1)使用story模式来管理需求,将庞大的MRD划分为一个个合适粒度,且可独立交付的story(通常每个story能在 ...

  7. 敏捷测试(7)--基于story的敏捷基础知识

    基于story的敏捷基础知识----迭代启动会.迭代回顾会 除需求讲解意外,需要所有团队成员参加的会议仅有两个,分别是"迭代启动会"和"迭代回顾会". (1)迭 ...

  8. 敏捷测试(5)--基于story的敏捷基础知识

    基于story的敏捷基础知识----需求管理(二) (1)定期发布 定期发布上线,把整个项目划分为一个个迭代,每个迭代时间大小固定(基本固定),迭代结束时上线交付一次. (2)迭代规划 迭代规划相当于 ...

  9. APP敏捷测试,测试和开发并行!

    测试和开发具有同等重要的作用,从一开始,测试和开发就是相向而行的.测试是开发团队的一支独立的.重要的支柱力量. 测试要具备独立性,独立分析业务需求,独立配置测试环境,独立编写测试脚本,独立开发测试工具 ...

随机推荐

  1. 迭代器&生成器

    迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退 ...

  2. map函数用法详解

    map函数是Python内置的高阶函数,它是一个典型的函数式编程例子.它的参数为: 一个函数function.一个或多个sequence.通过把函数function依次作用在sequence的每个元素 ...

  3. 用tensorlayer导入Slim模型迁移学习

    上一篇博客[用tensorflow迁移学习猫狗分类]笔者讲到用tensorlayer的[VGG16模型]迁移学习图像分类,那麽问题来了,tensorlayer没提供的模型怎么办呢?别担心,tensor ...

  4. sshpass笔记

    sshpass简介 ssh登录的时候使用的是交互式输入,不能预先在命令行使用参数指定密码,sshpass就是为了解决这个问题的.sshpass提供非交互式输入密码的方式,可以用在shell脚本中自动输 ...

  5. Java内存泄漏分析系列之一:使用jstack定位线程堆栈信息

    原文地址:http://www.javatang.com 前一段时间上线的系统升级之后,出现了严重的高CPU的问题,于是开始了一系列的优化处理之中,现在将这个过程做成一个系列的文章. 基本概念 在对J ...

  6. 安卓高级4 第三方库SlidingMenu的使用

    源码位于github上(本人fork地址):点击进入地址 效果图: 使用方法:下载源码后 解压其中的文件夹library 到任意地方 修改library中gragle 其方法参考另一个博客(建议先修改 ...

  7. 有没有最好的学习Angularjs2的视频入门体验?

    Which are the best video tutorials for learning AngularJS 2? 有没有最好的学习Angularjs2的视频入门体验? 翻译来源:https:/ ...

  8. [Boost] 1.57.0 with VS2013 + Intel compiler

    The compiled version can be found below. Do not foget to give me a star. :) http://pan.baidu.com/s/1 ...

  9. Texlive 更新命令

    设置repository tlmgr repository set http://mirror.hust.edu.cn/CTAN/systems/texlive/tlnet 上面的例子使用的是华中科技 ...

  10. C算法实现:将字符串中的数字返回为整型数

    今天看linux内核驱动的代码,发现一个算法写得挺简单,也有意思. 分享一下我的测试代码: #include <stdio.h> typedef int U32 ; U32 String2 ...