automated testing: devops enabler by alan koch
TRANSCRIPT
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page1
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page2
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page3
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page4
NOTES: Simplyput,it’smoreeffec.veandefficientorganiza(onalcoopera(onbetweendevelopmentteamsandITopera.onsteams.Ifonly“doingit”wereassimpleassayingit…
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page5
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page6
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page7
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page8
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page9
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page10
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page11
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page12
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page13
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page14
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page15
NOTES: Bringqualityearlierinthedevelopmentprocess
Tes(ng–Althoughtheendusermayneverseeorconsumetestcode,testsshouldbetreatedwithasmuchpriorityasanyproductfeature.Consequently,testsmustbe“bakedin”tosoYwareprojectsfromthebeginning–indeed,inahighly-func.oningCDenvironmentitisnotuncommonforroughlyhalfthecodebasetoconsistofcodefortes.ngthroughouttheproductdevelopmentcycle.Thishasobviousimplica.onsforrequirements,development,tes.ng,QA,andopera.onsgroups.
Automa(on–Whenconsideringprocessandplanning,adequatea_en.onandalignmentaroundtes.ngisacri.calenablerofcon.nuousdeliveryandDevOpsgoals…par.cularlyfromthe“dev”sideofthehouse.
Anobviousimplica(onisthatthesuccessofthisapproachisen(relydependentuponeffec(vecollabora(onandcommunica(onamongthevariousstakeholders,departments,andteamsinvolvedintheproduct–fromconcep(ontoliveproduc(ondelivery.
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page16
NOTES: Bringqualityearlierinthedevelopmentprocess
Tes(ng–Althoughtheendusermayneverseeorconsumetestcode,testsshouldbetreatedwithasmuchpriorityasanyproductfeature.Consequently,testsmustbe“bakedin”tosoYwareprojectsfromthebeginning–indeed,inahighly-func.oningCDenvironmentitisnotuncommonforroughlyhalfthecodebasetoconsistofcodefortes.ngthroughouttheproductdevelopmentcycle.Thishasobviousimplica.onsforrequirements,development,tes.ng,QA,andopera.onsgroups.
Automa(on–Whenconsideringprocessandplanning,adequatea_en.onandalignmentaroundtes.ngisacri.calenablerofcon.nuousdeliveryandDevOpsgoals…par.cularlyfromthe“dev”sideofthehouse.
Anobviousimplica(onisthatthesuccessofthisapproachisen(relydependentuponeffec(vecollabora(onandcommunica(onamongthevariousstakeholders,departments,andteamsinvolvedintheproduct–fromconcep(ontoliveproduc(ondelivery.
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page17
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page18
NOTES: Bringqualityearlierinthedevelopmentprocess
Tes(ng–Althoughtheendusermayneverseeorconsumetestcode,testsshouldbetreatedwithasmuchpriorityasanyproductfeature.Consequently,testsmustbe“bakedin”tosoYwareprojectsfromthebeginning–indeed,inahighly-func.oningCDenvironmentitisnotuncommonforroughlyhalfthecodebasetoconsistofcodefortes.ngthroughouttheproductdevelopmentcycle.Thishasobviousimplica.onsforrequirements,development,tes.ng,QA,andopera.onsgroups.
Automa(on–Whenconsideringprocessandplanning,adequatea_en.onandalignmentaroundtes.ngisacri.calenablerofcon.nuousdeliveryandDevOpsgoals…par.cularlyfromthe“dev”sideofthehouse.
Anobviousimplica(onisthatthesuccessofthisapproachisen(relydependentuponeffec(vecollabora(onandcommunica(onamongthevariousstakeholders,departments,andteamsinvolvedintheproduct–fromconcep(ontoliveproduc(ondelivery.
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page19
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page20
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page21
NOTES: Whosefaultisit?
• Thecross-func.onalteammustavoidtheblamegame.• Thecross-func.onalteamanditsmanagementandexecu.vesmustbuyintoa“failearly,failoYen”
mentality.• Ensurethatfailuresarecon.nuouslyimproved.• Enforcingthisintheorganiza.oncarriessignificantimplica.onsforchangemanagementprocesses
andleadership/management.IftheyTwoCorporateEthicsThechoice:
AvoidfailureatallcostVS.
Embracefailureasameanstoimproveprocessesandproduct
Theculturalcomponent• Whenyourteamknowsitisoktofailthenimprove,especiallyintheearlystagesofaproject,how
willtheyreact?• Howdoyourteamsviewfailurenow?Howarefailurestreatedinyourorganiza.on?
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page22
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page23
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page24
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page25
NOTES:
DevOpsImplementa.onBootCamp©2016ASPETraining|LicensedforClassroomDistribu.onOnly|AllOtherRightsReserved
Page26
NOTES: BuildQualityInPrincipleShiYLeY->CatchDefectssoonerinthelifecycle,makingfixescheaper.BrokenbuildsshouldbefixedimmediatelyLargeinfrequentreleasescreatesanopportunityforescapedbugs.Bugsnotfoundun.ltheyarelive=‘escapeddefects’.FindthemsoonerbylaunchingcodemoreoYenTestersshouldtestfordeploymentdefectswithasmuchcareanda_en.onastheydoforcodedefects(andthisshouldbeautomatedandbuiltintothedeploymenttaskitself).Itshouldbenotedthatdefectsareinherentlyriskytofix,andthisintroduceschanges.Ifitislateinthedeliverycycle,adefectra.oningstrategyisrecommendedtoweighthebusinessvalueofpoten.alinstabilityintheprojectvsfixingthepar.culardefect.Indeed,thisprac.ceiscalleda‘knownshippable’asthedefectwasknownbutwasdeemedtoriskytofixforapar.cularrelease.