I dette minikurset fikk grupper jobbe sammen for å lage en container av en app, og deretter lage tester. Vi brukte mobbprogrammering, en morsom og lærerik måte for et team å få økt og felles forståelse. Vi tok en prat med Ola for å høre litt mer om teknologien og teknikkene.
Hva er egentlig en container?
Godt spørsmål. En container i IT-verdenen er en standardisert måte å pakke inn kjørende programvare på. En fysisk parallel er, naturlig nok, en faktisk container som kan fylles med valgfritt innhold og dyttes inn på et hvilken som helst containerskip eller lastebil. En slik container vil da oppføre seg likt som andre containere. For IT-verdenen betyr dette at en container kan flyttes og brukes på ulike plattformer og operativsystem, men vil oppføre seg likt uansett om det er Linux/Windows, AWS/Azure/osv. som benyttes. Den kan også skaleres og kjøres flere eller færre av avhengig av behovet. Inni denne containeren kjører den faktisk programvaren, for eksempel en app eller et API.
Hva er mobbprogrammering?
Enkelt sett er dette en utvidelse av parprogrammering (hvor to utviklere sitter sammen og programmerer, fra XP Xtreme Programming-konseptet). Istedenfor to utviklere vil det da være 3-5 (eller potensielt sett flere) deltagere av i utgangspunktet alle forskjellige roller som programmerer sammen. Hvordan kan en person uten utviklerkunnskaper programmere? Enkelt! Prinsippet er at det er én maskin og alle tilbringer like mye tid i «programmeringssetet» foran PC-en i tur og orden. Lengden på sesjonene som en «programmerer» sitter i setet er fastsatt på forhånd, typisk 10 minutter. Alle andre deltagere kommer med innspill til hva og hvordan man skal programmere, men kun personen i «programmeringssetet» kan faktisk skrive kode.
Hva tror du blir det viktigste i tiden fremover innefor området testmiljø?
Testdata er det evige problemet for testmiljø og vil nok fortsette å være meget viktig en god stund fremover. Gode verktøy og prinsipper som containere kan hjelpe deg med å ha kontroll på testdata; for eksempel at du bestandig starter «på samme plass» for å få deterministiske testcaser og samtidig har kontroll på krav som GDPR.
Hvorfor er dette minikurset viktig og relevant for oss som jobber med test?
Med containerteknologi implementert på en god måte kan man benytte nøyaktig samme kode og oppsett som kjører i produksjon. Som tester kan du da rigge testmiljøer mye nærmere det som faktisk kjører i produksjon og dermed få mer realistiske testcaser og mer stabile testmiljø. Det er også viktig med kunnskap om containere for reisen opp i skyen, som er høyaktuell for mange organisasjoner.
Tilbakemelding fra kursdeltager
Mobbprogrammering er en fantastisk måte å lære sammen på!
Tusen takk for at du delte av din kunnskap og erfaringer Ola!
Hvis du vil være mer om testmiljø og containere anbefaler vi på det varmeste å sjekke ut vårt kurs med Ola Kleiven!