This document provides an agenda and overview for a presentation on continuous testing, integration, and delivery in an Agile/DevOps environment. The summary includes:
1. The presentation covers the history and concepts of DevOps, how it differs from traditional development practices, and its benefits in allowing for more frequent code integration and delivery.
2. When adopting Agile and DevOps practices, testing must also be continuous and aligned with the new development process, with testing occurring more regularly and closely following development.
3. Continuous integration, delivery, and deployment involve automating the integration and testing of code changes, allowing teams to detect issues early and rapidly release updates that pass testing. Automated testing is key to supporting
VoIP Service and Marketing using Odoo and Asterisk PBX
Practical Devops and Continous Delivery
1. 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
4. 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
5. What is DevOps ?
#agileid2017#agileid2017
DevOps
Tools
Process
People
6. DevOps ?
“DevOps is a 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 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
9. Yesterdays practices may not meet today’s demand.
Why DevOps ?
Source: https://puppet.com/resources/whitepaper/2016-state-of-devops-report
11. 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
12. 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
14. 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
15. 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
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
20. 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
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
26. 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
27. 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
29. MOVING FROM SILOS TO EMBEDDED TESTERS
Siloed Testers Embedded Testers
#agileid2017
30. 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
31. 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