SlideShare uma empresa Scribd logo
1 de 54
Baixar para ler offline
Testare i Continuous världen
Vad gör jag egentligen på dagarna?
ADD
Amanda Johansson & Jan Sahlström
Agenda
• Välkomna!
• Introduktion till CI / CD
• Dagligt arbete under CI / CD
• Introduktion till DevOps
• Dagligt arbete under DevOps
• Avslutning | Frågor
Historik
Vattenfall
Vattentäta skott
Releasecykel mäts i år
Design Utveckling Test Användare
PC
RUP
Gemensam planering
Releasecykel mäts i månader
Design Utveckling Test Användare
Internet
Agile
Scrum & Kanban
Releasecykel mäts i veckor
Krav Utveckling Test Användare
Appar
CI / CD
Continuous
Utveckling Test
Integration Delivery Deploy
Koden kan alltid
skeppas
Hela kedjan är
automatiserad
Testning inom CI / CD
• Kvalitetsslussar | Quality Gates
• Kodgranskning
• Enhets och integrationstest vid incheckning
• Feature Toggle
• Servicevirtualisering
• Automatiserade acceptanstester
A #1
Master #01 Master #02Master #00
Testa djupt
Branching – När ska man testa?
A #1
Master #01 Master #02Master #00
B #1
Master #03
Testa djupt
Testa djupt
Tester som gjorts i A #1 kanske inte
längre gäller efter B #1
Om man inte kör testerna
förrän i Master kanske man
introducerar defekter
Branching – När ska man testa?
A #1
Master #01 Master #02Master #00
B #1
Master #03
1. Testa djupt
2. Testa grunt
i.e. Smoke Test
Anpassat tillvägagångssätt
Branching – När ska man testa?
A #1
Master #01 Master #02Master #00
B #1
Master #03
Master should always be deployable
Jez Humble, DevOps Researchand AssessmentLLC
Master should never contain known errors
Jakob Alander, Spotify
Branching – När ska man testa?
Testa tillsammans med någon annan – testare eller utvecklare
Samla alla framför en stor monitor och kör en mob-session
Image source: Taipei Times Dec 24, 2014. AFP / KCNA via KNS
Par- / Mobtestning
Hur jag jobbar dagligen med CI/CD...
Vi gillar Kvalité
Teamet ansvarar för både produkten och drift
Teamet ansvarar även för kvalitén!
Hur höjer vi teamet-kvalitetsarbete?
Mitt nuvarande uppdrag
• 1200 anställda
• Myndighet
• 2 releaser/år
• Ny plattform
• Nya rutiner
• Gör något annat
Continuous och devOps
Mitt nuvarande uppdrag
• Utforskande tester (2 h / vecka)
• Selenium e2e-tester
• Enhets/integrationstester
• Höja test-medvetenheten i teamet
• Gatling
• Utvecklare
Next
• Säkerhetstester i pipen
• Angular
Framgångsfaktorer
• Feature toggle
• Master alltid releasebar
• Arbetar på master
• Rullande releaser
• Zero bugg policy
Introduktion till DevOps...
Wikipedia
“Ett begrepp som refererar till en praxis som betonar samarbetet och
kommunikationen mellan utvecklare och drifttekniker med automatisering
av både mjukvaruleveranser och förändringar av infrastruktur. Den har
som målsättning att skapa en kultur och miljö där bygga, testa och att
släppa mjukvara kan ske snabbt, ofta och mer tillförlitligt.”
DevOps
DevOps är en kultur, inte (enbart) en roll
• Det finns ingen entydig definition
• Framtaget av utvecklare (Dev) och drifttekniker(Ops)
• ”Allt kan automatiseras!”
Finns det några problem med DevOps?
DevOps
Några tekniker och verktyg från mitt förra projekt...
Tungt teknikfokus
Testning inom DevOps
Alla har en testmiljö.
Några är så lyckligt lottade att de har en annan miljö för sin
produktionskod.
Dev PC PreProd PROD
LOCAL TEST QA PROD
Miljöer
LOCAL TEST STAGING PRODUCTION
Unit Test Smoke Test System Test Load Test(!)
Integration Test RST UAT
Acceptance Test Regression Test Performance Test
4 Eye Principle System Test
Frekvent Starkt kontrolleratKontrollerat
MONITORINGMONITORINGMONITORING
Testning under utvecklingen | Automatisering
• Enhetstest, integrationstest, E2E
• Ickefunktionella som tillgänglighet, säkerhet och prestanda
• Testa plattformen, t.ex. verifiera att en deploy har gått som
förväntat på en viss miljö
• Ett program som analyserar kod och söker efter potentiella fel
• Börja enkelt och utöka vartefter
Linting
Enhetstest / Integrationstest
• Enhetstestermotverkar primärt att defekter kommer in i systemet
• Kör på lokala maskiner och vid commit
• Kodtäckning – %?
• Kodtäckning – Skall inte sjunka
• Skall gå snabbt att köra, om inte - parallellisera
Build Test Set 01
Test Set 02
Test Set 03
Build Test Set 01 Test Set 02 Test Set 03
Testdata – Sätta upp och riva ner
Startläge
Sätt upp
Exekvera
Riv ner
Åter till startläget
Testdata
Monitorera byggen
• Statusen på byggena ska vara allas högsta prioritet
• Ska alltid vara gröna - undvik “the broken window syndrome”
• Visa på en dedikerad monitor som hela teamet ser
• Allt är grönt != inga defekter…
Testning under utvecklingen | Manuellt
• Utforskande
• Sök efter det okända och icke förväntade, agera elakt mot
systemet, sök längs gränserna osv
• Resultatet hanteras bäst genom diskussionså det optimala är
par-testing
• Test Fest – Samla olika roller som får delta i en gemensam
testsession
• Granska all kod, även test
• Kör koden, och testerna, under granskningen
• Testare kan delta i kodgranskning även om man inte kan koda
Kodgranskning
Verifieringar under produktionssättning
• Monitorering & Loggning
• A/B testning
• Beta testning
• Canarying / Canary Release – Släpp till en del av infrastrukturen
åt gången
• Staged Rollout – Släpp till en användargrupp åt gången
• Dogfooding – Använda sin egen mjukvara
• Dark Launching – Gömt system, kör parallellt med produktion. jmf
AWS Green / Blue
Korsfunktionella Team
Arkitekt
TestareUtvecklare
SEAL
Software Engineering ALchemist
Här händer det något magiskt!
DevOps Organisation
Hur jag jobbar dagligen med DevOps...
DoD
Koden ligger i produktion
Koden används
Teamet får feedback på hur den används
Inga förutfattade meningar om hur test ska
bedrivas.
Mycket nya verktyg
Kul samarbete med plattforms teamet
De vill ha en “standard” för framtida team
Vi vill ha en välfungerande roliga infrastruktur att arbeta
med
Gemensamt mål!
• Jenkins
• Prometheus
• Grafana
• Elastic search
• Kibana
• Openshift Container Plattform
• e2e testerna, 2ggr timmen, 8 min
• Gatling testerna, varje natt, 1h
• Vid varje incheckning körs enhetstester,
integrationstester och några e2e tester som rör
just den micro tjänsten, 8 min
Automattester
Arbeta aldrig ensam!
Parprogrammera
Är testarens framtid slut,
måste vi alla bli utvecklare?
En viktig fråga...
Ryktet om testarens död är starkt överdrivet
Var som en lax - Simma mot källan
Se till att kvalitet finns med hela vägen från idé till produkt
Specialisering; säkerhetstest, prestandatest, back end test, UX
test, script-automatisering, utveckling m.m.
Förgreningar; Scrum Master, QA Coach, Kravanalys
Möjliga förändringar i vardagen
• Administrativa Testaren | Koordinerar, slutför
• Tekniska Testaren | Verktyg och kod
• Analytiska Testaren | Modeller och optimala test
• Sociala Testaren | Bygger team med nödvändiga resurser
• Empatiska Testaren | Sympatiserar med användarna
• Användarexpert | Produktexperter
• Utvecklare | Enhetstester och testbarhet
Sju olika typer av testare
James Bach
Dagens Japanska ord
Kaizen
Kontinuerlig Förbättring
改善
Q&A
Testare i Continuous världen
Vad gör jag egentligen på dagarna?
ADD
Amanda Johansson & Jan Sahlström
Referenser
• https://en.wikipedia.org/wiki/Continuous_int
egration
• https://en.wikipedia.org/wiki/Continuous_deli
very
• https://en.wikipedia.org/wiki/Continuous_de
ployment
• https://en.wikipedia.org/wiki/Service_virtuali
zation
• Jakob Alander, Spotify
• Henrik Andersson,BetssonTechnologies
• Sigurdur Birgisson,Avensia
• Richard Bradshaw, Ministry of Test
• Angie Jones,Twitter
• How Google Tests Software by James A.
Whittaker, Jason Arbon, Jeff Carollo
• Continuous Delivery: Reliable Software
Releases ThroughBuild, Test,and
DeploymentAutomation by Jez Humble
• A Practical Guide to Testing in DevOps by
Katrina Clokie
• Blog post "Continuous Testing in
DevOps…“by Dan Ashby
• Seven Kinds of Testers by James Bach
(satisfice.com/blog/archives/893)

Mais conteúdo relacionado

Semelhante a Testare i continuousvärlden - vad gör jag om dagarna.

Revitalisering av legacy - är det möjligt - Joakim Lindbom
Revitalisering av legacy - är det möjligt - Joakim LindbomRevitalisering av legacy - är det möjligt - Joakim Lindbom
Revitalisering av legacy - är det möjligt - Joakim LindbomJoakim Lindbom
 
Kodgranskning - i en agil miljö
Kodgranskning - i en agil miljöKodgranskning - i en agil miljö
Kodgranskning - i en agil miljöMattias Jiderhamn
 
Introduktion till Test 1.0 (swe)
Introduktion till Test 1.0 (swe)Introduktion till Test 1.0 (swe)
Introduktion till Test 1.0 (swe)Alex Eriksson
 
Vad är webb för oss?
Vad är webb för oss?Vad är webb för oss?
Vad är webb för oss?Andreas Ek
 
Hur man kan testa sin HTTPS-server
Hur man kan testa sin HTTPS-serverHur man kan testa sin HTTPS-server
Hur man kan testa sin HTTPS-serverMichael Boman
 
Välj rätt i teknikdjungeln
Välj rätt i teknikdjungeln Välj rätt i teknikdjungeln
Välj rätt i teknikdjungeln Creuna Sverige
 
IBM Rational - Agila fördelar med utvecklingsmiljö integrerad med Jazz
IBM Rational - Agila fördelar med utvecklingsmiljö integrerad med JazzIBM Rational - Agila fördelar med utvecklingsmiljö integrerad med Jazz
IBM Rational - Agila fördelar med utvecklingsmiljö integrerad med JazzIBM Sverige
 
Web Production Automation WordCamp 2014
Web Production Automation WordCamp 2014Web Production Automation WordCamp 2014
Web Production Automation WordCamp 2014flowcom
 
Säker utveckling med SDL
Säker utveckling med SDLSäker utveckling med SDL
Säker utveckling med SDLJohan Lindfors
 
Välj rätt i teknikdjungeln - Del 1: CMS och webbramverk
Välj rätt i teknikdjungeln - Del 1: CMS och webbramverkVälj rätt i teknikdjungeln - Del 1: CMS och webbramverk
Välj rätt i teknikdjungeln - Del 1: CMS och webbramverkCreuna Sverige
 
Testledning i praktiken slideshare
Testledning i praktiken slideshareTestledning i praktiken slideshare
Testledning i praktiken slideshareChrister Mattson
 
Testdriven Utveckling GeekGirlMeetup November 2010
Testdriven Utveckling GeekGirlMeetup November 2010Testdriven Utveckling GeekGirlMeetup November 2010
Testdriven Utveckling GeekGirlMeetup November 2010javaHelena
 
Frontit Seminarium: Snabbt, effektivt, agilt - men bra? Norrköping 22 mars 2017
Frontit Seminarium: Snabbt, effektivt, agilt - men bra? Norrköping 22 mars 2017 Frontit Seminarium: Snabbt, effektivt, agilt - men bra? Norrköping 22 mars 2017
Frontit Seminarium: Snabbt, effektivt, agilt - men bra? Norrköping 22 mars 2017 Frontit
 
VT2018 - DA355A - Geolocation, Media, Package Manage
VT2018 - DA355A - Geolocation, Media, Package ManageVT2018 - DA355A - Geolocation, Media, Package Manage
VT2018 - DA355A - Geolocation, Media, Package ManageAnton Tibblin
 

Semelhante a Testare i continuousvärlden - vad gör jag om dagarna. (20)

Revitalisering av legacy - är det möjligt - Joakim Lindbom
Revitalisering av legacy - är det möjligt - Joakim LindbomRevitalisering av legacy - är det möjligt - Joakim Lindbom
Revitalisering av legacy - är det möjligt - Joakim Lindbom
 
Kodgranskning - i en agil miljö
Kodgranskning - i en agil miljöKodgranskning - i en agil miljö
Kodgranskning - i en agil miljö
 
Introduktion till Test 1.0 (swe)
Introduktion till Test 1.0 (swe)Introduktion till Test 1.0 (swe)
Introduktion till Test 1.0 (swe)
 
Vad är webb för oss?
Vad är webb för oss?Vad är webb för oss?
Vad är webb för oss?
 
TypeScript DevSum 2013
TypeScript DevSum 2013TypeScript DevSum 2013
TypeScript DevSum 2013
 
.Net i verkligheten
.Net i verkligheten.Net i verkligheten
.Net i verkligheten
 
Vad är webb
Vad är webbVad är webb
Vad är webb
 
Hur man kan testa sin HTTPS-server
Hur man kan testa sin HTTPS-serverHur man kan testa sin HTTPS-server
Hur man kan testa sin HTTPS-server
 
Välj rätt i teknikdjungeln
Välj rätt i teknikdjungeln Välj rätt i teknikdjungeln
Välj rätt i teknikdjungeln
 
Test av mobila applikationer
Test av mobila applikationerTest av mobila applikationer
Test av mobila applikationer
 
IBM Rational - Agila fördelar med utvecklingsmiljö integrerad med Jazz
IBM Rational - Agila fördelar med utvecklingsmiljö integrerad med JazzIBM Rational - Agila fördelar med utvecklingsmiljö integrerad med Jazz
IBM Rational - Agila fördelar med utvecklingsmiljö integrerad med Jazz
 
FullStackDeveloper
FullStackDeveloperFullStackDeveloper
FullStackDeveloper
 
Web Production Automation WordCamp 2014
Web Production Automation WordCamp 2014Web Production Automation WordCamp 2014
Web Production Automation WordCamp 2014
 
Säker utveckling med SDL
Säker utveckling med SDLSäker utveckling med SDL
Säker utveckling med SDL
 
Välj rätt i teknikdjungeln - Del 1: CMS och webbramverk
Välj rätt i teknikdjungeln - Del 1: CMS och webbramverkVälj rätt i teknikdjungeln - Del 1: CMS och webbramverk
Välj rätt i teknikdjungeln - Del 1: CMS och webbramverk
 
Kth Nov 09
Kth Nov 09Kth Nov 09
Kth Nov 09
 
Testledning i praktiken slideshare
Testledning i praktiken slideshareTestledning i praktiken slideshare
Testledning i praktiken slideshare
 
Testdriven Utveckling GeekGirlMeetup November 2010
Testdriven Utveckling GeekGirlMeetup November 2010Testdriven Utveckling GeekGirlMeetup November 2010
Testdriven Utveckling GeekGirlMeetup November 2010
 
Frontit Seminarium: Snabbt, effektivt, agilt - men bra? Norrköping 22 mars 2017
Frontit Seminarium: Snabbt, effektivt, agilt - men bra? Norrköping 22 mars 2017 Frontit Seminarium: Snabbt, effektivt, agilt - men bra? Norrköping 22 mars 2017
Frontit Seminarium: Snabbt, effektivt, agilt - men bra? Norrköping 22 mars 2017
 
VT2018 - DA355A - Geolocation, Media, Package Manage
VT2018 - DA355A - Geolocation, Media, Package ManageVT2018 - DA355A - Geolocation, Media, Package Manage
VT2018 - DA355A - Geolocation, Media, Package Manage
 

Mais de ADDQ

Service & UX Design
Service & UX DesignService & UX Design
Service & UX DesignADDQ
 
Framtidens prestandatest i en agil värld
Framtidens prestandatest i en agil världFramtidens prestandatest i en agil värld
Framtidens prestandatest i en agil världADDQ
 
Undvik fallgroparna i den agila transformeringen
Undvik fallgroparna i den agila transformeringenUndvik fallgroparna i den agila transformeringen
Undvik fallgroparna i den agila transformeringenADDQ
 
Omvärldstrender inom test
Omvärldstrender inom testOmvärldstrender inom test
Omvärldstrender inom testADDQ
 
Lyckas med test i continuous-världen
Lyckas med test i continuous-världenLyckas med test i continuous-världen
Lyckas med test i continuous-världenADDQ
 
Hur får du ut max av automatiserade tester?
Hur får du ut max av automatiserade tester?Hur får du ut max av automatiserade tester?
Hur får du ut max av automatiserade tester?ADDQ
 
Agil kravhantering för att maximera verksamhetsnyttan
Agil kravhantering för att maximera verksamhetsnyttanAgil kravhantering för att maximera verksamhetsnyttan
Agil kravhantering för att maximera verksamhetsnyttanADDQ
 
Rätt från början
Rätt från börjanRätt från början
Rätt från börjanADDQ
 
Kontextdrivna krav - effektiv kravställning för din organisation
Kontextdrivna krav - effektiv kravställning för din organisationKontextdrivna krav - effektiv kravställning för din organisation
Kontextdrivna krav - effektiv kravställning för din organisationADDQ
 
The art of architecture
The art of architectureThe art of architecture
The art of architectureADDQ
 
Alla modeller är fel men några är användbara
Alla modeller är fel men några är användbaraAlla modeller är fel men några är användbara
Alla modeller är fel men några är användbaraADDQ
 
Create your own testing strategy to move towards Continuous Delivery.
Create your own testing strategy to move towards Continuous Delivery.Create your own testing strategy to move towards Continuous Delivery.
Create your own testing strategy to move towards Continuous Delivery.ADDQ
 

Mais de ADDQ (12)

Service & UX Design
Service & UX DesignService & UX Design
Service & UX Design
 
Framtidens prestandatest i en agil värld
Framtidens prestandatest i en agil världFramtidens prestandatest i en agil värld
Framtidens prestandatest i en agil värld
 
Undvik fallgroparna i den agila transformeringen
Undvik fallgroparna i den agila transformeringenUndvik fallgroparna i den agila transformeringen
Undvik fallgroparna i den agila transformeringen
 
Omvärldstrender inom test
Omvärldstrender inom testOmvärldstrender inom test
Omvärldstrender inom test
 
Lyckas med test i continuous-världen
Lyckas med test i continuous-världenLyckas med test i continuous-världen
Lyckas med test i continuous-världen
 
Hur får du ut max av automatiserade tester?
Hur får du ut max av automatiserade tester?Hur får du ut max av automatiserade tester?
Hur får du ut max av automatiserade tester?
 
Agil kravhantering för att maximera verksamhetsnyttan
Agil kravhantering för att maximera verksamhetsnyttanAgil kravhantering för att maximera verksamhetsnyttan
Agil kravhantering för att maximera verksamhetsnyttan
 
Rätt från början
Rätt från börjanRätt från början
Rätt från början
 
Kontextdrivna krav - effektiv kravställning för din organisation
Kontextdrivna krav - effektiv kravställning för din organisationKontextdrivna krav - effektiv kravställning för din organisation
Kontextdrivna krav - effektiv kravställning för din organisation
 
The art of architecture
The art of architectureThe art of architecture
The art of architecture
 
Alla modeller är fel men några är användbara
Alla modeller är fel men några är användbaraAlla modeller är fel men några är användbara
Alla modeller är fel men några är användbara
 
Create your own testing strategy to move towards Continuous Delivery.
Create your own testing strategy to move towards Continuous Delivery.Create your own testing strategy to move towards Continuous Delivery.
Create your own testing strategy to move towards Continuous Delivery.
 

Testare i continuousvärlden - vad gör jag om dagarna.

  • 1. Testare i Continuous världen Vad gör jag egentligen på dagarna? ADD Amanda Johansson & Jan Sahlström
  • 2. Agenda • Välkomna! • Introduktion till CI / CD • Dagligt arbete under CI / CD • Introduktion till DevOps • Dagligt arbete under DevOps • Avslutning | Frågor
  • 4. Vattenfall Vattentäta skott Releasecykel mäts i år Design Utveckling Test Användare
  • 5. PC
  • 6. RUP Gemensam planering Releasecykel mäts i månader Design Utveckling Test Användare
  • 8. Agile Scrum & Kanban Releasecykel mäts i veckor Krav Utveckling Test Användare
  • 10. CI / CD Continuous Utveckling Test Integration Delivery Deploy Koden kan alltid skeppas Hela kedjan är automatiserad
  • 11. Testning inom CI / CD • Kvalitetsslussar | Quality Gates • Kodgranskning • Enhets och integrationstest vid incheckning • Feature Toggle • Servicevirtualisering • Automatiserade acceptanstester
  • 12. A #1 Master #01 Master #02Master #00 Testa djupt Branching – När ska man testa?
  • 13. A #1 Master #01 Master #02Master #00 B #1 Master #03 Testa djupt Testa djupt Tester som gjorts i A #1 kanske inte längre gäller efter B #1 Om man inte kör testerna förrän i Master kanske man introducerar defekter Branching – När ska man testa?
  • 14. A #1 Master #01 Master #02Master #00 B #1 Master #03 1. Testa djupt 2. Testa grunt i.e. Smoke Test Anpassat tillvägagångssätt Branching – När ska man testa?
  • 15. A #1 Master #01 Master #02Master #00 B #1 Master #03 Master should always be deployable Jez Humble, DevOps Researchand AssessmentLLC Master should never contain known errors Jakob Alander, Spotify Branching – När ska man testa?
  • 16. Testa tillsammans med någon annan – testare eller utvecklare Samla alla framför en stor monitor och kör en mob-session Image source: Taipei Times Dec 24, 2014. AFP / KCNA via KNS Par- / Mobtestning
  • 17. Hur jag jobbar dagligen med CI/CD...
  • 19.
  • 20. Teamet ansvarar för både produkten och drift Teamet ansvarar även för kvalitén! Hur höjer vi teamet-kvalitetsarbete?
  • 21. Mitt nuvarande uppdrag • 1200 anställda • Myndighet • 2 releaser/år • Ny plattform • Nya rutiner • Gör något annat Continuous och devOps
  • 22. Mitt nuvarande uppdrag • Utforskande tester (2 h / vecka) • Selenium e2e-tester • Enhets/integrationstester • Höja test-medvetenheten i teamet • Gatling • Utvecklare
  • 23. Next • Säkerhetstester i pipen • Angular
  • 24. Framgångsfaktorer • Feature toggle • Master alltid releasebar • Arbetar på master • Rullande releaser • Zero bugg policy
  • 26. Wikipedia “Ett begrepp som refererar till en praxis som betonar samarbetet och kommunikationen mellan utvecklare och drifttekniker med automatisering av både mjukvaruleveranser och förändringar av infrastruktur. Den har som målsättning att skapa en kultur och miljö där bygga, testa och att släppa mjukvara kan ske snabbt, ofta och mer tillförlitligt.” DevOps DevOps är en kultur, inte (enbart) en roll
  • 27. • Det finns ingen entydig definition • Framtaget av utvecklare (Dev) och drifttekniker(Ops) • ”Allt kan automatiseras!” Finns det några problem med DevOps? DevOps
  • 28. Några tekniker och verktyg från mitt förra projekt... Tungt teknikfokus
  • 30. Alla har en testmiljö. Några är så lyckligt lottade att de har en annan miljö för sin produktionskod. Dev PC PreProd PROD LOCAL TEST QA PROD Miljöer LOCAL TEST STAGING PRODUCTION Unit Test Smoke Test System Test Load Test(!) Integration Test RST UAT Acceptance Test Regression Test Performance Test 4 Eye Principle System Test Frekvent Starkt kontrolleratKontrollerat MONITORINGMONITORINGMONITORING
  • 31. Testning under utvecklingen | Automatisering • Enhetstest, integrationstest, E2E • Ickefunktionella som tillgänglighet, säkerhet och prestanda • Testa plattformen, t.ex. verifiera att en deploy har gått som förväntat på en viss miljö
  • 32. • Ett program som analyserar kod och söker efter potentiella fel • Börja enkelt och utöka vartefter Linting
  • 33. Enhetstest / Integrationstest • Enhetstestermotverkar primärt att defekter kommer in i systemet • Kör på lokala maskiner och vid commit • Kodtäckning – %? • Kodtäckning – Skall inte sjunka • Skall gå snabbt att köra, om inte - parallellisera Build Test Set 01 Test Set 02 Test Set 03 Build Test Set 01 Test Set 02 Test Set 03
  • 34. Testdata – Sätta upp och riva ner Startläge Sätt upp Exekvera Riv ner Åter till startläget Testdata
  • 35. Monitorera byggen • Statusen på byggena ska vara allas högsta prioritet • Ska alltid vara gröna - undvik “the broken window syndrome” • Visa på en dedikerad monitor som hela teamet ser • Allt är grönt != inga defekter…
  • 36. Testning under utvecklingen | Manuellt • Utforskande • Sök efter det okända och icke förväntade, agera elakt mot systemet, sök längs gränserna osv • Resultatet hanteras bäst genom diskussionså det optimala är par-testing • Test Fest – Samla olika roller som får delta i en gemensam testsession
  • 37. • Granska all kod, även test • Kör koden, och testerna, under granskningen • Testare kan delta i kodgranskning även om man inte kan koda Kodgranskning
  • 38. Verifieringar under produktionssättning • Monitorering & Loggning • A/B testning • Beta testning • Canarying / Canary Release – Släpp till en del av infrastrukturen åt gången • Staged Rollout – Släpp till en användargrupp åt gången • Dogfooding – Använda sin egen mjukvara • Dark Launching – Gömt system, kör parallellt med produktion. jmf AWS Green / Blue
  • 39. Korsfunktionella Team Arkitekt TestareUtvecklare SEAL Software Engineering ALchemist Här händer det något magiskt! DevOps Organisation
  • 40. Hur jag jobbar dagligen med DevOps...
  • 41. DoD Koden ligger i produktion Koden används Teamet får feedback på hur den används
  • 42. Inga förutfattade meningar om hur test ska bedrivas. Mycket nya verktyg
  • 43. Kul samarbete med plattforms teamet De vill ha en “standard” för framtida team Vi vill ha en välfungerande roliga infrastruktur att arbeta med Gemensamt mål!
  • 44. • Jenkins • Prometheus • Grafana • Elastic search • Kibana • Openshift Container Plattform
  • 45. • e2e testerna, 2ggr timmen, 8 min • Gatling testerna, varje natt, 1h • Vid varje incheckning körs enhetstester, integrationstester och några e2e tester som rör just den micro tjänsten, 8 min Automattester
  • 47. Är testarens framtid slut, måste vi alla bli utvecklare? En viktig fråga...
  • 48. Ryktet om testarens död är starkt överdrivet
  • 49. Var som en lax - Simma mot källan Se till att kvalitet finns med hela vägen från idé till produkt Specialisering; säkerhetstest, prestandatest, back end test, UX test, script-automatisering, utveckling m.m. Förgreningar; Scrum Master, QA Coach, Kravanalys Möjliga förändringar i vardagen
  • 50. • Administrativa Testaren | Koordinerar, slutför • Tekniska Testaren | Verktyg och kod • Analytiska Testaren | Modeller och optimala test • Sociala Testaren | Bygger team med nödvändiga resurser • Empatiska Testaren | Sympatiserar med användarna • Användarexpert | Produktexperter • Utvecklare | Enhetstester och testbarhet Sju olika typer av testare James Bach
  • 52. Q&A
  • 53. Testare i Continuous världen Vad gör jag egentligen på dagarna? ADD Amanda Johansson & Jan Sahlström
  • 54. Referenser • https://en.wikipedia.org/wiki/Continuous_int egration • https://en.wikipedia.org/wiki/Continuous_deli very • https://en.wikipedia.org/wiki/Continuous_de ployment • https://en.wikipedia.org/wiki/Service_virtuali zation • Jakob Alander, Spotify • Henrik Andersson,BetssonTechnologies • Sigurdur Birgisson,Avensia • Richard Bradshaw, Ministry of Test • Angie Jones,Twitter • How Google Tests Software by James A. Whittaker, Jason Arbon, Jeff Carollo • Continuous Delivery: Reliable Software Releases ThroughBuild, Test,and DeploymentAutomation by Jez Humble • A Practical Guide to Testing in DevOps by Katrina Clokie • Blog post "Continuous Testing in DevOps…“by Dan Ashby • Seven Kinds of Testers by James Bach (satisfice.com/blog/archives/893)