Continuous Integration and Testing

Slides:



Advertisements
Similar presentations
practicing agile development since 2002 csm x 4, cspo x 2 contracted ken schwaber taught agile to 100s agile alliance, acm, ieee mike cohn disciple delivered.
Advertisements

Software Testing How has agile changed the game? Karen Greaves.
An open source QA stack testing tools for agile teams Presented by Aaron Evans
Automated Software Testing: Test Execution and Review Amritha Muralidharan (axm16u)
HP Quality Center Overview.
Prashant Lambat Sr. Manager SQA Engineering Symantec Corporation, Pune Date: 29 th January 2011.
29 September Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will.
CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.
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.
Michael Lepine Agile2013 Recap. What is DevOps?
Alternate Software Development Methodologies
Agile development By Sam Chamberlain. First a bit of history..
How to: Design and Develop an Application to Ensure its Quality James Hippolite Senior.NET Developer Telecom New Zealand Limited James Hippolite Senior.NET.
Validata Release Coordinator Accelerated application delivery through automated end-to-end release management.
Roadmap to Continuous Integration Testing and Benefits Gowri Selka, Walgreens Natalie Koltun, Walgreens May 20th, 2014 ©2013 Walgreen Co. All rights reserved.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
 What is Software Testing  Terminologies used in Software testing  Types of Testing  What is Manual Testing  Types of Manual Testing  Process that.
Agile Testing with Testing Anywhere The road to automation need not be long.
Improving Software Quality with Continuous Integration
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.
QWise software engineering – refactored! Testing, testing A first-look at the new testing capabilities in Visual Studio 2010 Mathias Olausson.
DevOps Jesse Pai Robert Monical 8/14/2015. Agile Software Development 8/14/2015© 2015 SGT Inc.2.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
CompSci 230 Software Design and Construction
Agile Software Development Brian Link
Craig Berntson
Testing – A Methodology of Science and Art. Agenda To show, A global Test Process which work Like a solution Black Box for an Software Implementation.
Business Systems Development SDLC and introduction to the Microsoft Solutions Framework Team and Process Models.
& Dev Ops. Sherwin-Williams & DevOps Introduction to Sherwin-Williams.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
May 29 th, 2003 Curtis Anderson Sivaprasad Padisetty.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky.
MERCURY BUSINESS PROCESS TESTING. AGENDA  Objective  What is Business Process Testing  Business Components  Defining Requirements  Creation of Business.
Confidential Continuous Integration Framework (CIF) 5/18/2004.
IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure
Sofia Event Center May 2014 Branimir Giurov C# MVP Solution Architect BulPros Consulting Continuous Integration of Sharepoint 2013 Solutions with.
July, 2008 Impati – Software Test Solutions. July, Contents Testing Service Overview and Approach Test Services and Industries Key Services Offering.
UHCS 2005, slide 1 About Continuous Integration. UHCS 2005, slide 2 Why do you write Unit Test ? Improve quality/robustness of your code Quick feedback.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
Continuous Integration CruiseControl.Net. Best Practices Use version control; Automate the build; Build should be self tested; Developers must commit.
Agile Software Testing in a Large-Scale Project David Talby and Arie Keren, IAF Orit Hazzan and Yeal Dubinsky, IIT.
Software Testing Process
Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements.
Continuous Integration for Databases Steve Jones SQLServerCentral Red Gate Software.
The Next Level Of Agile: DevOps and CD אוקטובר 2015.
1. ENTERPRISE AGILE TRANSFORMATION AT THE US POSTAL SERVICE MAY 24, Agile Business Solutions.
2014 Build & Infrastructure Engineering What It Is and Why You Need It Na’Tosha J. Bard October 9, 2014 #GHC
Continuous Delivery and Team Foundation Server 2013 Ognjen Bajić Ana Roje Ivančić Ekobit.
EMI is partially funded by the European Commission under Grant Agreement RI Common Framework for Extracting Information and Metrics from Multiple.
CS223: Software Engineering
DevOps for the IT Pro with Azure and Visual Studio Team Services
The Quality Assurance Metric Infrastructure in the EMI Project
Continuous Delivery and Quality Monitoring
(Complex) Problem domain Requirements Specification
Agile Metrics that Matter
Where Agile Business Meets Agile Development
Continuous Integration and Testing
Applied Software Implementation & Testing
X in [Integration, Delivery, Deployment]
Developing Maximum Value
Sharing the good, the bad, the ugly & What can we do about it?
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
Continuous Localization
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Agile Development.
Setup QA Process Software Quality Assurance Telerik Software Academy
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:

Continuous Integration and Testing

Traditional Testing Practices Testing occurs once, near end of project Lots of lead time for test planning, test case generation, test lab and infrastructure setup Test cases don’t change (or don’t change often) Cost of creating is paid once, not continuously Few changes to system once it is specified and designed Tests executed periodically Initially to ensure system meets requirements Regression testing after significant change to ensure nothing broke

Development Process is Continuous No separate “test” phase – integrate and test continuously Features change during release – testing must adapt Testing starts on project’s Day 1 Initial plans, strategies, infrastructure required very early Nightly builds + Adaptive planning + Continuous integration = Testing nightmare Customer/ Stakeholder End User Team Q/A Continuous Quality Review Process Agile practices are an example of advances in development productivity. Let’s discuss some changes Development changes to continuous integration and delivery of business value. Continuous integration exists on even $B projects – integrate, build, and test as early and often as feasible. Release 1.1 Release 1.2 Milestone Beta Iteration Iteration … … … Team Builds

Continuous Development => Test Automation Continuous delivery and builds require automated testing Each build must be validated so future integrations build on a known quantity Test frameworks provide infrastructure to quickly standup unit testing Governance and visibility – which test, on which build, metrics, trends Type of build What tests? Level of automation Developer delivery to CM “Unit” tests (per component) All automated Team “nightly” builds Add “Smoke test” for integration Most automated, limited manual Iteration Add quality tests for coverage, static analysis, metrics, etc. Quality numbers obtained automatically Milestone iteration Add additional scripts per test plan – performance, scalability, stability, etc. Mixed automation/manual, but as automated as possible Quality organizations have changed their relationship with development. Quality used to be in a separate room, walled off so to speak. Send us the product when you think it is completed and we will tell you if it’s good enough. Modern quality organizations work with development – on the same team. Testing strategy, infrastructure, products, staff need to begin early – day one and evolve. Every “build” from development needs some form or quality review Cannot scale to this level without automation. But, embedded systems require a blend of manual and automated testing – scripts plus human intervention

An Example “Code Acceptance Process” Static Verification Dynamic Verification Peer Reviews Unit Test Code Design Unit Test Report Create Regression Tests Write Code Chk Stds Report Chk Defects Report Chk Complexity Report Release From Coding Phase

XP Best Practices: Continuous Integration What is Continuous Integration? Integrate & build the system several times a day Integrate every time a task is completed Let’s you know every day the status of the system Continuous integration and relentless testing go hand-in-hand. By keeping the system integrated at all times, you increase the chance of catching defects early and improving the quality and timeliness of your product. Continuous integration helps everyone see what is going on in the system at all times. If testing is good, why not do it all the time? (continuous testing) If integration is good, why not do it several times a day? (continuous integration) If customer involvement is good, why not show the business value and quality we are creating as we create it (continuous reporting)

Agile Best Practice: Continuous Testing Unit, System, and Integration tests can be run continuously! Requires test automation and reporting framework Post results to a dashboard for all to see Daily standup in the morning starts by checking if the dashboard is “green” Report on your static analysis / metrics while you’re at it! Together with burndown charts, these show business value being built, with an attention to quality, at a sustainable pace

Fowler’s 10 Best Practices for CI From http://martinfowler.com/articles/continuousIntegration.html: Maintain a Single Source Repository Automate the Build Make your Build Self-testing Everyone Commits Everyday Every Commit should Build the Mainline on an Integration Machine Keep the Build Fast Test in a Clone of the Production Environment Make it easy for Anyone to get the Latest Executable Everyone can see what’s Happening Automate Deployment