SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
T21
Test Automation
5/8/2014 3:00:00 PM
Using DevOps to Improve
Software Quality in the Cloud
Presented by:
Glenn Buckholz
Coveros
Brought to you by:
340 Corporate Way, Suite 300, Orange Park, FL 32073
888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
GlennBuckholz
Coveros
Currently, Glenn Buckholz leads CI and deployment automations efforts at Coveros. Using his
fifteen years of industry experience, Glenn brings success to his customers. Beginning his
career as a consultant implementing automated test frameworks, he introduced the concept of
change management to many, many projects. Glenn then decided to become a part of honest
society and settled down at the Public Company Accounting Oversight Board as their full time
enterprise change manager. After several years, he ventured back into the real world at
Coveros, specializing in implementing agile practices, implementing CI, and engineering
configuration management instead of simply documenting it.
4/26/2014
1
© Copyright 2014 Coveros, Inc. All rights reserved.
Using DevOps to Improve Software
Quality in the Cloud
STAR EAST 2014 – 08 May 2014
Glenn Buckholz
glenn.buckholz@coveros.com
© Copyright 2014 Coveros, Inc. All rights reserved.
Agenda
What did I do?
What is it good for?
Demo
Architecture
Workflow
Orchestration
Cost vs Velocity
Data Analysis
What is Coveros doing with it for customers?
4/26/2014
2
© Copyright 2014 Coveros, Inc. All rights reserved.
What did I do?
Combined several technologies that Coveros is
familiar with plus Puppet to demonstrate a full
implementation of CI (Continuous Integration)
This could be titled “Everything I wanted to do on
Forge.mil but am not allowed.”
Specifically, I cobbled together:
Jenkins
Puppet
Puppet master
EC2
Linux
CURL
ANT
© Copyright 2014 Coveros, Inc. All rights reserved.
What is it good for?
Fail Faster
Used with permission from the people at Extra Credits.
http://www.youtube.com/extracredits
4/26/2014
3
© Copyright 2014 Coveros, Inc. All rights reserved.
Demo
© Copyright 2014 Coveros, Inc. All rights reserved.
Major Points
How is this DevOps?
Releases are engineered, the systems engineer
is simply pushing the button.
If the list of manual installation instructions is
more than one paragraph there is more
engineering work to do. Code is the
documentation.
Operations people now govern the access,
developers govern the how.
New testing concerns.
Deployment code.
OS templates.
Developers now have the job of convincing
operations to run their deployment code.
4/26/2014
4
© Copyright 2014 Coveros, Inc. All rights reserved.
Architecture
© Copyright 2014 Coveros, Inc. All rights reserved.
Workflow
Developer commits code.
Jenkins detects code change.
Proper RPMs are built and distributed to
repositories.
Jenkins contacts EC2 and spins up blank
instances.
Puppet is delivered to the blank instances.
Jenkins works with the Puppet Master for
orchestration.
Jenkins confirms that the application is
running.
Jenkins fires off automated tests.
4/26/2014
5
© Copyright 2014 Coveros, Inc. All rights reserved.
Code Commit – Different
Approaches
Something has to trigger the testing. A code
commit is typically a significant enough
change to require some measure of retesting.
Unit test are the minimum criteria to the
publishing a change.
Even if the code is bad the system must
still run.
By convention, code commits should be
complete and significant.
Each commit now carries a cost.
This should be enforced by training.
For larger projects with large volumes of
© Copyright 2014 Coveros, Inc. All rights reserved.
RPMs Packaging
To move quickly code must be delivered in a
consistent format.
Copying files is too unpredictable and error-
prone.
Permissions
Location
Clean up of old file
Dependency checking
Any of the following are good choices
RPM – Centos, RHEL
Emerge/Portage - Gentoo
Deb – Debian, Ubuntu
4/26/2014
6
© Copyright 2014 Coveros, Inc. All rights reserved.
Cloud Provider
The main issue is elasticity.
Number of servers will vary.
Tests will be running in parallel.
Need a way to catalog all the machines
Assign metadata to VMs
Ability to group VMs and test results
by deployment
Automatically mapping code commits
to cloud deployments is necessary for
proper bookkeeping.
© Copyright 2014 Coveros, Inc. All rights reserved.
OS templates
Each OS must originate with a standard template.
All change must be managed by Puppet or some
other deployment language
If the OS is not standard too much time will be spent
engineering around OS peculiarities
CM must be mastered
Every change to a standard OS must be recorded.
Every change must be programmed, no hand-
jamming
All deployments are now hands-off
You can almost get Continuous Delivery for free.
OS Customizations for only two reasons
Integrate into the Jenkins/Puppet
Integrate into the cloud provider from a standard
4/26/2014
7
© Copyright 2014 Coveros, Inc. All rights reserved.
OS Template Testing
Must Be Automated
RHEL, CENTOS, Windows change every
month, Manual checks must be limited to
keep up.
Security
STIG - Manual
OpenSCAP – STIG Automated
OWASP top 10 - Automated
Organizational Standards
Centralized Login
Standard directories
etc
© Copyright 2014 Coveros, Inc. All rights reserved.
Deployment Testing
This is a new area since deployments are now
code.
No traditional tools to test this type of
functionality
Currently methods are mostly manual.
Small automated tests must be constructed
to help with orchestration.
It either worked or it didn't
Manually sifting through logs to
troubleshoot.
Who does this?
Unfortunately, either a sysadmin or a
4/26/2014
8
© Copyright 2014 Coveros, Inc. All rights reserved.
Automated Testing
Automated testing must be an established
practice.
You cannot perform the volume of tests
required for CI efficiently without some sort
of automated check to separate the good
changes from the bad changes.
The cost and practice must be understood
within the development and testing
organization.
Testing resources must be able to handle max
capacity.
Tests must be able to run in parallel against
s
© Copyright 2014 Coveros, Inc. All rights reserved.
Role of Manual Testing
Manual Functional Testing DOES NOT GO AWAY!
Automated tests are not as effective as a person
because they are so specific.
Manual Testing is now a precious resource that
can only be applied in a limited fashion.
Time is what limits Manual testing
1-2 weeks of testing while code is written.
2-3 weeks of total testing effort.
Testing effort is divided.
Automation of new functionality testing.
Spot manual testing.
Manual free form regression.
Targeted regression based on automated results.
4/26/2014
9
© Copyright 2014 Coveros, Inc. All rights reserved.
Disposition of the Systems
Test reporting and the cloud provider must be
linked through a dashboard.
Manual testers must be able to verify failures.
Testers must have access to the broken
running system
Access will allow reproducibility and
verification
Developers must be able to identify broken
VMs
Access to the app to see the unexpected
behavior
© Copyright 2014 Coveros, Inc. All rights reserved.
Orchestration
This is the combination of architectural
components and services in a
meaningful fashion to produce a running
system.
For this example:
Database
App server
Database initialization
App server initialization
Coordinated starting of all the services
4/26/2014
10
© Copyright 2014 Coveros, Inc. All rights reserved.
Costs vs Velocity
Velocity comes with parallelism.
Tests running in parallel
Code being tested in a pipelined fashion.
Cost
Number of testing machines and infrastructure.
Number of parallel instances x machines per
instances
Storage – keeping failed instances around
Budget and Team size
Even with infinite money if you have a team of 5, the
400th VM is likely only giving very little marginal utility.
When money is the constraint, developer and tester
habits must best utilize the limited VMs wisely.
© Copyright 2014 Coveros, Inc. All rights reserved.
Data Analysis
In order to move quickly the right people must get
the right data.
Test Results
Quick access to the failed test
Quick access a screen shot of the failure
Ability to assign errors to the proper developers
Integrated bug tracking.
Server Analysis
Developers need to zero in on failed servers
quickly
Developers need to link failures to their code
quickly
Developers need to separate system/OS failures
4/26/2014
11
© Copyright 2014 Coveros, Inc. All rights reserved.
Dashboard (Data Analysis
Visualization)
Centralization of results.
Sonar Cube
Custom pages
Views for Management, Testers, and
Developers.
Traceability
Features all have GUIDs
GUIDs linked to code commits
Unit tests linked to GUIDs
Automated tests are linked to feature
GUIDs
VMs linked to list of new GUIDs
© Copyright 2014 Coveros, Inc. All rights reserved.
What is Coveros Doing with it for
Customers?
Training and Process improvement
Being the exemplar on a project to
move this practice to other projects.
Showing the change in the cost to test
a feature within an organization
Implementing pieces of the CI to show
marginal improvements.
Using the gains marginal gains to sell
the whole process.
4/26/2014
12
© Copyright 2014 Coveros, Inc. All rights reserved.
Level of Effort
The demonstration needs to be customized
for each environment.
Very few projects that I have dealt with are
“the same”. While this demo can be a guide,
I don't believe it can be generalized to a
solution, each environment must be
customized.
This implementation required research into
the APIs and inner workings of several
complicated software suites and services.
The engineering effort is commensurate with
the complexity of the architecture.
© Copyright 2014 Coveros, Inc. All rights reserved.
Why Link All These Technologies
Together?
The industry is moving this way in various forms.
AWS templates
Service Mesh
JuJu
Hadoop
Flexiant
Even though the products are varied, they all share
general themes.
Inventory
Relational Mapping
OS Templates
Virtual Network Capabilities
If you know one you can have a feel for them all.
4/26/2014
13
© Copyright 2014 Coveros, Inc. All rights reserved.
Thoughts? Questions?
Thank you for your time.

Más contenido relacionado

La actualidad más candente

Enterprise Cloud with IBM & Chef (ChefConf 2013)
Enterprise Cloud with IBM & Chef (ChefConf 2013)Enterprise Cloud with IBM & Chef (ChefConf 2013)
Enterprise Cloud with IBM & Chef (ChefConf 2013)
Michael Elder
 
Continuous integration testing fundamentals
Continuous integration testing fundamentalsContinuous integration testing fundamentals
Continuous integration testing fundamentals
Cygnet Infotech
 

La actualidad más candente (20)

Using DevOps to Improve Software Quality in the Cloud
Using DevOps to Improve Software Quality in the CloudUsing DevOps to Improve Software Quality in the Cloud
Using DevOps to Improve Software Quality in the Cloud
 
Dev ops tutorial for beginners what is devops & devops tools
Dev ops tutorial for beginners what is devops & devops toolsDev ops tutorial for beginners what is devops & devops tools
Dev ops tutorial for beginners what is devops & devops tools
 
Enterprise Cloud with IBM & Chef (ChefConf 2013)
Enterprise Cloud with IBM & Chef (ChefConf 2013)Enterprise Cloud with IBM & Chef (ChefConf 2013)
Enterprise Cloud with IBM & Chef (ChefConf 2013)
 
Mobile Monitoring Best Practices
Mobile Monitoring Best PracticesMobile Monitoring Best Practices
Mobile Monitoring Best Practices
 
Appium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with PerfectoAppium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with Perfecto
 
Why DevOps Matters To The CIO
Why DevOps Matters To The CIOWhy DevOps Matters To The CIO
Why DevOps Matters To The CIO
 
Continuous Delivery Maturity Model
Continuous Delivery Maturity ModelContinuous Delivery Maturity Model
Continuous Delivery Maturity Model
 
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
 
Continuous integration testing fundamentals
Continuous integration testing fundamentalsContinuous integration testing fundamentals
Continuous integration testing fundamentals
 
Dev ops
Dev opsDev ops
Dev ops
 
A day in the life with devops automation
A day in the life with devops automationA day in the life with devops automation
A day in the life with devops automation
 
DevOps for Mobile: Delivering a 5-Star App Experience to Your Mobile Users
DevOps for Mobile: Delivering a 5-Star App Experience to Your Mobile UsersDevOps for Mobile: Delivering a 5-Star App Experience to Your Mobile Users
DevOps for Mobile: Delivering a 5-Star App Experience to Your Mobile Users
 
Breaking the 2 Pizza Paradox with your Platform as an Application
Breaking the 2 Pizza Paradox with your Platform as an ApplicationBreaking the 2 Pizza Paradox with your Platform as an Application
Breaking the 2 Pizza Paradox with your Platform as an Application
 
SRE vs DevOps
SRE vs DevOpsSRE vs DevOps
SRE vs DevOps
 
How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks
 
XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...
XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...
XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...
 
SRE vs DevOps vs Cloud Native Preso
SRE vs DevOps vs Cloud Native PresoSRE vs DevOps vs Cloud Native Preso
SRE vs DevOps vs Cloud Native Preso
 
How to Build a DevOps Toolchain
How to Build a DevOps ToolchainHow to Build a DevOps Toolchain
How to Build a DevOps Toolchain
 
Top DevOps tools
Top DevOps toolsTop DevOps tools
Top DevOps tools
 
Agile-plus-DevOps Testing for Packaged Applications
Agile-plus-DevOps Testing for Packaged ApplicationsAgile-plus-DevOps Testing for Packaged Applications
Agile-plus-DevOps Testing for Packaged Applications
 

Destacado

Destacado (16)

Lean Entrepreneurship for Software Professionals
Lean Entrepreneurship for Software ProfessionalsLean Entrepreneurship for Software Professionals
Lean Entrepreneurship for Software Professionals
 
Our Journey to Agile in the Microsoft Developer Division
Our Journey to Agile in the Microsoft Developer DivisionOur Journey to Agile in the Microsoft Developer Division
Our Journey to Agile in the Microsoft Developer Division
 
Testing Is the Profession I Chose
Testing Is the Profession I ChoseTesting Is the Profession I Chose
Testing Is the Profession I Chose
 
Going Agile? Three Conversations to Have Before You Start
Going Agile? Three Conversations to Have Before You StartGoing Agile? Three Conversations to Have Before You Start
Going Agile? Three Conversations to Have Before You Start
 
Mobile Testing in the Cloud
Mobile Testing in the CloudMobile Testing in the Cloud
Mobile Testing in the Cloud
 
Agile Adoption in Risk-Averse Environments
Agile Adoption in Risk-Averse EnvironmentsAgile Adoption in Risk-Averse Environments
Agile Adoption in Risk-Averse Environments
 
Emerging Product Owner Patterns in Large Organizations
Emerging Product Owner Patterns in Large OrganizationsEmerging Product Owner Patterns in Large Organizations
Emerging Product Owner Patterns in Large Organizations
 
Accelerate Testing in Agile through a Shared Business Domain Language
Accelerate Testing in Agile through a Shared Business Domain LanguageAccelerate Testing in Agile through a Shared Business Domain Language
Accelerate Testing in Agile through a Shared Business Domain Language
 
Bugfest!
Bugfest!Bugfest!
Bugfest!
 
Build the Right Regression Suite with Behavior-Driven Testing
Build the Right Regression Suite with Behavior-Driven TestingBuild the Right Regression Suite with Behavior-Driven Testing
Build the Right Regression Suite with Behavior-Driven Testing
 
Using the Cloud to Load Test and Monitor Your Applications
Using the Cloud to Load Test and Monitor Your ApplicationsUsing the Cloud to Load Test and Monitor Your Applications
Using the Cloud to Load Test and Monitor Your Applications
 
Don't Bulldoze a Vibrant Ecosystem for Agile
Don't Bulldoze a Vibrant Ecosystem for AgileDon't Bulldoze a Vibrant Ecosystem for Agile
Don't Bulldoze a Vibrant Ecosystem for Agile
 
Harness the Power of Checklists
Harness the Power of ChecklistsHarness the Power of Checklists
Harness the Power of Checklists
 
Performance Testing Cloud-Based Systems
Performance Testing Cloud-Based SystemsPerformance Testing Cloud-Based Systems
Performance Testing Cloud-Based Systems
 
Mobile Applications Testing: From Concepts to Practice
Mobile Applications Testing: From Concepts to PracticeMobile Applications Testing: From Concepts to Practice
Mobile Applications Testing: From Concepts to Practice
 
Applying Lean Startup Principles to Agile Projects
Applying Lean Startup Principles to Agile ProjectsApplying Lean Startup Principles to Agile Projects
Applying Lean Startup Principles to Agile Projects
 

Similar a Using DevOps to Improve Software Quality in the Cloud

Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402
Rosalind Radcliffe
 
How To Effectively Build An Initial Level DevOps Pipeline.pdf
How To Effectively Build An Initial Level DevOps Pipeline.pdfHow To Effectively Build An Initial Level DevOps Pipeline.pdf
How To Effectively Build An Initial Level DevOps Pipeline.pdf
Minds Task Technologies
 
Introduction To Development And Operations
Introduction To Development And OperationsIntroduction To Development And Operations
Introduction To Development And Operations
teekhesawaal
 

Similar a Using DevOps to Improve Software Quality in the Cloud (20)

DevOps.pptx
DevOps.pptxDevOps.pptx
DevOps.pptx
 
Integrating Automated Testing into DevOps
Integrating Automated Testing into DevOpsIntegrating Automated Testing into DevOps
Integrating Automated Testing into DevOps
 
Achieving DevOps using Open Source Tools in the Enterprise
Achieving DevOps using Open Source Tools in the EnterpriseAchieving DevOps using Open Source Tools in the Enterprise
Achieving DevOps using Open Source Tools in the Enterprise
 
Dev ops in agile - 1st Conference Melbourne
Dev ops in agile - 1st Conference MelbourneDev ops in agile - 1st Conference Melbourne
Dev ops in agile - 1st Conference Melbourne
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOps
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
 
Optimize continuous delivery of oracle fusion middleware applications
Optimize continuous delivery of oracle fusion middleware applicationsOptimize continuous delivery of oracle fusion middleware applications
Optimize continuous delivery of oracle fusion middleware applications
 
Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402
 
DevOps culture, concepte , philosophie and practices
DevOps culture, concepte , philosophie and practicesDevOps culture, concepte , philosophie and practices
DevOps culture, concepte , philosophie and practices
 
How To Effectively Build An Initial Level DevOps Pipeline.pdf
How To Effectively Build An Initial Level DevOps Pipeline.pdfHow To Effectively Build An Initial Level DevOps Pipeline.pdf
How To Effectively Build An Initial Level DevOps Pipeline.pdf
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
 
DevOps Implementation Roadmap
DevOps Implementation RoadmapDevOps Implementation Roadmap
DevOps Implementation Roadmap
 
DevOps for dummies study sharing - part II
DevOps for dummies study sharing - part IIDevOps for dummies study sharing - part II
DevOps for dummies study sharing - part II
 
Introduction To Development And Operations
Introduction To Development And OperationsIntroduction To Development And Operations
Introduction To Development And Operations
 
Transform Digital Business with DevOps
Transform Digital Business with DevOpsTransform Digital Business with DevOps
Transform Digital Business with DevOps
 
DevOps explained
DevOps explainedDevOps explained
DevOps explained
 
Let's banish "it works on my machine"
Let's banish "it works on my machine"Let's banish "it works on my machine"
Let's banish "it works on my machine"
 
The Evolution from Agile to DevOps
The Evolution from Agile to DevOpsThe Evolution from Agile to DevOps
The Evolution from Agile to DevOps
 
Top DevOps Best Practices for a Successful Transition in 2023
Top DevOps Best Practices for a Successful Transition in 2023Top DevOps Best Practices for a Successful Transition in 2023
Top DevOps Best Practices for a Successful Transition in 2023
 
DevOps in the Hybrid Cloud
DevOps in the Hybrid CloudDevOps in the Hybrid Cloud
DevOps in the Hybrid Cloud
 

Más de TechWell

Más de TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

Using DevOps to Improve Software Quality in the Cloud

  • 1. T21 Test Automation 5/8/2014 3:00:00 PM Using DevOps to Improve Software Quality in the Cloud Presented by: Glenn Buckholz Coveros Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
  • 2. GlennBuckholz Coveros Currently, Glenn Buckholz leads CI and deployment automations efforts at Coveros. Using his fifteen years of industry experience, Glenn brings success to his customers. Beginning his career as a consultant implementing automated test frameworks, he introduced the concept of change management to many, many projects. Glenn then decided to become a part of honest society and settled down at the Public Company Accounting Oversight Board as their full time enterprise change manager. After several years, he ventured back into the real world at Coveros, specializing in implementing agile practices, implementing CI, and engineering configuration management instead of simply documenting it.
  • 3. 4/26/2014 1 © Copyright 2014 Coveros, Inc. All rights reserved. Using DevOps to Improve Software Quality in the Cloud STAR EAST 2014 – 08 May 2014 Glenn Buckholz glenn.buckholz@coveros.com © Copyright 2014 Coveros, Inc. All rights reserved. Agenda What did I do? What is it good for? Demo Architecture Workflow Orchestration Cost vs Velocity Data Analysis What is Coveros doing with it for customers?
  • 4. 4/26/2014 2 © Copyright 2014 Coveros, Inc. All rights reserved. What did I do? Combined several technologies that Coveros is familiar with plus Puppet to demonstrate a full implementation of CI (Continuous Integration) This could be titled “Everything I wanted to do on Forge.mil but am not allowed.” Specifically, I cobbled together: Jenkins Puppet Puppet master EC2 Linux CURL ANT © Copyright 2014 Coveros, Inc. All rights reserved. What is it good for? Fail Faster Used with permission from the people at Extra Credits. http://www.youtube.com/extracredits
  • 5. 4/26/2014 3 © Copyright 2014 Coveros, Inc. All rights reserved. Demo © Copyright 2014 Coveros, Inc. All rights reserved. Major Points How is this DevOps? Releases are engineered, the systems engineer is simply pushing the button. If the list of manual installation instructions is more than one paragraph there is more engineering work to do. Code is the documentation. Operations people now govern the access, developers govern the how. New testing concerns. Deployment code. OS templates. Developers now have the job of convincing operations to run their deployment code.
  • 6. 4/26/2014 4 © Copyright 2014 Coveros, Inc. All rights reserved. Architecture © Copyright 2014 Coveros, Inc. All rights reserved. Workflow Developer commits code. Jenkins detects code change. Proper RPMs are built and distributed to repositories. Jenkins contacts EC2 and spins up blank instances. Puppet is delivered to the blank instances. Jenkins works with the Puppet Master for orchestration. Jenkins confirms that the application is running. Jenkins fires off automated tests.
  • 7. 4/26/2014 5 © Copyright 2014 Coveros, Inc. All rights reserved. Code Commit – Different Approaches Something has to trigger the testing. A code commit is typically a significant enough change to require some measure of retesting. Unit test are the minimum criteria to the publishing a change. Even if the code is bad the system must still run. By convention, code commits should be complete and significant. Each commit now carries a cost. This should be enforced by training. For larger projects with large volumes of © Copyright 2014 Coveros, Inc. All rights reserved. RPMs Packaging To move quickly code must be delivered in a consistent format. Copying files is too unpredictable and error- prone. Permissions Location Clean up of old file Dependency checking Any of the following are good choices RPM – Centos, RHEL Emerge/Portage - Gentoo Deb – Debian, Ubuntu
  • 8. 4/26/2014 6 © Copyright 2014 Coveros, Inc. All rights reserved. Cloud Provider The main issue is elasticity. Number of servers will vary. Tests will be running in parallel. Need a way to catalog all the machines Assign metadata to VMs Ability to group VMs and test results by deployment Automatically mapping code commits to cloud deployments is necessary for proper bookkeeping. © Copyright 2014 Coveros, Inc. All rights reserved. OS templates Each OS must originate with a standard template. All change must be managed by Puppet or some other deployment language If the OS is not standard too much time will be spent engineering around OS peculiarities CM must be mastered Every change to a standard OS must be recorded. Every change must be programmed, no hand- jamming All deployments are now hands-off You can almost get Continuous Delivery for free. OS Customizations for only two reasons Integrate into the Jenkins/Puppet Integrate into the cloud provider from a standard
  • 9. 4/26/2014 7 © Copyright 2014 Coveros, Inc. All rights reserved. OS Template Testing Must Be Automated RHEL, CENTOS, Windows change every month, Manual checks must be limited to keep up. Security STIG - Manual OpenSCAP – STIG Automated OWASP top 10 - Automated Organizational Standards Centralized Login Standard directories etc © Copyright 2014 Coveros, Inc. All rights reserved. Deployment Testing This is a new area since deployments are now code. No traditional tools to test this type of functionality Currently methods are mostly manual. Small automated tests must be constructed to help with orchestration. It either worked or it didn't Manually sifting through logs to troubleshoot. Who does this? Unfortunately, either a sysadmin or a
  • 10. 4/26/2014 8 © Copyright 2014 Coveros, Inc. All rights reserved. Automated Testing Automated testing must be an established practice. You cannot perform the volume of tests required for CI efficiently without some sort of automated check to separate the good changes from the bad changes. The cost and practice must be understood within the development and testing organization. Testing resources must be able to handle max capacity. Tests must be able to run in parallel against s © Copyright 2014 Coveros, Inc. All rights reserved. Role of Manual Testing Manual Functional Testing DOES NOT GO AWAY! Automated tests are not as effective as a person because they are so specific. Manual Testing is now a precious resource that can only be applied in a limited fashion. Time is what limits Manual testing 1-2 weeks of testing while code is written. 2-3 weeks of total testing effort. Testing effort is divided. Automation of new functionality testing. Spot manual testing. Manual free form regression. Targeted regression based on automated results.
  • 11. 4/26/2014 9 © Copyright 2014 Coveros, Inc. All rights reserved. Disposition of the Systems Test reporting and the cloud provider must be linked through a dashboard. Manual testers must be able to verify failures. Testers must have access to the broken running system Access will allow reproducibility and verification Developers must be able to identify broken VMs Access to the app to see the unexpected behavior © Copyright 2014 Coveros, Inc. All rights reserved. Orchestration This is the combination of architectural components and services in a meaningful fashion to produce a running system. For this example: Database App server Database initialization App server initialization Coordinated starting of all the services
  • 12. 4/26/2014 10 © Copyright 2014 Coveros, Inc. All rights reserved. Costs vs Velocity Velocity comes with parallelism. Tests running in parallel Code being tested in a pipelined fashion. Cost Number of testing machines and infrastructure. Number of parallel instances x machines per instances Storage – keeping failed instances around Budget and Team size Even with infinite money if you have a team of 5, the 400th VM is likely only giving very little marginal utility. When money is the constraint, developer and tester habits must best utilize the limited VMs wisely. © Copyright 2014 Coveros, Inc. All rights reserved. Data Analysis In order to move quickly the right people must get the right data. Test Results Quick access to the failed test Quick access a screen shot of the failure Ability to assign errors to the proper developers Integrated bug tracking. Server Analysis Developers need to zero in on failed servers quickly Developers need to link failures to their code quickly Developers need to separate system/OS failures
  • 13. 4/26/2014 11 © Copyright 2014 Coveros, Inc. All rights reserved. Dashboard (Data Analysis Visualization) Centralization of results. Sonar Cube Custom pages Views for Management, Testers, and Developers. Traceability Features all have GUIDs GUIDs linked to code commits Unit tests linked to GUIDs Automated tests are linked to feature GUIDs VMs linked to list of new GUIDs © Copyright 2014 Coveros, Inc. All rights reserved. What is Coveros Doing with it for Customers? Training and Process improvement Being the exemplar on a project to move this practice to other projects. Showing the change in the cost to test a feature within an organization Implementing pieces of the CI to show marginal improvements. Using the gains marginal gains to sell the whole process.
  • 14. 4/26/2014 12 © Copyright 2014 Coveros, Inc. All rights reserved. Level of Effort The demonstration needs to be customized for each environment. Very few projects that I have dealt with are “the same”. While this demo can be a guide, I don't believe it can be generalized to a solution, each environment must be customized. This implementation required research into the APIs and inner workings of several complicated software suites and services. The engineering effort is commensurate with the complexity of the architecture. © Copyright 2014 Coveros, Inc. All rights reserved. Why Link All These Technologies Together? The industry is moving this way in various forms. AWS templates Service Mesh JuJu Hadoop Flexiant Even though the products are varied, they all share general themes. Inventory Relational Mapping OS Templates Virtual Network Capabilities If you know one you can have a feel for them all.
  • 15. 4/26/2014 13 © Copyright 2014 Coveros, Inc. All rights reserved. Thoughts? Questions? Thank you for your time.