Proprietary Material Provided for Training Purposes Only © 2012 Excella Consulting, Inc.

Slides:



Advertisements
Similar presentations
Continuous Integration (CI) By Jim Rush Version Control Build Test Report.
Advertisements

Taking a Waterfall Project Agile REF: Paul Geberth GCSS-J Project Manager Establishment of an Agile Project.
Local Touch – Global Reach The New Tester Matthew Eakin, Manager Managed Testing Practice Sogeti, USA.
Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency. All rights reserved. TEA confidential and proprietary.
2004 Cross-Platform Automated Regression Test Framework Ramkumar Ramalingam, Rispna Jain IBM Software Labs, India.
Roadmap to Continuous Integration Testing and Benefits Gowri Selka, Walgreens Natalie Koltun, Walgreens May 20th, 2014 ©2013 Walgreen Co. All rights reserved.
Discover how to improve productivity by going DevOps and SAFe.
© copyright 2014 BMC Software, Inc. DevOps consultant Niek Bartholomeus Going DevOps with BMC.
Improving Software Quality with Continuous Integration
Deployment and Configuration Management Solution
Continuous Integration for Databases Learn how to automate your build and test Steve Jones Red Gate Software Part II of the Continuous Delivery for Databases.
Introduction to Continuous Integration Mike Roberts.
 Definitions  Background/History  Continuous Delivery › How to practice Continuous Delivery  Continuous Integration  Continuous Integration Tools.
Continuous Integration after Hudson, CruiseControl, and Home Built Mile High Agile 2011 – Mark Waite.
DNN LOVES JENKINS FOR CONTINUOUS INTEGRATION
By John Boal  Continuous Integration [CI] ◦ Automating the build process ◦ Build the entire system each time any new.
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
THE CONTINUOUS DELIVERY ZONE Craig Berntson Chief Software Gardener Mojo Software Worx.
Development Best Practices Concepts & Microsoft’s Approach.
Dr. Rob Hasker. Logistics  Class roster, attendance policy  Book, Schedule, policies, grading  Course web site  Prereq check:  SE 2800, Software.
@benday #vslive Automated Build, Test & Deploy with TFS, ASP.NET, and SQL Server Benjamin
OPM: the USAJOBS Product Owner Perspective By Alesia Booth & Richard Cheng.
Craig Berntson
Software Testing Life Cycle
Version control Using Git Version control, using Git1.
Continuous Processes By Kelvin Zhu CSCI577B Spring 2013.
Continuous Integration
Build Processes and Continuous Integration Automating Build Processes Software University Technical Trainers SoftUni Team.
Perforce Software Version Everything.. Visual Studio Industry Partner Perforce Software NEXT STEPS Contact us at: Perforce products.
Continuous Integration Mile High Agile 2012 – Mark Waite 3 April 2012.
Build automation. Prerequisites for Continuous Integration (CI)  Version Control System  Build automation  Notification on build result sent to related.
Team Foundation Server 2010 Introductory presentation.
Lecture XIII: Continuous Integration CS 4593 Cloud-Oriented Big Data and Software Engineering.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
It’s tough out there … Software delivery challenges.
TSSG Case Study: Using Free & Open Source Tools to Manage Software Quality EECS811: Software/IT Project Management Agile Integration Management Case Study.
Continuous Integration for Databases Steve Jones SQLServerCentral Red Gate Software.
1. ENTERPRISE AGILE TRANSFORMATION AT THE US POSTAL SERVICE MAY 24, Agile Business Solutions.
1 Punishment Through Continuous Delivery If it hurts, do it more often…
Test all the things! Improving code quality at the OU with Continuous Integration MoodleMoot Ireland UK 2016 Mark Johnson Tony Lin.
Introduction Aaron Day ● Software Architect ● Open Solutions Interests and Hobbies ● Family ● Software Development ● Woodworking ● Gaming ● Shooting.
Bridget Dongarra and Richard Cheng OPM: Stakeholder Collaboration and Individual Interactions.
1 © Agitar Software, 2007 Automated Unit Testing with AgitarOne Presented by Eamon McCormick Senior Solutions Consultant, Agitar Software Inc. Presented.
Continuous Integration for Databases Steve Jones SQLServerCentral Red Gate Software.
Real Testing Scenario Strategy: A Real-life TestOps Environment
Software Engineering “Practical Approach”
Automated Build and Test
Joonas Sirén, Technology Architect, Emerging Technologies Accenture
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Leverage your Business with Selenium Automation Testing
Continuous Delivery- Complete Guide
Continuous Integration (CI)
Software Testing.
Trends like agile development and continuous integration speak to the modern enterprise’s need to build software hyper-efficiently Jenkins:  a highly.
Quality assurance platform for mobile apps, available as hosted SaaS or onsite deployment
Advantages OF BDD Testing
Continuous Integration For Databases
Continuous Performance Engineering
Quantifying Quality in DevOps
X in [Integration, Delivery, Deployment]
Real Testing Scenario Strategy: Bringing this all together – Success!
Automated Testing and Integration with CI Tool
DAT381 Team Development with SQL Server 2005
Continuous Integration
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
HCL’s Viewpoint – DevOps on MS Cloud
Office 365 Development July 2014.
Jamie Cool Program Manager Microsoft
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Presentation transcript:

Proprietary Material Provided for Training Purposes Only © 2012 Excella Consulting, Inc.

Richard Cheng ◊Agile trainer & coach ◊Member of PMI, Scrum Alliance, Agile Alliance, Agile Leadership Network ◊CST, PMP, CSM, CSPO, CSP, PMI-ACP ◊Founder & executive committee member of Agile Defense Adoption Proponents Team (ADAPT), the Agile DoD Task Force ◊Deep expertise in Federal and commercial Agile transformations

Quality and the Business Analyst Validates workValidates correctnessValidates usability

◊Building Quality into the process –Real time identification of quality issues Automation –Using the right tools and techniques 21 st Century Quality Practices

Benefits* Assuming 100 defects in 10,000 lines of code 1.Traditional testing finds a defect in about 10 hours 2.Manual code inspections find a defect in 1 hour 3.Automated testing finds a defect every 6 minutes *Sources: Grant, T. (2005). Continuous integration using cruise control. Northern Virginia Java Users Group (Novajug), Reston, Virginia, USA. Fredrick, J. (2008). Accelerate software delivery with continuous integration and testing. Japanese Symposium on Software Testing, Tokyo, Japan. Rico, D. F. (2012). The Cost of Quality (CoQ) for Agile vs. Traditional Project Management. Fairfax, VA: Gantthead.Com.

Technology Stacks ◊.Net ◊Java ◊Python ◊Ruby ◊JavaScript ◊Others….

Don’t Do It All At Once Do This First 1.Version Control 2.Build Automation 3.Automated Unit Testing 4.Continuous Integration Do This First 1.Version Control 2.Build Automation 3.Automated Unit Testing 4.Continuous Integration Next Do This 5.Static Code Analysis 6.Dependency Management Next Do This 5.Static Code Analysis 6.Dependency Management Then Do This 7.Automated Integration Testing 8.Automated Acceptance Testing 9.Deployment Automation Then Do This 7.Automated Integration Testing 8.Automated Acceptance Testing 9.Deployment Automation

First Do This 1. Version Control –What: Repository to persist and track version of code and artifacts –Effort: Low –Sample Tools: Traditional – TFS (MS), Subversion Distributed Version Control (branching and merging) - Git, Mercurial

First Do This 2. Build Automation –What: One click or one command launch of build process –Effort: Low –Sample Tools: Microsoft – MSBuild, Powershell Java/Others – Ant, Gradle, Maven

First Do This 3. Automated Unit Testing –What: An automated stand alone test that test a single unit of the code. –Effort: Medium –Sample Tools: Unit test tools: JUnit (Java), NUnit (MS), MS Test (MS) Advanced tools: Moq, Fluent Assertions

First Do This 4. Continuous Integration –What: Provides frequent verification and notification of changes to the code and application –Effort: Medium –Sample Tools: Jenkins, Hudson, TFS (MS), TeamCity

Continuous Integration Build #1 compile unit test integration test package deploy/run acceptance test analyze code Build Report Version Control change #1 change #2 Build Server Build #2 compile unit test integration test package deploy/run acceptance test analyze code Build Report Failed Build

Continuous Integration ◊CI involves: –Frequent code check-ins –Regularly scheduled, automated builds –Automated tests –Immediate feedback to developers detailing any build errors or failed tests ◊Benefit: –Developers know immediately upon check-in if their code works and if any other application features were broken as a result

CI Effect on Schedule Code PhaseQA PhaseCode PhaseQA Phase Code Phase Code + Test Phase Schedule Release 1 Release 2 Original Plan Reality With CI

Benefits of Continuous Integration ◊Avoids last-minute chaos at release dates ◊Early warnings of broken code ◊Early warning of conflicting changes ◊Immediate testing of all changes ◊High availability of a "current" build for testing, demo, or release purposes

Don’t Do It All At Once Do This First 1.Version Control 2.Build Automation 3.Automated Unit Testing 4.Continuous Integration Do This First 1.Version Control 2.Build Automation 3.Automated Unit Testing 4.Continuous Integration Next Do This 5.Static Code Analysis 6.Dependency Management Next Do This 5.Static Code Analysis 6.Dependency Management Then Do This 7.Automated Integration Testing 8.Automated Acceptance Testing 9.Deployment Automation Then Do This 7.Automated Integration Testing 8.Automated Acceptance Testing 9.Deployment Automation

Next Do This 5) Static Code Analysis –What: Checks for coding standards and code quality –Effort: Low –Sample Tools: Visual Studio Code Analysis, FindBugs (Java), PMD, Cobertura, Sonar, CheckStyle

Code Quality

Next Do This 6) Dependency Management –What: Manages 3 rd party components and ensure we have the latest / correct version these components –Effort: Low –Sample Tools: Gradle, NuGet

Don’t Do It All At Once Do This First 1.Version Control 2.Build Automation 3.Automated Unit Testing 4.Continuous Integration Do This First 1.Version Control 2.Build Automation 3.Automated Unit Testing 4.Continuous Integration Next Do This 5.Static Code Analysis 6.Dependency Management Next Do This 5.Static Code Analysis 6.Dependency Management Then Do This 7.Automated Integration Testing 8.Automated Acceptance Testing 9.Deployment Automation Then Do This 7.Automated Integration Testing 8.Automated Acceptance Testing 9.Deployment Automation

Then Do This 7. Automated Integration Testing –What: Testing interaction between multiple components to ensure our component dependencies don’t break –Effort: Medium to High –Sample Tools: DBUnit (Java), NDBUnit (MS)

Then Do This 8. Automated Acceptance Testing –What: Automated testing to ensure the systems meets business needs –Effort: High –Sample Tools: SpecFlow, Cucumber, FitNess –For Browser Testing: Selenium, WatiN

Automated Tests ◊Automated tests involves: –Unit tests: Testing of smallest possible piece of code that can operate in isolation –Integration tests: Testing interaction between multiple components –Acceptance tests: Testing complete segments of a system to ensure it meets the business needs ◊Benefits –Enables rapid discovery of root cause –Reduces defect rate –Saves time in system test –Ensures testing starts early in cycle –Provides for a free regression testing suite

Testing Quadrant Functional Tests Acceptance Tests Unit Tests Component Tests System Tests Showcases Exploratory Tests Usability Tests Performance Tests Security Tests The Team The Product Functionality The System from Brian Marick

Then Do This 8. Automated Deployment –What: Push button deployment capabilities –Effort: High –Sample Tools: FluentMigrator, Puppet, Octopus

Automated Deployments Sandbox Production Version Control CI Server DB Web Server DB Test DB Web Server DB Web Server Automated Nightly Deployments Push Button Deployments Managed Deployments

Benefits of Automated Deployments ◊Reduces complexity by using standardized script ◊Reduces risk by re-running same script ◊Reduces cost by speeding up deployment ◊Frees up resources to focus on new features

Team Member’s Bill of Rights 1.Every {team member} shall have two monitors 2.Every {team member} shall have a fast PC 3.Every {team member} shall have their choice of mouse and keyboard 4.Every {team member} shall have a comfortable chair 5.Every {team member} shall have a fast internet connection 6.Every {team member} shall have {effective} working conditions Modified from Jeff Atwood’s programmers-bill-of-rights.html

Useful References ◊Stephen Ritchie, Pro.NET Best Practices, Apress, ◊Paul Duvall, Steve Matyas, and Andrew Glover, Continuous Integration: Improving Software Quality and Reducing Risk, Addison-Wesley, ◊Jez Humble, Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation, Addison-Wesley, 2010

Excella Consulting Experience and Expertise in Agile Solutions –Coaching –Training –Assessments –Agile Adoption –Agile Development Teams –Agile PMO Training Courses –Certified ScrumMaster (CSM) –Certified Scrum Product Owner (CSPO): The Agile Business Analyst –Advanced Certified Scrum Product Owner (CSPO) –Certified Scrum Developer (CSD) –Agile Testing –Agile Business Intelligence and Data Warehousing See for more informationhttp://

Contact Information Richard K Cheng