September 25, 2015 Introduction to QASymphony for [INSERT COMPANY NAME] # Continues testing in AGILE The audio for this webinar is delivered through your computer. There is no dial-in number. Make sure your speakers are turned up or use a pair of headphones. Don’t Forget About Testing PRACTICAL DEVOPS & Continuous Delivery
AGENDA TABLE OF CONTENTS The DevOps Story1 Agile/DevOps & Testing2 Continuous Testing, Integration and Delivery3 Tools and Techniques4 Role Transitions on Demand5
#agileid2017#agileid2017 DevOps – What we hear?
DevOps ? • It’s Not (Just) Tools • It’s Not (Just) Culture • It’s Not (Just) Devs and Ops • It’s Not (Just) A Job Title • It’s Not Everything #agileid2017#agileid2017
What is DevOps ? #agileid2017#agileid2017 DevOps Tools Process People
DevOps ? “DevOps is a culture, not a role! The whole company needs to be doing DevOps for it to work” Mike Dilworth #agileid2017
History of DevOps ? #agileid2017#agileid2017 Patrick Debois and Andrew Shcafer presented paper in Agile Conference, Canada in 2008. They talked about applicability of Agile Principles in Infrastructure. John Allspaw and Paul Hammond gave the seminal “10 deploys per Day: Dev and Ops cooperation at Flickr during Velocity conference in 2009 Patrick Debois got inspired by above idea and created the first DevOpsDays in Ghent, Belgium in 2009. There the term “DevOps” was coined.
Who is doing DevOps ? #agileid2017#agileid2017 Web Pioneers • Amazon • Netflix • Etsy • Facebook • Google • Twitter • Pinterest Academia • Portland State University • Seton Hill University • Kansas State University Financial Institutions • BNY Mellon • Bank of America • World Bank Retailers • Target • The Gap • Nordstrom • REI • Macy’s Insurance companies • Nationwide • Travelers
Yesterdays practices may not meet today’s demand. Why DevOps ? Source: https://puppet.com/resources/whitepaper/2016-state-of-devops-report
End to End Responsibility
What DevOps is Not / Common Myths DevOps is all about tools DevOps involves only Development and Operations There is only “One Way” to do DevOps DevOps is about reducing the staff by half DevOps is 100% end to end Automation DevOps only works well with Startups #agileid2017
Agile & DevOps Agile differs from Waterfall in creating shorter, more integrated cycles that generate code more quickly, allowing teams to react to changes as they come and reduce risk and waste Source: http://www.kenwayconsulting.com/wp-content/uploads/2012/03/Agile-v-Waterfall.jpg
Agile & DevOps #agileid2017
WHAT IT MEANS FOR QUALITY? Agile/DevOps means more frequent development cycles, often with more regular code delivery. What does this mean for quality? 1. Testers must be involved and aligned with the entire development process. 2. Testing will happen much more regularly, in smaller increments. 3. Testing will follow development more closely, in tandem with coding #agileid2017
HOW TO OPTIMIZE TESTING FOR AGILE Get Testers Involved Early Embed testers within product or scrum teams, making sure they have a seat at the table in planning discussions and provide insights around quality and testing considerations Embrace Frequent, if not Continuous, Testing As agile promotes frequent code merges, builds, and deployments, employ a process that allows the most vital testing to be identified and executed efficiently Decrease the Time from Design to Test With 2-3 agile sprints, we do not have weeks (or even days) to define and automate test cases, adopt a process for manual or automated tests that allows tests to closely follow designs #agileid2017
Thank YouWHY CONTINUOUS TESTING? WHY CONTINUOUS TESTING? #agileid2017
Use Continuous Testing…  To control side effects  To avoid software defect snowball  To efficiently support multiple platforms, environments and release versions  To get fast results in a short time cycle  To anticipate risks  To create an agile, reliable and repeatable process  Release in hours not months #agileid2017
Continuous Quality Improvement #agileid2017
Thank YouWHY CONTINUOUS TESTING? CONTINUOUS INTEGRATION #agileid2017
What is CI “In short, it is an integration of code into a known or working code base” “Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.” #agileid2017
CI Workflow #agileid2017
Thank YouWHY CONTINUOUS TESTING? CONTINUOUS DELIVERY #agileid2017
Continuous Delivery & Deployment Take 1 of 2 #agileid2017
Continuous Delivery & Deployment Take 2 of 2 Continuous Deployment Continuous Delivery  Essentially, it is the practice of releasing every good build to users While continuous deployment implies continuous delivery the converse is not true  Implementing continuous delivery means making sure your software is always production ready throughout its entire lifecycle - that any build could potentially be released to users at the touch of a button using a fully automated process in a matter of seconds or minutes.  What makes continuous deployment special is deploying every change that passes the automated tests to production  Continuous deployment is the next step of continuous delivery. (Source: puppet) #agileid2017
Thank YouWHY CONTINUOUS TESTING? TOOLS #agileid2017
A NEW BREED OF TOOLS Automation is undergoing even more dramatic changes than manual testing, with a new breed to tools: ● Open source: to provide lower cost and allow more members to contribute automation ● Cross Platform: to accommodate for multi channel experience across web, mobile, & desktop ● DevOps Capable: reliable, with ability to be run quickly and in parallel to allow for fast, frequent builds #agileid2017
OPEN SOURCE AUTOMATION Every category of automation tool is undergoing pressure from open source options: Unit Testing ● jUnit ● nUnit/xUnit UI Testing ● Selenium ● Protractor Load/Performance ● jMeter ● Gatling CI / Build ● Jenkins ● Travis Orchestration ● Puppet ● Chef Configuration Management ● Docker ● Selenium Grid #agileid2017
Thank You PEOPLE #agileid2017
MOVING FROM SILOS TO EMBEDDED TESTERS Siloed Testers Embedded Testers #agileid2017
A NEW BREED OF TESTER Testers in the past were able to work independently, focusing on discrete issues with less collaboration Agile testers do not have that luxury, they must be much more: 1. Collaborative, as they might be a single tester working inside a product team full of developers & analysts 2. Adaptable, as they might be required to wear 4 or 5 hats in any given day 3. Well versed, as they may be reassigned to many different projects within one organization #agileid2017
Takeaways for the Testers Testers should focus on learning a broader set of skills, rather than going deep in one specific area: Staying with manual testing is not going to be fun. Team Skills ● Collaborating in diverse teams ● Managing conflict across teams ● Hiring and retaining top talent in fast growing companies ● Creating a team culture of trust and buy in Technology Skills ● Understanding and contributing to application code ● Understanding and contributing to automation (functional, unit testing) ● Expanding knowledge of additional testing types (performance, security, etc.) ● Expanding knowledge of build & release pipeline Managerial Skills ● Motivating teams under high pressure ● Estimating and planning in agile organizations ● Managing agile project on both time and budget #agileid2017
References #agileid2017 ● QA Symphony ● Blog - DevOps Culture Shift ● Google (for images)
#agileid2017

Practical Devops and Continous Delivery

  • 1.
    September 25, 2015 Introductionto QASymphony for [INSERT COMPANY NAME] # Continues testing in AGILE The audio for this webinar is delivered through your computer. There is no dial-in number. Make sure your speakers are turned up or use a pair of headphones. Don’t Forget About Testing PRACTICAL DEVOPS & Continuous Delivery
  • 2.
    AGENDA TABLE OF CONTENTS The DevOps Story1 Agile/DevOps& Testing2 Continuous Testing, Integration and Delivery3 Tools and Techniques4 Role Transitions on Demand5
  • 3.
  • 4.
    DevOps ? • It’sNot (Just) Tools • It’s Not (Just) Culture • It’s Not (Just) Devs and Ops • It’s Not (Just) A Job Title • It’s Not Everything #agileid2017#agileid2017
  • 5.
    What is DevOps? #agileid2017#agileid2017 DevOps Tools Process People
  • 6.
    DevOps ? “DevOps isa culture, not a role! The whole company needs to be doing DevOps for it to work” Mike Dilworth #agileid2017
  • 7.
    History of DevOps? #agileid2017#agileid2017 Patrick Debois and Andrew Shcafer presented paper in Agile Conference, Canada in 2008. They talked about applicability of Agile Principles in Infrastructure. John Allspaw and Paul Hammond gave the seminal “10 deploys per Day: Dev and Ops cooperation at Flickr during Velocity conference in 2009 Patrick Debois got inspired by above idea and created the first DevOpsDays in Ghent, Belgium in 2009. There the term “DevOps” was coined.
  • 8.
    Who is doingDevOps ? #agileid2017#agileid2017 Web Pioneers • Amazon • Netflix • Etsy • Facebook • Google • Twitter • Pinterest Academia • Portland State University • Seton Hill University • Kansas State University Financial Institutions • BNY Mellon • Bank of America • World Bank Retailers • Target • The Gap • Nordstrom • REI • Macy’s Insurance companies • Nationwide • Travelers
  • 9.
    Yesterdays practices maynot meet today’s demand. Why DevOps ? Source: https://puppet.com/resources/whitepaper/2016-state-of-devops-report
  • 10.
    End to EndResponsibility
  • 11.
    What DevOps isNot / Common Myths DevOps is all about tools DevOps involves only Development and Operations There is only “One Way” to do DevOps DevOps is about reducing the staff by half DevOps is 100% end to end Automation DevOps only works well with Startups #agileid2017
  • 12.
    Agile & DevOps Agilediffers from Waterfall in creating shorter, more integrated cycles that generate code more quickly, allowing teams to react to changes as they come and reduce risk and waste Source: http://www.kenwayconsulting.com/wp-content/uploads/2012/03/Agile-v-Waterfall.jpg
  • 13.
  • 14.
    WHAT IT MEANSFOR QUALITY? Agile/DevOps means more frequent development cycles, often with more regular code delivery. What does this mean for quality? 1. Testers must be involved and aligned with the entire development process. 2. Testing will happen much more regularly, in smaller increments. 3. Testing will follow development more closely, in tandem with coding #agileid2017
  • 15.
    HOW TO OPTIMIZETESTING FOR AGILE Get Testers Involved Early Embed testers within product or scrum teams, making sure they have a seat at the table in planning discussions and provide insights around quality and testing considerations Embrace Frequent, if not Continuous, Testing As agile promotes frequent code merges, builds, and deployments, employ a process that allows the most vital testing to be identified and executed efficiently Decrease the Time from Design to Test With 2-3 agile sprints, we do not have weeks (or even days) to define and automate test cases, adopt a process for manual or automated tests that allows tests to closely follow designs #agileid2017
  • 16.
    Thank YouWHY CONTINUOUS TESTING? WHYCONTINUOUS TESTING? #agileid2017
  • 17.
    Use Continuous Testing… To control side effects  To avoid software defect snowball  To efficiently support multiple platforms, environments and release versions  To get fast results in a short time cycle  To anticipate risks  To create an agile, reliable and repeatable process  Release in hours not months #agileid2017
  • 18.
  • 19.
  • 20.
    What is CI “Inshort, it is an integration of code into a known or working code base” “Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.” #agileid2017
  • 21.
  • 22.
  • 23.
    Continuous Delivery &Deployment Take 1 of 2 #agileid2017
  • 24.
    Continuous Delivery &Deployment Take 2 of 2 Continuous Deployment Continuous Delivery  Essentially, it is the practice of releasing every good build to users While continuous deployment implies continuous delivery the converse is not true  Implementing continuous delivery means making sure your software is always production ready throughout its entire lifecycle - that any build could potentially be released to users at the touch of a button using a fully automated process in a matter of seconds or minutes.  What makes continuous deployment special is deploying every change that passes the automated tests to production  Continuous deployment is the next step of continuous delivery. (Source: puppet) #agileid2017
  • 25.
  • 26.
    A NEW BREEDOF TOOLS Automation is undergoing even more dramatic changes than manual testing, with a new breed to tools: ● Open source: to provide lower cost and allow more members to contribute automation ● Cross Platform: to accommodate for multi channel experience across web, mobile, & desktop ● DevOps Capable: reliable, with ability to be run quickly and in parallel to allow for fast, frequent builds #agileid2017
  • 27.
    OPEN SOURCE AUTOMATION Everycategory of automation tool is undergoing pressure from open source options: Unit Testing ● jUnit ● nUnit/xUnit UI Testing ● Selenium ● Protractor Load/Performance ● jMeter ● Gatling CI / Build ● Jenkins ● Travis Orchestration ● Puppet ● Chef Configuration Management ● Docker ● Selenium Grid #agileid2017
  • 28.
  • 29.
    MOVING FROM SILOSTO EMBEDDED TESTERS Siloed Testers Embedded Testers #agileid2017
  • 30.
    A NEW BREEDOF TESTER Testers in the past were able to work independently, focusing on discrete issues with less collaboration Agile testers do not have that luxury, they must be much more: 1. Collaborative, as they might be a single tester working inside a product team full of developers & analysts 2. Adaptable, as they might be required to wear 4 or 5 hats in any given day 3. Well versed, as they may be reassigned to many different projects within one organization #agileid2017
  • 31.
    Takeaways for theTesters Testers should focus on learning a broader set of skills, rather than going deep in one specific area: Staying with manual testing is not going to be fun. Team Skills ● Collaborating in diverse teams ● Managing conflict across teams ● Hiring and retaining top talent in fast growing companies ● Creating a team culture of trust and buy in Technology Skills ● Understanding and contributing to application code ● Understanding and contributing to automation (functional, unit testing) ● Expanding knowledge of additional testing types (performance, security, etc.) ● Expanding knowledge of build & release pipeline Managerial Skills ● Motivating teams under high pressure ● Estimating and planning in agile organizations ● Managing agile project on both time and budget #agileid2017
  • 32.
    References #agileid2017 ● QA Symphony ●Blog - DevOps Culture Shift ● Google (for images)
  • 33.