Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency. All rights reserved. TEA confidential and proprietary.

Slides:



Advertisements
Similar presentations
QuEdge Testing Process Delivering Global Solutions.
Advertisements

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Taking a Waterfall Project Agile REF: Paul Geberth GCSS-J Project Manager Establishment of an Agile Project.
CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.
Chapter 2 – Software Processes
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Agile development By Sam Chamberlain. First a bit of history..
Roadmap to Continuous Integration Testing and Benefits Gowri Selka, Walgreens Natalie Koltun, Walgreens May 20th, 2014 ©2013 Walgreen Co. All rights reserved.
Review: Agile Software Testing in Large-Scale Project Talha Majeed COMP 587 Spring 2011.
Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Agile Testing with Testing Anywhere The road to automation need not be long.
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
Chapter 3 – Agile Software Development Lecture 2 1Chapter 3 Agile software development.
Extreme Programming Software Development Written by Sanjay Kumar.
1 Advanced Computer Programming Project Management: Software Life Cycle Copyright © Texas Education Agency, 2013.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 CSE 403 Software Lifecycle Models Reading: Rapid Development Ch. 7, 25 (further reading: Ch. 21, 35, 36, 20) These lecture slides are copyright (C) Marty.
Continuous Integration and Testing
Chapter 3 Agile Software Development (2/2) Yonsei University 2 nd Semester, 2013 Sanghyun Park.
Craig Berntson
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Teaching material for a course in Software Project Management & Software Engineering – part II.
SYSTEM DYNAMICS MODELING OF AGILE CONTINUOUS DELIVERY PROCESS 資工 4A 鄭鈞輿.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem Darwish.
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.
IT Requirements Management Balancing Needs and Expectations.
Chapter 3 – Agile Software Development Lecture 2 1Chapter 3 Agile software development.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
Software Testing Process By: M. Muzaffar Hameed.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Software Testing 1Software testing. V model Software testing2.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
MTA EXAM Software Testing Fundamentals : OBJECTIVE 6 Automate Software Testing.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
Software Quality Assurance and Testing Fazal Rehman Shamil.
Software Testing Process
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Introduction Requirements and the Software Lifecycle (3)
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
Dr. Rob Hasker. Should every project use Scrum?  When might Scrum not be an appropriate model?  What are some of its limitations? Hard to get the big.
Systems Development Life Cycle
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
REGRESSION TESTING Software Quality Engineering NC Zunaira Tariq Bese 19B Software Quality Engineering NC Zunaira Tariq Bese 19B.
1 Punishment Through Continuous Delivery If it hurts, do it more often…
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Project Management Software development models & methodologies
1 © Agitar Software, 2007 Automated Unit Testing with AgitarOne Presented by Eamon McCormick Senior Solutions Consultant, Agitar Software Inc. Presented.
Software Development.
Software Testing.
Continuous Delivery- Complete Guide
Regression Testing with its types
Software Verification and Validation
Continuous Integration and Testing
Automation – “A Critical Component of Agile testing”
X in [Integration, Delivery, Deployment]
How to Successfully Implement an Agile Project
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
Addressing Test coverage in Continuous Testing
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Bringing more value out of automation testing
Adapting Agile in Pharmaceutical Industries
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Presentation transcript:

Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency. All rights reserved. TEA confidential and proprietary. Using Continuous Integration for Quality Improvement with Agile Mark Gentzel, Project Manager, PMO Manjusha Gokhale, Manager, IV&V Services Texas Education Agency July 14, 2010

Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency All rights reserved. TEA confidential and proprietary. Agenda Problem Statement What Is Continuous Integration (CI)? Comparison Between Waterfall and Agile Using CI within an Agile Environment Specific Agile Technique Waterfall vs. Agile Project Comparison Quality Acceptance Criteria TEA CI Process Benefits for Software Development Benefits for Independent Testing Best Practices and Lessons Learned Conclusion 2

Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency All rights reserved. TEA confidential and proprietary. Problem Statement Adoption of Agile development methodology requires new processes:  Continuous Integration  Continuous quality control  Tighter integration between development and testing teams 3

Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency All rights reserved. TEA confidential and proprietary. What Is Continuous Integration? Integrate development work frequently Integrate and test deliverables frequently rather than waiting until the end of the development cycle Integrations verified by an automated build to detect integration errors as quickly as possible Significantly reduced integration problems Cohesive software developed more rapidly 4

Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency All rights reserved. TEA confidential and proprietary. Comparison Between Waterfall and Agile Classic Waterfall  Long requirements phase before design and development  Long development phase  Testing done post-development with defects returned to team  Rework difficult and complex because of advanced stage of code Modified Agile  Abbreviated requirements phase to gather 40% of the requirements  Abbreviated design phase to develop high-level architecture  Short three-week sprints with code delivery to Independent Verification and Validation (IV&V) post-sprint  User acceptance with production deployment  Rework for previous sprint included in current sprint  Rapid rework because of simplified code at acceptance point  Quicker testing because of functional isolation and established code base for each test delivery 5

Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency All rights reserved. TEA confidential and proprietary. Using CI within an Agile Environment Solution—Extending and updating our Continuous Integration processes  Automated processes where code is subjected to metrics to determine its validity and stability  Metrics vary based on server environment  Example of metrics: Successful compilation Successful automated unit testing Successful regression testing Low cyclomatic complexity 6

Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency All rights reserved. TEA confidential and proprietary. Specific Agile Technique Three-week sprints One major feature or bundle of minor features per sprint Four days of IV&V testing per sprint Requirements gathering completed a few sprints ahead Sprint planning meetings during the week between sprints Sprint retrospecitive meetings the week after sprints 7

Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency All rights reserved. TEA confidential and proprietary. Waterfall vs. Agile Project Comparison 8

Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency All rights reserved. TEA confidential and proprietary. Quality Acceptance Criteria Build compiles successfully Unit tests run successfully and build passes unit tests Build passes code review Build passes all automated functional regression tests Build can be deployed successfully! 9

Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency All rights reserved. TEA confidential and proprietary. TEA CI Process 10 Checks for new code Retrieves new code Deploys Polling CI Processor Builds Code Source Control Processor Code Repository Unit Test Successful Regression Test Successful Complexity Test Successful Automated Test Suites Application Environment

Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency All rights reserved. TEA confidential and proprietary. Benefits for Software Development Ensures that compilation errors are immediately discovered and addressed Provides unit test coverage, ensuring comprehensiveness Provides metrics to ensure that code is not excessively complex Reduces build and deployment times by ensuring stable code bases Ensures that unexpected code variances are detected and addressed Reduces repetitive builds and deployments 11

Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency All rights reserved. TEA confidential and proprietary. Benefits for Independent Testing Continuous code integration Quality control applied continuously to small pieces of code, providing immediate feedback Support of test-driven development Rapid delivery of stable and cohesive software to customers Reduced risk of finding critical bugs later in lifecycle Reduced regression test costs through automated testing Multiple stable labels, for flexibility in test deployment 12

Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency All rights reserved. TEA confidential and proprietary. Benefits for Testing 13 Automated Scripts Introduction

Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency All rights reserved. TEA confidential and proprietary. Benefits for Testing 14

Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency All rights reserved. TEA confidential and proprietary. Best Practices and Lessons Learned Best Practices  Maintain a single source repository  Do frequent check-ins  Automate the build and deployment  Test in a clone of the production environment Lessons Learned  Make the build self-testing  Decide when to integrate to control risk  Test at the right level of granularity  Refactor regularly 15

Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency All rights reserved. TEA confidential and proprietary. Conclusion Continuous Integration for Continuous Quality Control Close collaboration between development and IV&V groups Reduced product delivery time Increase in team productivity leading to reduced costs 16

Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency All rights reserved. TEA confidential and proprietary. Thank You! 17