Integrate Agile Testing into the Process

Slides:



Advertisements
Similar presentations
Why Use Test Driven Development (TDD)?.  Why the need to change to TDD.  Talk about what TDD is.  Talk about the expectations of TDD.
Advertisements

Interoperability. What is testing? Where have we come from? Where are we now? Why is nFocus at MSAIC? Overview.
Agile at ON.Lab Bill Snow VP of Engineering. What is waterfall? RequirementsDesignDevelopTest Or Requirements Design Develop Test Time.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1.
Project Management with TFS 1. What TFS offers for Project Management? Work Item tracking 2 Portfolio backlog Backlog Issue tracking Feature Product Backlog.
Agile development By Sam Chamberlain. First a bit of history..
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Agile-SCRUM. Introduction to SCRUM Sanil Xavier What is Scrum?
Problem with Software Requirements are complex The client does not know the functional requirements in advance Requirements may be changing Technology.
PopMedNet Software Development Life Cycle Chayim Herzig-Marx Harvard Pilgrim Health Care Institute Daniel Dee Lincoln Peak Partners.
Introduction to Continuous Integration Mike Roberts.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Chapter 3 – Agile Software Development Lecture 2 1Chapter 3 Agile software development.
FINAL DEMO Apollo Crew, group 3 T SW Development Project.
Michael Burnside Blog: Software Quality Assurance, Quality Engineering, and Web and Mobile Test.
Chapter 3 Agile Software Development (2/2) Yonsei University 2 nd Semester, 2013 Sanghyun Park.
Agile Software Development Chapter 3 – Lecture 1 Adrián Susinos.
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.
Chapter 3 – Agile Software Development Lecture 2 1Chapter 3 Agile software development.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
With a hint of HP Quality Center Agile development and functional testing: friend or foe? Tom Vercauteren, June 26th, 2009.
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
Anubha Gupta | Software Engineer Visual Studio Online Microsoft Corp. Visual Studio Enterprise Leveraging modern tools to streamline Build and Release.
MNP1163 (Software Construction).  SDLC and Construction Models  Construction Planning  Construction Measurement.
Definition of Done in the Age of DevOps Intel Agile and Lean Development Conference Piotr Żmijewski May 22 nd, 2014.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
Phoenix Scrum User Group Simplifying Scrum Online May 21 st 2009.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
What’s New in SPEED APPS 2.3 ? Business Excellence Application Services.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova An Introduction to Scrum and XP Prof. Riccardo Berta.
Introducing an Agile Process to an Organization By Mike Cohn and Doris Ford IEEE Computer.
Software Development.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Project Management with VSTS
Scrum.
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Constructing Deploying and Maintaining Enterprise Systems
Appendix B Agile Methodologies
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Testing Process Roman Yagodka ISS Test Leader.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Paul Ammann & Jeff Offutt
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
CS 577b: Software Engineering II
Pega 9/14/2018 8:48 AM Definition of Done = ready for PO acceptance
As implemented for CSM Field Session
Some Important Techniques For Regression Testing That You Must Know.
Scrum MODULE 3 – Part 3.
Johanna Rothman Create Technical Excellence Chapter 9
X in [Integration, Delivery, Deployment]
روش‌های سريع الانتقال (چابک) توسعه نرم افزار
Summarizing Our Models to Date
Johanna Rothman Know What “Done” Means Chapter 11
Definition of Ready.
Agile practices for documentation teams
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
Dr. Rob Hasker SE 3800 Note 9 Reviews.
System Construction and Implementation
Agile Development – a new way of software development?
Appendix B Agile Methodologies
Looking at XP, Scrum, Kanban or Lean
Extreme Programming.
Scrum in Action.
Agile Development.
Definition of Done – why it matters
Presentation transcript:

Integrate Agile Testing into the Process CS 577b Software Engineering II -- Introduction 13 June 2018 Integrate Agile Testing into the Process CS 577b Software Engineering II Supannika Koolmanojwong © 2002-6 USC Center for Software Engineering

Outline How to integrate agile concept in testing Definition of Done Acceptance Criteria HW 1

Agile Testing Practices TDD Pair Programming Refactoring Continuous integration

Why testing at the end does not work ? It is hard to improve the quality of an existing product Think about legacy system or existing system Mistakes continue unnoticed Finding a needle in haystack The state of the project is difficult to gauge Difficult to estimate test & fix activities of the developed product Feedback opportunities are lost Testing is more likely to be cut Ref: Mike Cohn – Succeeding with Agile (2010)

But !! “it will take too much time to test continuously. We need to be realistic and acknowledge that it’s better to test every fifth or sixth sprint.” When you test less often, it takes longer. Usually these are the cases of manual testing. Then, you should start introducing automated testing. Ref: Mike Cohn – Succeeding with Agile (2010)

But !! “it’s more efficient to have testers working one sprint behind the programmers.” If you test one sprint behind, who will you go when you have questions. Efficient for programmer or the team? Ref: Mike Cohn – Succeeding with Agile (2010)

What building in quality looks like? The use of good engineering practices Small hand-offs between programmers and testers Programmer and tester talk about which capability will be added to the product next Tester creates automated tests, programmers code Once both are done, integrate Much test activity on the first day of a sprint Ref: Mike Cohn – Succeeding with Agile (2010)

Nine principles Speed requires discipline Bad shortcuts  short term speed Agile does not need Quality Police, but the ones who know acceptance criteria and risks Lisa Hendrickson: ttp://testobsessed.com/wp-content/uploads/2011/04/AgileTestingOverview.pdf

Lisa Hendrickson: ttp://testobsessed Lisa Hendrickson: ttp://testobsessed.com/wp-content/uploads/2011/04/AgileTestingOverview.pdf

Lisa Hendrickson: ttp://testobsessed Lisa Hendrickson: ttp://testobsessed.com/wp-content/uploads/2011/04/AgileTestingOverview.pdf

Lisa Hendrickson: ttp://testobsessed Lisa Hendrickson: ttp://testobsessed.com/wp-content/uploads/2011/04/AgileTestingOverview.pdf

Lisa Hendrickson: ttp://testobsessed Lisa Hendrickson: ttp://testobsessed.com/wp-content/uploads/2011/04/AgileTestingOverview.pdf

Lisa Hendrickson: ttp://testobsessed Lisa Hendrickson: ttp://testobsessed.com/wp-content/uploads/2011/04/AgileTestingOverview.pdf

Lisa Hendrickson: ttp://testobsessed Lisa Hendrickson: ttp://testobsessed.com/wp-content/uploads/2011/04/AgileTestingOverview.pdf

Lisa Hendrickson: ttp://testobsessed Lisa Hendrickson: ttp://testobsessed.com/wp-content/uploads/2011/04/AgileTestingOverview.pdf

Lisa Hendrickson: ttp://testobsessed Lisa Hendrickson: ttp://testobsessed.com/wp-content/uploads/2011/04/AgileTestingOverview.pdf

Lisa Hendrickson: ttp://testobsessed Lisa Hendrickson: ttp://testobsessed.com/wp-content/uploads/2011/04/AgileTestingOverview.pdf

Definition of Done Checklist of conditions that must be true Must be ready before a backlog is pulled into a sprint during sprint planning

Sample of DoD Upgrade verified while keeping all user data intact. Potentially releasable build available for download  Summary of changes updated to include newly implemented features Inactive/unimplemented features hidden or greyed out (not executable) Unit tests written and green Source code committed on server Jenkins built version and all tests green Code review completed (or pair-programmed) How to Demo verified before presentation to Product Owner Ok from Product Owner http://www.scrum-breakfast.com/2012/11/sample-definition-of-done.html

Sample of DoD Code produced (all ‘to do’ items in code completed) Code commented, checked in and run against current version in source control Peer reviewed (or produced with pair programming) and meeting development standards Builds without errors Unit tests written and passing Deployed to system test environment and passed system tests Passed UAT (User Acceptance Testing) and signed off as meeting requirements Any build/deployment/configuration changes implemented/documented/communicated Relevant documentation/diagrams produced and/or updated Remaining hours for task set to zero and task closed http://www.allaboutagile.com/definition-of-done-10-point-checklist/

How to build a definition of done ? Brainstorm What are essential ? Identify non-iteration/sprint artifacts Which one can not be done every iteration? Capture impediments Identify obstacles why a particular artifact will not be available at the end of the iteration Commitment Get a consensus http://www.gettingagile.com/2007/10/05/building-a-definition-of-done/

Things to look at Installation build Pass all automated tests in staging environment Sign Off Pass Audit Installation Documentation Accepted by Operations Release Notes Updated Training Manuals Updated http://www.gettingagile.com/2007/10/05/building-a-definition-of-done/

http://www. scrumalliance http://www.scrumalliance.org/articles/106-definition-of-done-a-reference

Acceptance Criteria http://nomad8.com/acceptance_criteria/

Acceptance Criteria http://nomad8.com/acceptance_criteria/

HW 1 Based on your project artifacts, distribute user stories among your team members Pick three different user stories to write acceptance criteria Pick one test case to write test procedure No two team members will have the same user stories or test case.

Example of a Test Case

Example of test procedure