continuous delivery with focus on ci - scania connected services - talentum events 2014
DESCRIPTION
Presentation about Continuous Delivery and Continuous Integration at Scania Connected Services by Anders Lundsgård and Peter Sandberg. The presentation was held in Stockholm the 26th of August on Talentum Events 2014. Video recording (in Swedish) on YouTube: http://youtu.be/CKkgxU_jhIs http://www.talentumevents.se/events/testing+forum14/a2239219TRANSCRIPT
August 26 2014, Talentum Events
Continuous Delivery – Focus on Continuous Integration TESTING FORUM 2014
Scania engineers
• Anders Lundsgård– 4 years as Consultant– 6 years at Scania
• Release Responsible• Integrator• Architect
• Peter Sandberg– 7 years at ABB & Ericsson– 3 years at Scania
• Test Leading• Test Automation• Scrum Master
Agile what?
Waterfall”Agile”
Continuous IntegrationContinuous Delivery
DevOps
“Agile”
© Bestoutcome Ltd 2014
Project planning
Last mile
Agile what?
Waterfall”Agile”
Continuous IntegrationContinuous Delivery
DevOps
Agile teams within the Enterprise An Agile Enterprise
Continuous Delivery ReleaseQuality
Smartphone access to driver/vehicle
data
Scania Connected Services
FMP
CommunicationServers
Web Servers
Monitoring Report
Email and SMS
remiders/alarms
Fleet Management
Portal
Remote Diagnosis
Current status message every minute
Web Service Interface
FMP
MPMP
Key concepts for Continuous Delivery
• Test Driven Development• Deployment Pipeline• Continuous Integration• Feature Toggles • Configuration Management• A/B tests• Always On
• Tear the walls
Cultural changes
Technical patterns
QAQA in Continuous Delivery
Test Pyramid
Unit Tests
Integration Tests
GUITests
Manual ”inspection”
What gives quality?
I’m Done!
Unit Tests
Integration Tests
GUI Tests
Manual Regression
Test ice-cream cone
Our test movement
Communication via error reports Communication face to face
Tests executed in desktop environment Tests into the Deployment Pipeline
GUI-oriented tests Tests towards service layer
Test specific dev environment Same dev environment as developers
Separated test teams Embedded testers
Deployment Pipeline
Deployment Pipeline
Commit Stage Acceptance Stage Load Stage Deploy Stage
Compile Unit Test Analysis Packaging Acc. Deploy
Acc. Tests Exploraty Tests
Load Tests
Perf Tests
Staging Deploy
Prod Deploy
.....
…..
Deployment Pipeline
Commit Stage Acceptance Stage Load Stage Deploy Stage
Compile Unit Test Analysis Packaging Acc. Deploy
Acc. Tests Exploraty Tests
Load Tests
Perf Tests
Staging Deploy
Prod Deploy
.....
…..
Claim culture
Continuous Integration
• Maintain a Single Source Repository• Automate the Build• Make Your Build Self-Testing• Everyone Commits To the Mainline Every Day• 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
Feature Branch
Dev Branch #1
Main
Release Branch #1
Dev Branch #2
Feature Toggle
Main
GUI
Business Logic
Database
Google Trends
DevOps
Continuous Delivery
The Lean Startup
Continuous Integration
Challenge – to you tester
Code your first test and see it execute in the CI environment
If there is no CI environment. Suggest to create one!