SlideShare a Scribd company logo
1 of 19
Download to read offline
Smart API testautomatisering gjør
hverdagen bedre for både utviklere
og testere
Minh Nguyen
Kvalitetsingeniør
Om meg
• Gründer og kvalitetsingeniør i Questigate.
• 26+ års arbeidserfaring med varierte roller innen Test
og QA – derav 10+ år med API-testing.
• Doktorgrad i Computer Science fra NTH/NTNU 1997.
• Trives med å dele erfaringer for å inspirere andre.
«Alltid på søken etter nye og innovative tilnærminger å
utføre test og QA på en smart og effektiv måte.»
Testautomatisering (CI/CT) - Efficient test
Testdesign (MBT, ML-støtte, ...) - Effective test
• Forretningsområder:
• Boligutvikling, boligforvaltning, medlem og bank (NO/SE)
• Systemportefølje
• 100+ systemer
• Team Digital Tjeneste Plattform
• Master Data Management (MDM)
• Dataeier og konsumenter
• Integrasjoner og tjenester sikrer best mulig datakvalitet
• Skal erstatte IBM Mainframe AS400
• Teknologi MDM
• MS Azure
• Hendelsesdrevet integrasjon med Azure ServiceBus
Datakvalitet
Integrasjon
Tjenestearkitektur
3 lærdommer
Testutvikling for og med gjenbruk
Kontinuerlig API testing
Etablering av testrammeverk
1. Testrammeverk
Test
rammeverk
Grunnlag for
valg av
retning
Testobjekt
Testbehov
Organisering
Testmiljø/
Testdata
Teknologi
Prosess
Forretingsfokus
Systemfokus
Bruksomfang
Kritikalitet
Verdikjede
Portefølje
Avhengighet
Plattform
Integrasjon
Tjenester
Testtype
Testnivå
Endringstakt
Risiko
Datakvalitet
Stabilitet
Datakonsistens
Bruksområde
Bygg/deploy
Utvikling
Test
Roller/ansvar
Testmodenhet
Og resultat er ...
API Test-
automatisering Brukes tidlig og hyppig
Funksjonell test. Integrasjonstest, Reg.test, E2Etest
Integreres med utviklingsplattform
Uavhengig av testressurser
Sentral plattform med kritiske tjenester
Høy endringstakt i alle lag
Testobjekt
Rammebetingelser
Behov
2. Testutvikling for gjenbruk
03
Standardisering
01
Testdata on demand
02
Gjenbruksbare
komponenter
04
Testscenario
toggling
Testdata-on-demand
• Grunnet mangel på konsistent testdata
Skaper nødvendig testdata ved behov
Rydde opp ved å slette testdata etter kjøring
Gevinster:
• Gjenbruke tester uten å avhenge av hard-kodet testdata
• Kjøre samme test i alle testmiljøene
• Sikre korrekt og varierte testdata
Gjenbrukbare komponenter
• En sekvens av teststeg som har et definert mål og har en
repeterende bruksmønster
• Opprette en personkunde/medlemskap
• Opprette et eierforhold til et boligselskap
Gevinster:
• Kan kjøres separat for kontinuerlig verifisering eller
• Inngår i en kombinasjon av flere tester for å sette opp testscenario eller
verifisere en verdikjede
• Eierskifte: i) opprette borettslag; ii) opprette leiligheter; iii) opprette personer som eier;
iv) opprette ny eier som har medlemskap
Standarisering
• Navnegivningstandard
• Navn på Testsuite, testcase, teststeg, skript, osv...
• Parameter- og variabelnavn
Gevinst:
• Enkelt å søke og gjenfinne for gjenbruk
• Selvforklarende
• Lesbarhet
Testscenario toggling
• Målet er at en testcase kan verifisere flere scenarier
• Parameter som styrer mulige forgreninger i en test-sekvens
Gevinst:
• Fleksibelt å teste ulike scenarier
• dfsdf
Testutvikling for gjenbruk
Mulig at testutvikling med gjenbruk medfører ekstra
kostnad men det vil kompenseres med:
✓Tidsbesparende for testutvikling
✓ Redusere sannsynlighet for feil i test
✓ Fokus på verifisering av aktuelle endringer
✓ Effektivt vedlikehold ved å endre kun på felles generiske tester
✓ Testdekning kan enkelt skaleres
3. Kontinuerlig API test
Behov:
• Utvikler ønsker å kunne manuelt kjøre api-reg.tester for å verifisere endringer.
• Utvikler ønsker å kjøre alle relevante reg.testene ved bygg/merge/commit.
• Tester ønsker å kunne ha en "hygiene-status" på alle tjenestene i hvert
testmiljø.
Kontinuerlig test
Test Engine
Azure DevOps
Service.AgentListener
Developer
Azure repo
Azure repo
Azure repo
Test Tool
Tester
Azure repo
1a.Manuelt eller
trigges av bygg
3. Kjøre test
1b. Planlagt
kjøreplan
2. Utsjekk av
testkode
4. Rapportere
evt. feil
Testresultat
Utviklingsprosess tilpasset CI/CT
• Tidlig og iterativ test under utvikling
• Utvikle test i tett dialog med utvikler i utviklingsmiljø
• Overlate 85-90% ferdig test til utvikler
• Fullfør test når endringen er kommet til testmiljø
• Inkrementell utrulling av endring
• Uferdig implementasjon testes og rulles i test/prod – merket «Preview»
• Tidlig feedback fra konsumenter og fortløpende utrulling av utbedring
• Tester i ulike ferdiggrad blir brukt hyppig
• Definition of Done
• Kvalitetskrav til DevOps prosjekt: alle reg.test må pass
Hvorfor gir dett en bedre hverdag...
• For tester:
• Effektiv utvikling og vedlikehold av tester
• Fokus på viktig ting som risiko knyttet til endringer
• Gradvis modning under utvikling av test sammen med utvikler
• For utvikler:
• Tidlig, rask og effektiv verifisering av endringer (reg.test og nye test)
• Trygg å merge og deploye endringer videre produksjon-pipeline
Takk for
oppmerksomhet
Epost: minh.nguyen@questigate.no
Web: www.questigate.no
LinkedIn: https://www.linkedin.com/in/minhng67/
Kontinuerlig test – Infrastruktur

More Related Content

Similar to Smart-APITest.pdf

20210428 dnd medlemsmøte-api_testing_sb1
20210428 dnd medlemsmøte-api_testing_sb120210428 dnd medlemsmøte-api_testing_sb1
20210428 dnd medlemsmøte-api_testing_sb1Minh Nguyen
 
Kontinuerlig leveransei skatteetatenpart-2
Kontinuerlig leveransei skatteetatenpart-2Kontinuerlig leveransei skatteetatenpart-2
Kontinuerlig leveransei skatteetatenpart-2ilmyggo
 
20211125 Odin - Modell-basert testing
20211125 Odin - Modell-basert testing 20211125 Odin - Modell-basert testing
20211125 Odin - Modell-basert testing Minh Nguyen
 
Kontinuerlige leveranser under eksamen
Kontinuerlige leveranser under eksamenKontinuerlige leveranser under eksamen
Kontinuerlige leveranser under eksamenEspen Ekvang
 
3-minutters guide: Slik lykkes du med smidig utvikling
3-minutters guide: Slik lykkes du med smidig utvikling3-minutters guide: Slik lykkes du med smidig utvikling
3-minutters guide: Slik lykkes du med smidig utviklingSteria Norway
 
GoOpen 2010: Paul Skrede
GoOpen 2010: Paul SkredeGoOpen 2010: Paul Skrede
GoOpen 2010: Paul SkredeFriprogsenteret
 
Kaizit no slideshare 2015 01-20
Kaizit no slideshare 2015 01-20Kaizit no slideshare 2015 01-20
Kaizit no slideshare 2015 01-20Kaizit
 
IT-utvikling som Business as Usual
IT-utvikling som Business as UsualIT-utvikling som Business as Usual
IT-utvikling som Business as UsualGeir Amsjø
 
CIOForum
CIOForumCIOForum
CIOForumtobiast
 
GoOpen 2010: Jan Christensen
GoOpen 2010: Jan ChristensenGoOpen 2010: Jan Christensen
GoOpen 2010: Jan ChristensenFriprogsenteret
 
Gevinster Fra Smidige Prosjekter 1 1
Gevinster Fra Smidige Prosjekter 1 1Gevinster Fra Smidige Prosjekter 1 1
Gevinster Fra Smidige Prosjekter 1 1Anne Kristine Næss
 
Creuna om brukeropplevelse - fra synsing til datadrevet innsikt
Creuna om brukeropplevelse - fra synsing til datadrevet innsiktCreuna om brukeropplevelse - fra synsing til datadrevet innsikt
Creuna om brukeropplevelse - fra synsing til datadrevet innsiktTord Heyerdahl
 

Similar to Smart-APITest.pdf (20)

Presentasjonsmal knowit qmo
Presentasjonsmal knowit qmoPresentasjonsmal knowit qmo
Presentasjonsmal knowit qmo
 
20210428 dnd medlemsmøte-api_testing_sb1
20210428 dnd medlemsmøte-api_testing_sb120210428 dnd medlemsmøte-api_testing_sb1
20210428 dnd medlemsmøte-api_testing_sb1
 
Kontinuerlig leveransei skatteetatenpart-2
Kontinuerlig leveransei skatteetatenpart-2Kontinuerlig leveransei skatteetatenpart-2
Kontinuerlig leveransei skatteetatenpart-2
 
20211125 Odin - Modell-basert testing
20211125 Odin - Modell-basert testing 20211125 Odin - Modell-basert testing
20211125 Odin - Modell-basert testing
 
Kontinuerlige leveranser under eksamen
Kontinuerlige leveranser under eksamenKontinuerlige leveranser under eksamen
Kontinuerlige leveranser under eksamen
 
Aws på kartet - 2
Aws på kartet - 2Aws på kartet - 2
Aws på kartet - 2
 
Hele butikken i skyen
Hele butikken i skyenHele butikken i skyen
Hele butikken i skyen
 
Risikobasert testing
Risikobasert testingRisikobasert testing
Risikobasert testing
 
3-minutters guide: Slik lykkes du med smidig utvikling
3-minutters guide: Slik lykkes du med smidig utvikling3-minutters guide: Slik lykkes du med smidig utvikling
3-minutters guide: Slik lykkes du med smidig utvikling
 
GoOpen 2010: Paul Skrede
GoOpen 2010: Paul SkredeGoOpen 2010: Paul Skrede
GoOpen 2010: Paul Skrede
 
Kaizit no slideshare 2015 01-20
Kaizit no slideshare 2015 01-20Kaizit no slideshare 2015 01-20
Kaizit no slideshare 2015 01-20
 
IT-utvikling som Business as Usual
IT-utvikling som Business as UsualIT-utvikling som Business as Usual
IT-utvikling som Business as Usual
 
Tdc
TdcTdc
Tdc
 
CIOForum
CIOForumCIOForum
CIOForum
 
Devops eller dø!
Devops eller dø!Devops eller dø!
Devops eller dø!
 
Både føre vár og etter snar
Både føre vár og etter snarBåde føre vár og etter snar
Både føre vár og etter snar
 
Prosjekthåndtering
ProsjekthåndteringProsjekthåndtering
Prosjekthåndtering
 
GoOpen 2010: Jan Christensen
GoOpen 2010: Jan ChristensenGoOpen 2010: Jan Christensen
GoOpen 2010: Jan Christensen
 
Gevinster Fra Smidige Prosjekter 1 1
Gevinster Fra Smidige Prosjekter 1 1Gevinster Fra Smidige Prosjekter 1 1
Gevinster Fra Smidige Prosjekter 1 1
 
Creuna om brukeropplevelse - fra synsing til datadrevet innsikt
Creuna om brukeropplevelse - fra synsing til datadrevet innsiktCreuna om brukeropplevelse - fra synsing til datadrevet innsikt
Creuna om brukeropplevelse - fra synsing til datadrevet innsikt
 

More from Minh Nguyen

SB1-Erfaringer-med-bruk-av-syntetisk-testdata.pdf
SB1-Erfaringer-med-bruk-av-syntetisk-testdata.pdfSB1-Erfaringer-med-bruk-av-syntetisk-testdata.pdf
SB1-Erfaringer-med-bruk-av-syntetisk-testdata.pdfMinh Nguyen
 
20220914-MBT-Experiences-SB1-final.pptx
20220914-MBT-Experiences-SB1-final.pptx20220914-MBT-Experiences-SB1-final.pptx
20220914-MBT-Experiences-SB1-final.pptxMinh Nguyen
 
ES2022-Minh-Nguyen-ShapingTestsIntoModelsForAutomatedTCGeneration.pdf
ES2022-Minh-Nguyen-ShapingTestsIntoModelsForAutomatedTCGeneration.pdfES2022-Minh-Nguyen-ShapingTestsIntoModelsForAutomatedTCGeneration.pdf
ES2022-Minh-Nguyen-ShapingTestsIntoModelsForAutomatedTCGeneration.pdfMinh Nguyen
 
2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx
2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx
2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptxMinh Nguyen
 
2019-CIO-Testforum-KvalitetssikringMedML-v1.0.PPTX
2019-CIO-Testforum-KvalitetssikringMedML-v1.0.PPTX2019-CIO-Testforum-KvalitetssikringMedML-v1.0.PPTX
2019-CIO-Testforum-KvalitetssikringMedML-v1.0.PPTXMinh Nguyen
 
Odin2019-AIML-suported_Test.pptx
Odin2019-AIML-suported_Test.pptxOdin2019-AIML-suported_Test.pptx
Odin2019-AIML-suported_Test.pptxMinh Nguyen
 
Testify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeedTestify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeedMinh Nguyen
 
Odin2018_Minh_ML_Risk_Prediction
Odin2018_Minh_ML_Risk_PredictionOdin2018_Minh_ML_Risk_Prediction
Odin2018_Minh_ML_Risk_PredictionMinh Nguyen
 
Risiko basert testing i praksis
Risiko basert testing i praksisRisiko basert testing i praksis
Risiko basert testing i praksisMinh Nguyen
 

More from Minh Nguyen (9)

SB1-Erfaringer-med-bruk-av-syntetisk-testdata.pdf
SB1-Erfaringer-med-bruk-av-syntetisk-testdata.pdfSB1-Erfaringer-med-bruk-av-syntetisk-testdata.pdf
SB1-Erfaringer-med-bruk-av-syntetisk-testdata.pdf
 
20220914-MBT-Experiences-SB1-final.pptx
20220914-MBT-Experiences-SB1-final.pptx20220914-MBT-Experiences-SB1-final.pptx
20220914-MBT-Experiences-SB1-final.pptx
 
ES2022-Minh-Nguyen-ShapingTestsIntoModelsForAutomatedTCGeneration.pdf
ES2022-Minh-Nguyen-ShapingTestsIntoModelsForAutomatedTCGeneration.pdfES2022-Minh-Nguyen-ShapingTestsIntoModelsForAutomatedTCGeneration.pdf
ES2022-Minh-Nguyen-ShapingTestsIntoModelsForAutomatedTCGeneration.pdf
 
2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx
2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx
2018-Sogeti-TestExpo-Intelligent_Predictive_Models.pptx
 
2019-CIO-Testforum-KvalitetssikringMedML-v1.0.PPTX
2019-CIO-Testforum-KvalitetssikringMedML-v1.0.PPTX2019-CIO-Testforum-KvalitetssikringMedML-v1.0.PPTX
2019-CIO-Testforum-KvalitetssikringMedML-v1.0.PPTX
 
Odin2019-AIML-suported_Test.pptx
Odin2019-AIML-suported_Test.pptxOdin2019-AIML-suported_Test.pptx
Odin2019-AIML-suported_Test.pptx
 
Testify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeedTestify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeed
 
Odin2018_Minh_ML_Risk_Prediction
Odin2018_Minh_ML_Risk_PredictionOdin2018_Minh_ML_Risk_Prediction
Odin2018_Minh_ML_Risk_Prediction
 
Risiko basert testing i praksis
Risiko basert testing i praksisRisiko basert testing i praksis
Risiko basert testing i praksis
 

Smart-APITest.pdf

  • 1. Smart API testautomatisering gjør hverdagen bedre for både utviklere og testere Minh Nguyen Kvalitetsingeniør
  • 2. Om meg • Gründer og kvalitetsingeniør i Questigate. • 26+ års arbeidserfaring med varierte roller innen Test og QA – derav 10+ år med API-testing. • Doktorgrad i Computer Science fra NTH/NTNU 1997. • Trives med å dele erfaringer for å inspirere andre. «Alltid på søken etter nye og innovative tilnærminger å utføre test og QA på en smart og effektiv måte.» Testautomatisering (CI/CT) - Efficient test Testdesign (MBT, ML-støtte, ...) - Effective test
  • 3. • Forretningsområder: • Boligutvikling, boligforvaltning, medlem og bank (NO/SE) • Systemportefølje • 100+ systemer • Team Digital Tjeneste Plattform • Master Data Management (MDM) • Dataeier og konsumenter • Integrasjoner og tjenester sikrer best mulig datakvalitet • Skal erstatte IBM Mainframe AS400 • Teknologi MDM • MS Azure • Hendelsesdrevet integrasjon med Azure ServiceBus Datakvalitet Integrasjon Tjenestearkitektur
  • 4. 3 lærdommer Testutvikling for og med gjenbruk Kontinuerlig API testing Etablering av testrammeverk
  • 5. 1. Testrammeverk Test rammeverk Grunnlag for valg av retning Testobjekt Testbehov Organisering Testmiljø/ Testdata Teknologi Prosess Forretingsfokus Systemfokus Bruksomfang Kritikalitet Verdikjede Portefølje Avhengighet Plattform Integrasjon Tjenester Testtype Testnivå Endringstakt Risiko Datakvalitet Stabilitet Datakonsistens Bruksområde Bygg/deploy Utvikling Test Roller/ansvar Testmodenhet
  • 6. Og resultat er ... API Test- automatisering Brukes tidlig og hyppig Funksjonell test. Integrasjonstest, Reg.test, E2Etest Integreres med utviklingsplattform Uavhengig av testressurser Sentral plattform med kritiske tjenester Høy endringstakt i alle lag Testobjekt Rammebetingelser Behov
  • 7. 2. Testutvikling for gjenbruk 03 Standardisering 01 Testdata on demand 02 Gjenbruksbare komponenter 04 Testscenario toggling
  • 8. Testdata-on-demand • Grunnet mangel på konsistent testdata Skaper nødvendig testdata ved behov Rydde opp ved å slette testdata etter kjøring Gevinster: • Gjenbruke tester uten å avhenge av hard-kodet testdata • Kjøre samme test i alle testmiljøene • Sikre korrekt og varierte testdata
  • 9. Gjenbrukbare komponenter • En sekvens av teststeg som har et definert mål og har en repeterende bruksmønster • Opprette en personkunde/medlemskap • Opprette et eierforhold til et boligselskap Gevinster: • Kan kjøres separat for kontinuerlig verifisering eller • Inngår i en kombinasjon av flere tester for å sette opp testscenario eller verifisere en verdikjede • Eierskifte: i) opprette borettslag; ii) opprette leiligheter; iii) opprette personer som eier; iv) opprette ny eier som har medlemskap
  • 10. Standarisering • Navnegivningstandard • Navn på Testsuite, testcase, teststeg, skript, osv... • Parameter- og variabelnavn Gevinst: • Enkelt å søke og gjenfinne for gjenbruk • Selvforklarende • Lesbarhet
  • 11. Testscenario toggling • Målet er at en testcase kan verifisere flere scenarier • Parameter som styrer mulige forgreninger i en test-sekvens Gevinst: • Fleksibelt å teste ulike scenarier • dfsdf
  • 12. Testutvikling for gjenbruk Mulig at testutvikling med gjenbruk medfører ekstra kostnad men det vil kompenseres med: ✓Tidsbesparende for testutvikling ✓ Redusere sannsynlighet for feil i test ✓ Fokus på verifisering av aktuelle endringer ✓ Effektivt vedlikehold ved å endre kun på felles generiske tester ✓ Testdekning kan enkelt skaleres
  • 13. 3. Kontinuerlig API test Behov: • Utvikler ønsker å kunne manuelt kjøre api-reg.tester for å verifisere endringer. • Utvikler ønsker å kjøre alle relevante reg.testene ved bygg/merge/commit. • Tester ønsker å kunne ha en "hygiene-status" på alle tjenestene i hvert testmiljø.
  • 14. Kontinuerlig test Test Engine Azure DevOps Service.AgentListener Developer Azure repo Azure repo Azure repo Test Tool Tester Azure repo 1a.Manuelt eller trigges av bygg 3. Kjøre test 1b. Planlagt kjøreplan 2. Utsjekk av testkode 4. Rapportere evt. feil
  • 16. Utviklingsprosess tilpasset CI/CT • Tidlig og iterativ test under utvikling • Utvikle test i tett dialog med utvikler i utviklingsmiljø • Overlate 85-90% ferdig test til utvikler • Fullfør test når endringen er kommet til testmiljø • Inkrementell utrulling av endring • Uferdig implementasjon testes og rulles i test/prod – merket «Preview» • Tidlig feedback fra konsumenter og fortløpende utrulling av utbedring • Tester i ulike ferdiggrad blir brukt hyppig • Definition of Done • Kvalitetskrav til DevOps prosjekt: alle reg.test må pass
  • 17. Hvorfor gir dett en bedre hverdag... • For tester: • Effektiv utvikling og vedlikehold av tester • Fokus på viktig ting som risiko knyttet til endringer • Gradvis modning under utvikling av test sammen med utvikler • For utvikler: • Tidlig, rask og effektiv verifisering av endringer (reg.test og nye test) • Trygg å merge og deploye endringer videre produksjon-pipeline
  • 18. Takk for oppmerksomhet Epost: minh.nguyen@questigate.no Web: www.questigate.no LinkedIn: https://www.linkedin.com/in/minhng67/
  • 19. Kontinuerlig test – Infrastruktur