SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
Minh Nguyen
Erfaringer med modell-
basert testing i SB1
Test Lead / Test Engineer
SB1 Master Data Management (MDM)
Om meg...
2
«Alltid på søken etter nye innovative måter å
gjøre testingen mer effektiv og smartere…”
Ø Testprosess, -strategi, testautomatisering,
CI/CT, modellbasert testing, anvendelse av
ML/AI i testarbeid.
Minh Nguyen – doktoringeniør fra NTNU
Principal Test Engineer i Testify
– 25 års arbeidserfaring med test og QA
– Innleid hos SpareBank 1 - Master Data
Management team
04 Erfaringer og videre arbeid
03 Eksempler på gevinster
02 MBT – hva har vi oppnådd?
01 Motivasjon
Agenda
Motivasjon
• Tilbakelagt en implementering av testautomatisering (tjenester og verdikjeder)
- DND medlemsmøte 28.04.2021 - https://youtu.be/Gksah7ncJys
• MDM - et komplekst og regel-intensivt system
- Umulig å teste alle kombinasjonene
- Kostbart å regresjon-teste alt
• Hypotese: modellbasert testing kan være en mulig testteknikk
- MEN: det finnes lite praktiske brukserfaringer
- Ønsker å validere hypotesen...
4
5
Modellbasert testing (MBT)
Systemkrav
Modell
Test-
orakel
Testcaser
Eksekverbare
tester SUT
Manuell
Automatisk
generering
Automatisk
generering
Automatisk
kopling
Automatisk
kjøring
Automatisk
evaluering
Testverktøy
Forventede gevinster:
• Automatisk (smart) generering av
testcaser (TC)
• Sporbarhet mellom krav og
testcaser
• Justerbar testdekning – riktige
tester for gitt formål
• Kostnadseffektiv vedlikehold av
tester
Eksempel – Samtykke
Krav:
Både person- og bedriftskunde skal kunne avgi eller trekke tilbake ulike samtykke.
6
Samtykke-parameter
- Identifikasjonsnummer: [f.nr, d.nr, org.nr]
- Samtykke-typer: [1, 2, 3]
- Samtykke-gruppe: [BankPM, BankBM]
- Samtykke-språk: [NOB, NNO, ENG]
- Samtykke-svar: [Ja, Nei]
- Samtykke-variant: [<variabel>]
- Samtykke-gittAv: [<fritekst>]
- Samtykke-gittDato: [<gyldig datoformat>]
- gittFraKanal: [NB, CRM, BS]
Regler:
- Identifikasjonsnummer må være gyldig
- Personkunde skal ha type 1 og 2
- Bedriftskunde skal ha type 3 + variant
- Samtykkegruppe må være gyldig
- Samtykkespråk må være gyldig
- Samtykke-variant skal kun angis dersom varians = true
- gittAv-felt har maks 256 tegn
- gittDato må ha gyldig datoformat
- gittFraKanal må være gyldig
7
Modellbasert testing (MBT)
Systemkrav
Modell
Test-
orakel
Testcaser
Eksekverbare
tester SUT
Manuell
Automatisk
generering
Automatisk
generering
Automatisk
kopling
Automatisk
kjøring
Automatisk
evaluering
Testverktøy
Modellering
8
Parameter-design
Testcase-filter
Regel-definisjon
Ekvivalens-
partisjon
Grenseverdi
Beslutnings-
tabell
Logiske
operatorer
identNo:
- regularSSN
- d-number
- companyNo
- invalid_IdentNo
givenBy:
- length_20
- length_255
- length_256
- length_257
Rule_1:
if (identNo.regularSSN &&givenBy.length_20)
Outcome = true
Rule_2:
if (identNo.regularSSN && givenBy.length_257) {
Outcome = false
Error_msg = «Too long givenBy string»
}
Fixed_value(identNo = type = 3 &&
IdentNo = companyNo &&
language = NOB)
Exclude(identNo.d-number ||
language = ENG ||
givenFromChannel = CRM )
9
Modellbasert testing (MBT)
Systemkrav
Modell
Test-
orakel
Testcaser
Eksekverbare
tester SUT
Manuell
Automatisk
generering
Automatisk
generering
Automatisk
kopling
Automatisk
kjøring
Automatisk
evaluering
Testverktøy
TC-generering
10
Parameter
Mulige inputverdier
Antall mulige kombinasjoner = 3 x 3 x ... X 3 = 312 = 531.441 rekker
è «Testcase eksplosjon»
Målsetning med TC-generering:
Ø Å finne et sett testcaser som er både nødvendige
og tilstrekkelige for et gitt formål
Algoritmer:
o Nwise – 2 | 3 | .. | n
o Cartesian (full dekning)
o Random
Modell:
o Parametre
o Regler
o TC-filtere
Genererte testcaser:
o (o1, a1, b3, c2, ...)
o (o2, a2, b1, c2, ...)
o ...
11
Modellbasert testing (MBT)
Systemkrav
Modell
Test-
orakel
Testcaser
Eksekverbare
tester SUT
Manuell
Automatisk
generering
Automatisk
generering
Automatisk
kopling
Automatisk
kjøring
Automatisk
evaluering
Testverktøy
12
EcFeed
Testparameter mapping
Testcase generator
Eksportere resultat
Evaluere resultat
Eksekvere tjeneste (SUT)
SoapUI-test
Algoritme +
Regler +
TC-filtre
Forventet_output, input_1, input_2, ..., input_n
Forventet_output, input_1, input_2, ..., input_n
Forventet_output, input_1, input_2, ..., input_n
Forventet_output, input_1, input_2, ..., input_n
...
• CSV-fil
• Database tabell
• Jira dashboard
API
SoapUI integrasjon
Gevinster
• Endringer i modell og ikke i test
- Nye verdier i system-parameter
- Endringer på forretningsregler
• Endringer i modell og i test
- Strukturelle systemendringer: nye tjenestekontrakt med nye felter
13
Gevinster
14 14
Justerbar
testdekning
q Fritt men bevisst valg av testdekning ved å kombinere algoritme,
regler og TC-filter.
q Samtykke: Cartesian: 1560 TC; Nwise-3: 29 TC;
q Aktiv bruk av TC-filter for å regresjonstest en gitt systemendring
Kostnadseffektiv
vedlikehold
q Kun endring i modellen og ikke i test:
v Nye input-verdier på system-parameter
v Endringer i forretningsregler
v Merk at: Endringer i API-kontrakt (strukturelle) medfører endringer i test
q SoapUI-tester er intakte
Erfaringer
15
v Jobbe på modell og testene forblir uendret (som oftest)
v Gode erfaringer så langt men trenger å implementere MBT for flere
tjenester
MBT-teknikk
v Krever en god systemforståelse og evne til å modellere dem
v Definere tilstrekkelig regler og TC-filtre for å kunne justere testdekning
for ulike testformål
v Automatiserte tester må defineres med bruk av parameter
Implementasjon-
prosess
v Enkel integrasjon av ecFeed-API med SoapUI
v ecFeed kunne utbedres for å bli mer intuitiv og mer «testvennlig»
Verktøy og
integrasjon
Veikart for test
Manuell
test
Automatisert
test
Kontinuerlig
test
Modell-basert
test
Adaptiv
test
Ad-hoc
Rask og
tidseffektiv
Betimelig,
hendelsesbasert
Riktig,
formålstjenlig
Smarte,
lærende
Besøk oss på Testify-stand
for å se ecFeed og SB1-casen
live...
TAKK FOR MEG

Contenu connexe

Similaire à 20211125_Odin_MBT-SB1-final.pdf

Hyppige leveranser hva gjør spk
Hyppige leveranser hva gjør spkHyppige leveranser hva gjør spk
Hyppige leveranser hva gjør spkSmidigkonferansen
 
Presentasjon NAV frokostseminar anskaffelser_211010
Presentasjon NAV frokostseminar anskaffelser_211010Presentasjon NAV frokostseminar anskaffelser_211010
Presentasjon NAV frokostseminar anskaffelser_211010Devoteam daVinci
 
Mette Gjertsen: Perform og SPKs erfaringer med ps2000 kontraktsstandard xp-me...
Mette Gjertsen: Perform og SPKs erfaringer med ps2000 kontraktsstandard xp-me...Mette Gjertsen: Perform og SPKs erfaringer med ps2000 kontraktsstandard xp-me...
Mette Gjertsen: Perform og SPKs erfaringer med ps2000 kontraktsstandard xp-me...Geir Amsjø
 
Spor 2 kontinuerlig forbedring av testprosessen
Spor 2   kontinuerlig forbedring av testprosessenSpor 2   kontinuerlig forbedring av testprosessen
Spor 2 kontinuerlig forbedring av testprosessenSteria Norway
 
2015 02-11 systemanalyser i nav
2015 02-11 systemanalyser i nav2015 02-11 systemanalyser i nav
2015 02-11 systemanalyser i navPetter Hafskjold
 
Inngåelse og oppfølging av it kontrakter
Inngåelse og oppfølging av it kontrakterInngåelse og oppfølging av it kontrakter
Inngåelse og oppfølging av it kontrakterKjell Steffner
 
Kurs i webanalyse og Google Analytics for Kommunikasjonsforeningen
Kurs i webanalyse og Google Analytics for KommunikasjonsforeningenKurs i webanalyse og Google Analytics for Kommunikasjonsforeningen
Kurs i webanalyse og Google Analytics for KommunikasjonsforeningenNettpilot
 

Similaire à 20211125_Odin_MBT-SB1-final.pdf (10)

Hyppige leveranser hva gjør spk
Hyppige leveranser hva gjør spkHyppige leveranser hva gjør spk
Hyppige leveranser hva gjør spk
 
Presentasjon NAV frokostseminar anskaffelser_211010
Presentasjon NAV frokostseminar anskaffelser_211010Presentasjon NAV frokostseminar anskaffelser_211010
Presentasjon NAV frokostseminar anskaffelser_211010
 
Mette Gjertsen: Perform og SPKs erfaringer med ps2000 kontraktsstandard xp-me...
Mette Gjertsen: Perform og SPKs erfaringer med ps2000 kontraktsstandard xp-me...Mette Gjertsen: Perform og SPKs erfaringer med ps2000 kontraktsstandard xp-me...
Mette Gjertsen: Perform og SPKs erfaringer med ps2000 kontraktsstandard xp-me...
 
Confex analytics 2014 del 2
Confex analytics 2014 del 2Confex analytics 2014 del 2
Confex analytics 2014 del 2
 
Soa Runtime
Soa RuntimeSoa Runtime
Soa Runtime
 
Rammeverk: Kontinuerlig forbedring i SSB
Rammeverk: Kontinuerlig forbedring i SSBRammeverk: Kontinuerlig forbedring i SSB
Rammeverk: Kontinuerlig forbedring i SSB
 
Spor 2 kontinuerlig forbedring av testprosessen
Spor 2   kontinuerlig forbedring av testprosessenSpor 2   kontinuerlig forbedring av testprosessen
Spor 2 kontinuerlig forbedring av testprosessen
 
2015 02-11 systemanalyser i nav
2015 02-11 systemanalyser i nav2015 02-11 systemanalyser i nav
2015 02-11 systemanalyser i nav
 
Inngåelse og oppfølging av it kontrakter
Inngåelse og oppfølging av it kontrakterInngåelse og oppfølging av it kontrakter
Inngåelse og oppfølging av it kontrakter
 
Kurs i webanalyse og Google Analytics for Kommunikasjonsforeningen
Kurs i webanalyse og Google Analytics for KommunikasjonsforeningenKurs i webanalyse og Google Analytics for Kommunikasjonsforeningen
Kurs i webanalyse og Google Analytics for Kommunikasjonsforeningen
 

Plus de 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
 
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
 

Plus de Minh Nguyen (7)

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
 
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
 

20211125_Odin_MBT-SB1-final.pdf

  • 1. Minh Nguyen Erfaringer med modell- basert testing i SB1 Test Lead / Test Engineer SB1 Master Data Management (MDM)
  • 2. Om meg... 2 «Alltid på søken etter nye innovative måter å gjøre testingen mer effektiv og smartere…” Ø Testprosess, -strategi, testautomatisering, CI/CT, modellbasert testing, anvendelse av ML/AI i testarbeid. Minh Nguyen – doktoringeniør fra NTNU Principal Test Engineer i Testify – 25 års arbeidserfaring med test og QA – Innleid hos SpareBank 1 - Master Data Management team
  • 3. 04 Erfaringer og videre arbeid 03 Eksempler på gevinster 02 MBT – hva har vi oppnådd? 01 Motivasjon Agenda
  • 4. Motivasjon • Tilbakelagt en implementering av testautomatisering (tjenester og verdikjeder) - DND medlemsmøte 28.04.2021 - https://youtu.be/Gksah7ncJys • MDM - et komplekst og regel-intensivt system - Umulig å teste alle kombinasjonene - Kostbart å regresjon-teste alt • Hypotese: modellbasert testing kan være en mulig testteknikk - MEN: det finnes lite praktiske brukserfaringer - Ønsker å validere hypotesen... 4
  • 5. 5 Modellbasert testing (MBT) Systemkrav Modell Test- orakel Testcaser Eksekverbare tester SUT Manuell Automatisk generering Automatisk generering Automatisk kopling Automatisk kjøring Automatisk evaluering Testverktøy Forventede gevinster: • Automatisk (smart) generering av testcaser (TC) • Sporbarhet mellom krav og testcaser • Justerbar testdekning – riktige tester for gitt formål • Kostnadseffektiv vedlikehold av tester
  • 6. Eksempel – Samtykke Krav: Både person- og bedriftskunde skal kunne avgi eller trekke tilbake ulike samtykke. 6 Samtykke-parameter - Identifikasjonsnummer: [f.nr, d.nr, org.nr] - Samtykke-typer: [1, 2, 3] - Samtykke-gruppe: [BankPM, BankBM] - Samtykke-språk: [NOB, NNO, ENG] - Samtykke-svar: [Ja, Nei] - Samtykke-variant: [<variabel>] - Samtykke-gittAv: [<fritekst>] - Samtykke-gittDato: [<gyldig datoformat>] - gittFraKanal: [NB, CRM, BS] Regler: - Identifikasjonsnummer må være gyldig - Personkunde skal ha type 1 og 2 - Bedriftskunde skal ha type 3 + variant - Samtykkegruppe må være gyldig - Samtykkespråk må være gyldig - Samtykke-variant skal kun angis dersom varians = true - gittAv-felt har maks 256 tegn - gittDato må ha gyldig datoformat - gittFraKanal må være gyldig
  • 7. 7 Modellbasert testing (MBT) Systemkrav Modell Test- orakel Testcaser Eksekverbare tester SUT Manuell Automatisk generering Automatisk generering Automatisk kopling Automatisk kjøring Automatisk evaluering Testverktøy
  • 8. Modellering 8 Parameter-design Testcase-filter Regel-definisjon Ekvivalens- partisjon Grenseverdi Beslutnings- tabell Logiske operatorer identNo: - regularSSN - d-number - companyNo - invalid_IdentNo givenBy: - length_20 - length_255 - length_256 - length_257 Rule_1: if (identNo.regularSSN &&givenBy.length_20) Outcome = true Rule_2: if (identNo.regularSSN && givenBy.length_257) { Outcome = false Error_msg = «Too long givenBy string» } Fixed_value(identNo = type = 3 && IdentNo = companyNo && language = NOB) Exclude(identNo.d-number || language = ENG || givenFromChannel = CRM )
  • 9. 9 Modellbasert testing (MBT) Systemkrav Modell Test- orakel Testcaser Eksekverbare tester SUT Manuell Automatisk generering Automatisk generering Automatisk kopling Automatisk kjøring Automatisk evaluering Testverktøy
  • 10. TC-generering 10 Parameter Mulige inputverdier Antall mulige kombinasjoner = 3 x 3 x ... X 3 = 312 = 531.441 rekker è «Testcase eksplosjon» Målsetning med TC-generering: Ø Å finne et sett testcaser som er både nødvendige og tilstrekkelige for et gitt formål Algoritmer: o Nwise – 2 | 3 | .. | n o Cartesian (full dekning) o Random Modell: o Parametre o Regler o TC-filtere Genererte testcaser: o (o1, a1, b3, c2, ...) o (o2, a2, b1, c2, ...) o ...
  • 11. 11 Modellbasert testing (MBT) Systemkrav Modell Test- orakel Testcaser Eksekverbare tester SUT Manuell Automatisk generering Automatisk generering Automatisk kopling Automatisk kjøring Automatisk evaluering Testverktøy
  • 12. 12 EcFeed Testparameter mapping Testcase generator Eksportere resultat Evaluere resultat Eksekvere tjeneste (SUT) SoapUI-test Algoritme + Regler + TC-filtre Forventet_output, input_1, input_2, ..., input_n Forventet_output, input_1, input_2, ..., input_n Forventet_output, input_1, input_2, ..., input_n Forventet_output, input_1, input_2, ..., input_n ... • CSV-fil • Database tabell • Jira dashboard API SoapUI integrasjon
  • 13. Gevinster • Endringer i modell og ikke i test - Nye verdier i system-parameter - Endringer på forretningsregler • Endringer i modell og i test - Strukturelle systemendringer: nye tjenestekontrakt med nye felter 13
  • 14. Gevinster 14 14 Justerbar testdekning q Fritt men bevisst valg av testdekning ved å kombinere algoritme, regler og TC-filter. q Samtykke: Cartesian: 1560 TC; Nwise-3: 29 TC; q Aktiv bruk av TC-filter for å regresjonstest en gitt systemendring Kostnadseffektiv vedlikehold q Kun endring i modellen og ikke i test: v Nye input-verdier på system-parameter v Endringer i forretningsregler v Merk at: Endringer i API-kontrakt (strukturelle) medfører endringer i test q SoapUI-tester er intakte
  • 15. Erfaringer 15 v Jobbe på modell og testene forblir uendret (som oftest) v Gode erfaringer så langt men trenger å implementere MBT for flere tjenester MBT-teknikk v Krever en god systemforståelse og evne til å modellere dem v Definere tilstrekkelig regler og TC-filtre for å kunne justere testdekning for ulike testformål v Automatiserte tester må defineres med bruk av parameter Implementasjon- prosess v Enkel integrasjon av ecFeed-API med SoapUI v ecFeed kunne utbedres for å bli mer intuitiv og mer «testvennlig» Verktøy og integrasjon
  • 16. Veikart for test Manuell test Automatisert test Kontinuerlig test Modell-basert test Adaptiv test Ad-hoc Rask og tidseffektiv Betimelig, hendelsesbasert Riktig, formålstjenlig Smarte, lærende
  • 17. Besøk oss på Testify-stand for å se ecFeed og SB1-casen live... TAKK FOR MEG