Acceptance Criteria

Key Sharing Points:

Summary of Acceptance Criteria

Characteristics of Acceptance Criteria

Examples of writing Acceptance Criteria

Backgrounds:

When we write a story, it always has at least one acceptance criteria attached to it (and if the story itself is written as though it were a happy path, those acceptance criteria can be the story itself). But stories usually have more acceptance criteria than just the happy path. Writing acceptance criteria makes your story ready for development. Key facts of Story Writing are listed as follows:

Priority

Acceptance criteria

Knowing what the end to end test scenario is /are

Sign off from the clients

An estimate from iteration based on all of the above

What is Acceptance Criteria:

Acceptance Criteria are a way of capturing the expected behavior of the system, written in such a way that we can easily test to see if they have been met.

A set of conditions that the story must meet for it to be accepted as complete

Described by the business – normally during the development phase

From Acceptance Criteria, we're able to get common understanding business requirements, user story exit criteria, a skeleton for test scenario and achievable development objectives.

Keep SMART in mind when defining acceptance criteria: Specific, Measurable, Achievable, Relevant, Time-boxed.

Characteristics of Acceptance Criteria

Acceptance criteria should be used to determine when a story is done. It should be clear enough to explain the steps taken to test the functionality and it must clearly define the intended outcome.

Readable

Acceptance Criteria can be fleshed out in 2 ways; Scenario style or Behavior Driven Development (BDD) style. 

The Behaviour Driven Development approach allows us to set the context for each test condition. This approach helps tease out all possible conditions that can affect the story. 

Given: that my mobile phone is switched on

And: I have sufficient signal to make a call

When: I dial a number

Then: I am connected to the person I want to talk to

And: incoming calls are diverted to my voicemail

Testable

Common issue: Using vague statements

Given: that I have the search page loaded

When: I perform a search

Then: the search results come back within a reasonable period of time

Improved version

Given: that I have the search page loaded

When: I perform a search

Then: the search results come back within 5 seconds

Strong Verb usage

Avoid weak verb forms like should and could– instead use absolute statements. For example: replace "the system should show x" with "the system displays x”.

Given: that I am logged into the system

When: I navigate to the search page

Then: an option to search based on the "Name" field should be displayed

Improved version

Given: that I am logged into the system

When: I navigate to the search page

Then: an option to search based on the "Name" field is displayed

Tell A Story

For complex stories where there are multiple acceptance criteria and exception cases, structure acceptance criteria in such a way that they walk the user through the scenarios in a realistic order with exception cases at the end.

Call Available number

Given: that my mobile phone is switched on

And: I have sufficient signal to make a call

And: the person I am calling is available on the network

When: I dial the number

Then: the screen display indicates that the phone is ringing

And: my incoming calls are diverted to my voicemail

Person answers call

Given: that I have dialed an available phone

And: the phone I am calling is ringing

When: they answer the call

Then: the screen display shows that I am connected

I end the call

Given: that I have dialed an available phone

And: the person I called has answered the call

When: I terminate the call

Then: the screen displays the fact that the call has ended

And: my incoming calls are no longer diverted to my voicemail

Example: Methods to writing Acceptance Criteria

Given the customer has one transaction account and one credit account

When they have completed logging in

ThenThen the screen should show the names and numbers of the two accounts sorted in account number order

Given the customer has just one transaction account

When they have completed logging in

Then the screen should show the name and number of the account

Given the customer has no accounts

When they have completed logging in

Then the screen should show a message stating that no accounts are available

Given the customer has more than 20 accounts

When they have completed logging in

Then the screen should show the first 20 accounts (in account number order) only

Given the customer has some accounts

And they have completed logging in

When the system cannot retrieve the account details

Then the screen should show an error message with associated code and details to contact for support

Thoughts:

Ensure that we have technical people in the room when discussing Acceptance Criteria. Acceptance Criteria is not a Narrative, not a Test, it is Understanding.  Collaboration, communication to reach a shared understanding via this tool will drive great effectiveness.

Reference:

参考书目:《User Stories Applied: For Agile Software Development》 (中文名:用户故事和敏捷方法)

延伸阅读:项目管理中的敏捷实践

本文作者万学凡,ThoughtWorks首席咨询师,武汉。作者保留本文一切权利,未经许可请勿转载

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,616评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,020评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,078评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,040评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,154评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,265评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,298评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,072评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,491评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,795评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,970评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,654评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,272评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,985评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,815评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,852评论 2 351

推荐阅读更多精彩内容