Integrate Testing into Continuous Delivery



Similar documents
Agile SPL-SCM: Agile Software Product Line Configuration and Release Management

Continuous Integration Processes and SCM To Support Test Automation

Guide to Mobile Testing

Test Automation: A Project Management Perspective

LET S GET SOCIAL! /company/indigocube.co.za

Continuous Integration Comes to China.

IT Home 2015 DevOps 研 討 會

Accelerate Software Delivery

Agile Software Development for Mercedes- Benz Electric and Hybrid Vehicles

Mobile App Development: The CD Recipe Jenkins + Functional and Non-functional Testing + Real Devices. Carlo Cadet, Director, Technical Evangelists

Atomate Development Process. Quick Guide

Reinforcing Agile Software Development in the Cloud

Call for Tender for Application Development and Maintenance Services

Accelerate Software Delivery with Continuous Integration and Testing. JaSST 08 Tokyo. Jeffrey Fredrick Agitar Software,

Scaling Agile Is Hard, Here s How You Do It!

Testing and Scrum. Agenda. Fall 2007 Scrum Gathering

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

HP Application Lifecycle Management

How NOT to Do Scrum. Patterns and Anti-patterns. Revised July First presented at New York City Scrum User Group June 17, 2010

Enhancing The ALM Experience

Fast Feedback: Jenkins + Functional and Non-Functional Mobile App Testing Without Pulling Your Hair

What s new in the HP Functional Testing 11.5 suite Ronit Soen, product marketing John Jeremiah, product marketing

Change & configuration management

How To Write Unit Tests In A Continuous Integration

Automated Acceptance Testing of High Capacity Network Gateway

The Tester's Role in Continuous Integration

Solution Spotlight KEY OPPORTUNITIES AND PITFALLS ON THE ROAD TO CONTINUOUS DELIVERY

Continuous integration End of the big bang integration era

Agile is not a process but a

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

PointZERO Enabling the right first time principle

Code Review Best Practices. With Adam Kolawa, Ph.D.

Development Testing for Agile Environments

HP ALM11 & MS VS/TFS2010

SWAT PRODUCT BROCHURE

Why Test Automation Fails

Accelerating software testing effectiveness using Agile methodologies..

Secrets to Automation Success. A White Paper by Paul Merrill, Consultant and Trainer at Beaufort Fairmont, LLC

Making Leaders Successful Every Day Forrester Research, Inc. Reproduction Prohibited

Automating Security Testing. Mark Fallon Senior Release Manager Oracle

CONTINUOUS INTEGRATION. Introduction

Beginners guide to continuous integration. Gilles QUERRET Riverside Software

EXHIBIT L. Application Development Processes

CI for FPGA D&V. Continuous Integration for FPGA Design and Verification Verification Futures Alan Fitch, Ericsson TV Ltd

Bridging the Gap Between Acceptance Criteria and Definition of Done

Application Lifecycle Management Using Visual Studio 2013 (SCRUM)

The AppSec How-To: 10 Steps to Secure Agile Development

Testing Introduction. IEEE Definitions

InfraStruxure Management Software

Best Overall Use of Technology. Jaspersoft

Quality Assurance in an Agile Environment

Application Development at Congruent

Improving your Drupal Development workflow with Continuous Integration

The Emotional Intelligence Appraisal MR & 360 Editions

BuildBot. S.Cozzini/A.Messina/G.Giuliani. And Continuous Integration. RegCM4 experiences. Warning: Some slides/ideas.

Web UI & Functional Test Automation for Continuous Agile Deliveries

Global Software Change Management for PVCS Version Manager

Automated performance testing using Maven & JMeter. George Barnett, Atlassian Software

Waterfall to Agile. DFI Case Study By Nick Van, PMP

WHITEPAPER. Agile Development Meets Cloud Computing for Extraordinary Results at Salesforce.com

Company Overview. Enterprise Cloud Solutions

3 rd Party Application Analysis: Best Practices and Lessons Learned. Chris Wysopal Founder and CTO Veracode

Cloud Application Security Assessment, Guerrilla Style

Testing in a Mobile World

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

A Practical Guide to implementing Agile QA process on Scrum Projects

How To Protect Your Data From Attack

The Customer. Manual and Automation Testing for a leading Enterprise Information Management (EIM) Solution provider. Business Challenges

How We Implemented Security in Agile for 20 SCRUMs- and Lived to Tell

Flexible Engineering Process Automation Process: Continuous Integration & Test

Getting Started Guide

Security Automation in Agile SDLC Real World Cases

InfraStruxure TM Management Software

Stories From the Front Lines: Deploying an Enterprise Code Scanning Program

Continuous Delivery. Ariel Alonso, IPC

Continuous Integration and Deployment Modern Technique's

EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH CERN ACCELERATORS AND TECHNOLOGY SECTOR

How To Improve Your Software

InfraStruxure TM Management Software

Integrating Application Security into the Mobile Software Development Lifecycle. WhiteHat Security Paper

Continuous Delivery. Alejandro Ruiz

StruxureWare TM Data Center Operation

Information Management for National Guard Agribusiness Development Teams: An Agile Development Case Study

Patient Relationship Management

About me - Joel Montvelisky

>

Scrum: A disciplined approach to product quality and project success.

Problems and Measures Regarding Waste 1 Management and 3R Era of public health improvement Situation subsequent to the Meiji Restoration

Building Value with Continuous Integration

Striving for Quality in One IT Landscape

Maintenance Plans for MS SQL Database Servers in a ZENworks Environment

Continuous Integration: Put it at the heart of your development

Software Quality Testing Course Material

Combining Performance Testing and Modelling for easyjet.com

Java Software Quality Tools and techniques

Agility via Software Engineering Practices

Codeless Test Automation for Web Apps

Continuous Application Delivery From concept to reality. Carsten Lentz Sr. Solution strategist

Modern CI/CD and Asset Serving

QA or the Highway 2016 Presentation Notes

Transcription:

Integrate Testing into Continuous Delivery Needs of Phonak combined with solution from Kalistick Marc Rambert and Aliaksei Tsitovich @ Swiss Testing Day, March 19, 2014, Zürich

Agenda 2 Fitting Software Development at Phonak Challenge: Integrate Testing in Continuous Delivery at Phonak Solution: Test Coverage Intelligence Experience report from Phonak perspective Q&A

What is Fitting? 13.03.201Page 4 4 4 Gardening Potential for Sunflower Beautiful Sunflower Fitting Potential for Hearing Performance Happy Customer

5

Fitting Software Codebase is relatively big ~4 * 10 6 LOC of C# (mainly) 5 teams, 70 Software Engineers, 10 Test Engineers, 3 SETs TeamCity as CI, Polarion as ALM Internal release every morning Release every 6 month with certification

Continuous integration hides many untested behaviors

#1 Bugs stay unnoticed in uncovered behaviors Behaviors explored manually Your Behaviors executed by automatic tests code Zero probability to notice a bug

#2 Bugs are introduced by last-minute changes 10 Change request implemented Functional Regression set #1 Bug because of Last minute effect

We need feedback on uncovered lacunas 12 Automatic instantly with CI Combined build and manual test counted Detailed on modifications regressions should be highlighted Test Coverage Intelligence

Test Coverage Intelligence extracts data to improve testing 13 Application(s) 1 2 Learning System Scanner Modifications ++ ++ + Test Footprints CI Automated Tests ++ 3 Smart Engine Test Scoring Testing Holes

Detailed Impact Analysis for a whole system Test Team Test 3 Server WebService Test 1 Manual & automated tests Test 2 B. Extension Kalistick Agent - Kalistick Change detection (scanner) Agent - Kalistick Test 2 Test 1 Test 3 Test Holes Test Scoring : 4 2 1 14

Aggregate Test Footprints to find Test Holes & Redundancies 15 Application change Unit testing Integration testing Functional testing Exploratory testing User experience

Integration in a Continuous Delivery process 16 version scan build test footprint test footprint test footprint test footprint to the Cockpit TU release candidate Integration SCM Compile Deploy Acceptance Staging Continuous Integration Continuous Delivery production release Introduction Verification @ Phonak

Test Coverage Intelligence assembled at Phonak 17 A B C D Continuous Integration Nightly Scans + Build Test Functional Tests ALM Integration

Every internal release goes through scanning and testing 18 Scan of EXE & DLLs Run+Scan Unit & Integration tests Footprints are online Build + Installer 12am Continuous Integration Test Engineer #1 Deploy Installer Run Functional tests Test Engineer #9 Deploy Installer Run Functional tests 4pm

Coverage Intelligence was used in the last release cycle: October 2013 to March 2014 19 Hurdles: - Bugs in 3 rd party code are headache - Profiling may impact performance - New technology takes time to get adopted by people

We got the release data we wanted! 20

Important lessons learned in after-the-release analysis 21 1. Some uncovered code is a big surprise for both developers and test engineers. 2. Exploratory testing boosts combined coverage. 3. Modification coverage is useful towards the end of the release.

Continuous Delivery + Test Coverage Intelligence = Continuous Feedback Feedback! Feedback! Feedback!

Test Engineers, Managers and SETs are main consumers Test Engineers: - come up with new test cases to cover lacunas in the beginning of release cycle; - check to re-test status for already executed tests; - use uncovered areas to guide exploratory sessions in last phases.

Test Engineers, Managers and SETs are main consumers Test Managers: - review and re-prioritize functional tests; - identify redundancy in test cases; - investigate lacunas to focus exploratory testing and development of new test cases.

Test Engineers, Managers and SETs are main consumers Software Engineers in Test: - check uncovered areas to identify under-tested implementations (once it is available); - review lacunas and implement new integration tests (fits well into SCRUM sprints). All TEs, TMs and SETs are monitoring the effect of last minute changes before release.

Continuous feedback helps to keep fitting software healthy Untested parts are identified. It depends on context if automated or manual test cover it. 50% -> 70% of combined coverage Impact analysis of last-minute fixes highlights what to re-test. Better control over with late commits Positive effect of CI is available not only for developers but for test engineers as well.