Acceptance criteria vs. Functional requirements by Anna Dąbrowska.

Slides:



Advertisements
Similar presentations
Behavior Driven Test Development
Advertisements

Welcome to Rotor Clips Online Services Tutorial username ************ You will first be prompted to enter your user name and password. Your user name.
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Software Testing Fundamentals
ECATS “The Honeywell Web-based Corrective Action Solution” CAR Process Last Revised: August 19 th 2008 Honeywell Confidential & Proprietary.
Intro to Scrum. What is Scrum? An answer to traditional “fixed cost / strict requirements” contracts which had very high rates of failure Recognizes the.
 What is FitNesse / Slim? (10’)  Setting up FitNesse – demo (10’)  Introduction to Snacks-R-Us (10’)  Iteration 1 (35’)  Iteration 2 (35’)  Integration.
1 Design by Contract Building Reliable Software. 2 Software Correctness Correctness is a relative notion  A program is correct with respect to its specification.
Lecture 2 Teams Principles What makes a good project Project Definition Project Plan.
Analysis Concepts and Principles
Testing HCI Usability Testing. Chronological order of testing Individual program units are built and tested (white-box testing / unit testing) Units are.
SE 555 Software Requirements & Specification Requirements Validation.
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
Functional Requirements – Use Cases Steve Chenoweth & Chandan Rupakheti (Chapters 14, 21 – Requirements Text)  Quiz question 9 relates to this, when you’ve.
Maintenance = Software Evolution Any changes after the client has accepted the product is considered maintenance. n Any Changes? n What might these be?
Living Requirements using Behavior Driven Development
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Thinking Actively in a Social Context T A S C.
Background The Encyclopedio of Life (EOL) is an ROR open source project to create a free, online reference source and database for every one of the 1.8.
Behaviour Driven Development with Cucumber for Java.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Professor Rosenstand’s GUIDE TO ESSAY TESTS:
Project Management : Techniques and Tools (60-499) Fall 2014 / Winter 2015.
SWEN 302: AGILE METHODS Roma Klapaukh & Alex Potanin.
Mobile Aps: Agile Mentoring Review
INTRODUCTION TO WORDPRESS. About WordPress The free service that we will use from WordPress is often used as blogging software – very little knowledge.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Software Requirements (Advanced Topics) “Walking on water and developing software from a specification are easy if both are frozen.” --Edward V Berard.
Michel Grootjans Pascal Mestdach.  Michel Grootjans ◦ Enterprise Architect ◦
Requirements Analysis via Use Cases SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
Michel Grootjans Pascal Mestdach.  Michel Grootjans ◦ Enterprise Architect ◦
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
BA Team: Product Ownership, Analysis, and Solution Design BA Bi-Weekly Mini-meeting May 19, Acceptance Criteria Defining Success one Story.
The Long Tail Why the future of business is selling less of more ▫ISBN = ▫Chris Anderson Low Distribution and Inventory costs allow companies.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
1 Design and Integration: Part 2. 2 Plus Delta Feedback Reading and lecture repeat Ambiguous questions on quizzes Attendance quizzes Boring white lecture.
Software from Requirements Brent Haines April 12, 2007 Why Methodology Doesn’t Really Matter.
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Extreme Programming Based on and
Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.
Intermediate 2 Computing Unit 2 - Software Development.
Concurrency Properties. Correctness In sequential programs, rerunning a program with the same input will always give the same result, so it makes sense.
A TV program with this sign has a English caption that was made a correction. The guide to captions for Shizuoka University Television Step. 1 Please click.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System A Use Case Primer Organizing.
1 What is the Software Life Cycle? The stages of developing a software application Requirements Analysis High-level Design Plan Low-level Design Implementation.
BEHAVIOR DRIVEN TEST DEVELOPMENT Specification by Example All Rights Reserved - Sound Agile Consulting.
Michel Grootjans Pascal Mestdach.  Michel Grootjans ◦ Enterprise Architect ◦
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
#msdevcon Community Track IMPLEMENTATION OF SCRUM Bernardin Katić Insa Investment Software AG.
Levitra 20 mg Getting started with Firefox New to Firefox? Well you’ve come to the right place. This article covers all the basics and will get you up.
User Stories > Big and Small
Development Environment
CMPE 280 Web UI Design and Development August 29 Class Meeting
September 20, 2017 Agile Techniques Workshop Susan Futey
9/14/2018 6:28 AM How to create Learning Plans in Partner University Mary Sutton October 2017 © 2014 Microsoft Corporation. All rights reserved. MICROSOFT.
CSC480 Software Engineering
Teaching slides Chapter 3.
Strategies For Software Test Documentation
Guidance notes for Project Manager
“Would I have to do this all by myself …….?”
Use Case Modeling.
Extreme Programming.
Iteration Planning.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Presentation transcript:

Acceptance criteria vs. Functional requirements by Anna Dąbrowska

1.Who? 2.What? 3.Why? User stories Never go into development without the story or narrative having: priority story or narrative (depending on complexity) acceptance criteria knowing what the end to end test scenario is /are sign off from the customer for all of the above an estimate from iteration based on all of the above

What are Acceptance Criteria? Acceptance Criteria are a set of statements, each with a clear pass/fail result, that can be measured and specify both functional and non- functional requirements. Acceptance Criteria are the conditions that a software product must satisfy to be accepted by a user, customer, or in the case of system level functionality, the consuming system.

Why to write? Define the boundaries for a user story/feature Help the product owner answer what she needs in order for this feature to provide value (typically these are the minimum functional requirements) Help the team gain a shared understanding of the story/feature (BEFORE development has started) Help developers and testers to derive tests Help developers know when to stop adding more functionality to a story *Icons are created by Nathanael Coyne

How to write? Good acceptance criteria: State an intent not a solution (e.g. “The user can choose an account” rather than “The user can select the account from a drop-down”) Are independent of implementation Are relatively high level (not every detail needs to be in writing) Are SMART Have observable result Include actor/actions/environment/conditions/context Are written from user perspective

How not to write? Watch out for Ambiguous language Subjective/Judgemental language (Better, Good, Allowable) Generalisations (All the time, Never, Everyone, Always) Observed behaviour that is not directly related to the story currently under consideration

Methods to write 1.Scenario style approach Happy Path Alternative Path Bad Path 2.BDD style acceptance criteria Given When Then

When to write? ! Avoid is writing acceptance criteria after development has started

WHAT is expected, and not HOW the functionality will be implemented. What. Not How Functional requirementsAcceptance criteria Requirements are what you're supposed to do in terms of given story. Acceptance Criteria are the agreed upon measures to prove you've done. Acceptance Criteria are defined as conditions that a User Story must satisfy to be accepted by a user, customer or other stakeholder.

Example. Try to write Functional requirements 1.Site language corresponds to chosen one 2.Language can be changed 3.Default language icon appears in top right corner 4.English is a default language 5.Dropdown with list of languages appears by clicking on language flag in right top corner 6.User can select language by clicking on corresponding one in drop-down menu 7.Site content changes to selected language after user has clicked on its name/icon in switching drop-down 8.List of languages and translations are grabbed from admin panel As a user I want to switch application language so that I understand app content

Example. Try to write 1. User can change site language 2. Site content corresponds to selected language 3.Translation is correct and doesn’t contain critical mistakes 4. Translated content doesn't break any specific layout 5. No bugs of high and normal priority related to switching languages remain open Acceptance criteria As a user I want to switch application language so that I understand app content

Questions?