Top Banner
Testing in Continuous Delivery Aistė Stikliūtė, Agile turas 2015
25

Aistė Stikliutė - Testing in continuous delivery

Mar 20, 2017

Download

Software

Agile Lietuva
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Aistė Stikliutė - Testing in continuous delivery

Testing in Continuous DeliveryAistė Stikliūtė, Agile turas 2015

Page 2: Aistė Stikliutė - Testing in continuous delivery

AgendaWhat is Continuous Delivery and why it’s (slowly) going mainstream

Examples

Challenge - testing• Problems• Solutions

Page 3: Aistė Stikliutė - Testing in continuous delivery

What is Continuous Delivery

C.D.

Build

Deploy

Test

Release

Page 4: Aistė Stikliutė - Testing in continuous delivery

Do you do Continuous Delivery?

How often do you / can you deploy to Prod?

What if you’ve got to do a big change?

Who decides when to deploy / release?

Page 5: Aistė Stikliutė - Testing in continuous delivery

Some examples

Page 6: Aistė Stikliutė - Testing in continuous delivery
Page 7: Aistė Stikliutė - Testing in continuous delivery

… examples

Page 8: Aistė Stikliutė - Testing in continuous delivery

The testing challengeMonths → Weeks → Days → Hours → Minutes

Page 9: Aistė Stikliutė - Testing in continuous delivery

Have the cake and eat it too?

● do thorough regression testingand do it often?

● add changes fastand keep up with automated

tests?

● ensure good qualitywithout (much) manual testing?

Page 10: Aistė Stikliutė - Testing in continuous delivery

Cycle time: idea production

Design Develop Test Merge to trunk

Deploy to test

environmentTest Deploy to

stage Test

Deploy to production

Page 11: Aistė Stikliutė - Testing in continuous delivery

Cycle time to production: testingManual tests

before merge

Automated tests after

mergeStaging tests

Analyse resultsUpdate testsBugfix

Clarify open questionsBugfix

Analyse resultsBugfix

Page 12: Aistė Stikliutė - Testing in continuous delivery

Solve the testing challengePatterns and ideas

Page 13: Aistė Stikliutė - Testing in continuous delivery

[obvious] agile testing

Testers involved in team:grooming, planning, development

“Show me”testing before it’s finished, input for automated tests

When it’s finished, tester must be ready to test

Page 14: Aistė Stikliutė - Testing in continuous delivery

[obvious] developer testing

Develop Test

Page 15: Aistė Stikliutė - Testing in continuous delivery

developer responsibility

You are responsible for your code• Testing• Deploying• Supporting

• Defined code ownership• Better automated tests• Monitoring. Faster corrections• Faster & more successful deployments

Page 16: Aistė Stikliutė - Testing in continuous delivery

branching patterns

Centralized Finds and fixes problems ASAP

Distributed Develop every change in its own branch and test

Temporary branches

Effective, combines centralized and distributed

Matrix of services

Use centralized CI for a massively scalable system

Page 17: Aistė Stikliutė - Testing in continuous delivery

test automation

Fast tests Reliable tests

Page 18: Aistė Stikliutė - Testing in continuous delivery

test automation

Test optimization

Well-thought infrastructure

Run in parallel

Test categories

Page 19: Aistė Stikliutė - Testing in continuous delivery

test automation

Test coverage

Test environment

Keep tests green “Pass” ratio

Page 20: Aistė Stikliutė - Testing in continuous delivery

testing in production

A/B testing

feature toggling

monitoring

Page 21: Aistė Stikliutė - Testing in continuous delivery

feature toggling

● Needs to be implemented● Reduces need for lab-testing, but it’s still needed● Needs to be tested itself● Reduces risk● Enables A/B testing

on off staff user_list opt-in 0-100%

Page 22: Aistė Stikliutė - Testing in continuous delivery

A/B testing

Page 23: Aistė Stikliutė - Testing in continuous delivery

monitoring

Errors Performance User behavior

User community /

support

automatic notifications

Page 24: Aistė Stikliutė - Testing in continuous delivery

The future

Page 25: Aistė Stikliutė - Testing in continuous delivery