#jenkinsconf
• Introduction
• Definition of DevOps
• 10 Steps to DevOps Transformation
• Target State
Agenda
#jenkinsconf
Tanya Kravtsov
• Head of Automation and Continuous Delivery at
• Founder of DevOpsQA NJ Meetup group
• Developer turned Tester
• Ballroom Dancer turned Mom
@tkravtsov
Introduction
#jenkinsconf“Any improvements made anywhere besides the bottleneck are an illusion”
Identify the Bottlenecks
#jenkinsconf
• SCM Repository– Development and Test Artifacts
• Source Code
• Build Scripts
• Requirements
• Test Scripts
• Infrastructure configuration
• Software Repository– Release/Deployment Artifacts
• JAR, WAR and EAR files
• Release Notes
Common Repository for Artifacts
#jenkinsconf
• Automate
– Compiling computer code into binary
– Packaging binary code
– Deploying to test and production
environments
– Creating documentation
Automated Build
#jenkinsconf
• Setup Jenkins
1. Install Jenkins CI
2. Configure Jenkins Server
• Enter JDK and Build System
• Secure Jenkins
3. Install Jenkins Plugins
• E.g. Git, PMD, Junit
4. Configure Version Control System
5. Setup Jenkins Job
CI Server Setup
#jenkinsconf
• Unit Tests– Short independent tests
– Tests only fail when a bug is introduced
– When tests fail, we know the reason
• TDD1. Write Test First
2. Write enough code to make the first test fail
3. Fix the code to make the test pass
4. Repeat
Automated Unit Testing
#jenkinsconf
• Static Analysis
– Security vulnerabilities
– Common and critical defects
– Coding Standards
– Memory Leaks
• Code Coverage Analysis
– Measure Unit Test Coverage
– Measure application-level test coverage
Automated Code Quality Metrics
#jenkinsconf
• Automated Environment Readiness test– Application Server
– Web Server
– Database Server
– Automation Framework Artifacts
– Authentication
– Virtual Machines
• Automated Product Readiness test– Validate critical functionality
Automated Smoke Test
#jenkinsconf
• Test Automation – Automated Web Services Testing
– Automated UI Testing
• Parallel Execution– Virtualized Test Lab
– Central Management Dashboard
• Automated Test Data Management– Retrieval
– Generation
– Cleanup
• Selective Testing– Pairwise testing
– Searchable Test Case Repository
Automated Regression
#jenkinsconf
• Automated Environment Setup process
– Infrastructure as Code
– Automated Configuration Management
– Virtualization
Automated Environment
#jenkinsconf
• Automated Test Results Analysis– Consolidated Results
– Failure Analysis
– Defect Logging
• Automated Results Reporting– Automated Email Notifications
– Reporting Dashboard
– Excel, PowerPoint, ALM
– Root Cause Analysis
Automated Analysis and Reporting