Ny Quality Day i en litt spesiell tid
Mange savner sosiale og faglige treffpunkter i disse dager. Teams, Slack og Zoom er blitt en daglig vane, men som alle nå vet, det er ikke det samme som direkte kontakt.
Photo by Marvin Meyer on Unsplash
Med litt kreativ planlegging fikk vi til å arrangere enda en Quality Day, innenfor smittevernsreglene. Også denne gangen droppet vi felles frokost, samt la planer for å unngå at alle måtte reise til kontoret i rush-tiden. Det ble en intens quality day før vi hadde et avdelingsmøte og avsluttet dagen med en gastronomisk reise til Asia.
Et knippe nyansatte kvalitetsentusiaster og en gjeng veteraner samlet seg på nytt for en “Quality Day”, en månedlig konsulentsamling i Knowit Quality, med faglig videreutvikling og sosial hygge.
Ila dagen ble en rekke ulike temaer besøkt. Noen erfaringer ble delt i plenum, noen individuelt og de fleste oppsummeres i denne blogg-posten.
Photo by Nick Fewings on Unsplash
Veien fra månedlige til ukentlige leveranser
En av kvalitetsentusiastene, som er utleid til Entur, holdt et innlegg om hvordan de har økt takten på prodsettinger fra månedlig deploy til ukentlig, og samtidig innført mer autonome team. Dette, kombinert med
hjemmekontor, har gjort arbeidsdagen der både lettere og mer effektiv. Kommunikasjonen i teamene går fortløpende på Teams videomøter flere ganger om dagen samt masse ulike Slack kanaler. Mail benyttes kun til møteinnkallinger.
Vi jobber smidig med autonome, kryssfunksjonelle team. Alle oppgaver ligger i Jira sitt Kanban-board. Vi får teste tidligere på feature-branches (underveis med utviklingen). Testmiljø settes opp med lokale kjørende instanser av løsningen som blir fortløpende oppdatert i Git.
Teamet tar seg av all nyutvikling innenfor et område samt vedlikeholder / forvalter relaterte feil og endringsønsker som kommer fra support. Prosessen setter krav til automatiserte enhetstester og vi jobber løpende med automatisering av regresjonstester.
Alt i alt gode erfaring med nye og enda smidigere arbeidsmetoder.
TIPS for å lykkes: Bruk labels i JIRA for å tagge hvilke saker som er klart for deploy. Lag en detaljert checkliste for deploy. Målet er at alle skal kunne ta på seg leveranseansvarlig-hatten. (Beveger seg mot “the drunken hamster”-approach hvor enhver kan deploye nårsomhelst. https://www.meetup.com/Agile-Illes-Balears-Meetup/events/255229142/ )
Javascript-kurs for nybegynnere — Bruk av funksjoner
Lærdom fra et javascript-kurs for nybegynnere som noen gikk igjennom.
Når vi skal utvikle kode så trenger vi en metode for å kunne ordne koden i logiske blokker og til å redusere repetisjoner i kodebasen vår. Til dette formålet kan funksjoner (også kalt metoder) benyttes i JavaScript.
En funksjon er én eller flere linjer med kode som er gruppert sammen og gitt et funksjonsnavn. Slik at når funksjonsnavnet blir kalt opp så vil den grupperte koden bli eksekvert. Det betyr at vi kan kalle opp en funksjon flere ganger og eksekvere den samme koden gjentatte ganger ved behov. Slik er ser oppsettet av en funksjon ut:
function navn(parameter1, parameter2, ..) {
//koden som skal eksekveres
}
Når bør vi så bruke funksjoner i JavaScript? Hvis du ender opp med å skrive den samme kodebiten flere ganger så kan det være en indikasjon på at du heller bør lage en funksjon i stedet.
Gevinsten ved å bruke funksjoner er altså at det reduserer repetisjoner i JavaScript-koden og samtidig blir koden også mer lesbar. Don’t Repeat Yourself — DRY — er et prinsipp innenfor software-utvikling. Les mer her: https://en.wikipedia.org/wiki/Don't_repeat_yourself
Dessuten, for alle som driver med software-testing, bruk av funksjoner i JavaScript gjør koden mer testbar.
Hvis du ønsker å lære mer om JavaScript så er hjelpen ikke langt unna. Internett nærmest flommer over av guider og tutorials om emnet. Det er bare å gjøre et kjapt søk på Google.
Og et lite tips til slutt: Når du skal leke og lære JavaScript kan du bruke JSbin, https://jsbin.com/panufolado/edit?js,console til å kjøre koden din, uten å måtte installere noe først.
K6 fra Loadimpact
Lærdommer fra utforsking av ytelsestest-verktøyet K6
K6 er et selvbeskrevet «moderne» og «utvikler-sentrisk» ytelsestest-verktøy, som gir deg brede scripting-muligheter og mye rom for konfigurering, som kan kjøres lokalt og i skyen. Det er velegnet for CI/CD. K6 kjører skriptene med Virtual Users (VUs), og selve skriptene skrives i javascript.
Jeg ville se på verktøyet; hvilke muligheter, og begrensninger, har det?
For denne fagdagen installerte og kjørte jeg K6 i docker; andre instruksjoner for installasjon og kjøring finnes her: https://github.com/loadimpact/k6 — og trenger du docker får du det her: https://www.docker.com/
NB! Siste versjon av docker har en god, interaktiv steg-for-steg tutorial for å komme i gang (klone første repo, pulle et image og starte en container). For å installere K6 i docker kjører du enkelt og greit kommandoen
docker pull loadimpact/k6
Tutorial-en til K6 gir deg et enkelt test-script som lar deg gjenta GET-kall mot deres egen testside, og du kan enkelt og greit leke deg med å variere kjørelengde og rampe opp- og ned antall VUs som du skal kjøre.
ISTQB sertifiseringer
Noen brukte fagtiden på å forberede seg til ISTQB sertifisering
Sertifiseringer er viktige å ha som konsulent, og en viktig eksamen for alle som jobber med test er ISTQB Foundation. Her kom det en ny revisjon i 2018, med nytt eksamenssett, og fokus for denne konsulenten i dag var å gå gjennom dette med mål om å ta eksamen om kort tid.
Knowit kjører også egne ISTQB kurs og sertifiseringer tilgjengelig for både eksterne og interne deltakere. Se Knowit Test School for mer detaljer.
Knowit har også tilgang til opplærings- og sertifiseringer på hele Microsoft’s portefølje, og her har konsulenten begynt å gå gjennom et introkurs til Azure, med en plan om å snarlig ta eksamen som tilsvarer “Azure Foundation”, en introduksjon til Microsofts skytjenester.
Photo by John Schnobrich on Unsplash
Quality-as-a-Service
Også strategisk produkt utvikling passer inn på en fagdag
Knowit Quality er godt i gang arbeidet med å utvide vårt tjenestetilbud.
Fokusområdet i dag var definisjon av hva vi legger i QaaS (Quality as a Service). Vi kom godt i gang med å definere opp et grunnlag for videre arbeid. Målet er å sette opp en analysetjeneste via en selvbetjent web-løsning som vi ønsker å tilby bedrifter/kunder.
Vi vil ikke dele detaljene på dette arbeidet helt enda, men kan love alle lesere at det blir videre arbeid på området og spennende tider fremover med utvidet tjenestespekter!
Postman og Newman
En av konsulentene jobbet med kompetanseheving på Postman
Jeg er en newbie i bruk av Postman som verktøy i API testing, så dagens Quality Day har jeg brukt for å se på noen dypdykk i emner ved bruk av Postman og Newman.
Newman brukes «command line» for kjøring av Postman-scripts, f.eks. ifm. continous testing fra byggeserver. Postman har en Bootcamp i sin desktop app, denne er nyttig å gjennomføre og gir god oversikt over å bygge samlinger av API kall, sette opp «mock servers», variabler, miljø og dokumentasjon av de scripter man lager. Brukte litt tid på å sjekke bruk av enkle tester/sjekker i responsen som kan gjøres i Collection under Test tab:’
Her kan man jo sjekke på hva som helst i responsen, men eksempelet over sjekker enkelt å greit om responsens statuskode 200 er gitt tilbake på requesten.
Prøvde ut å eksportere samlingen til fil for så å kjøre gjennom newman. Sjekket også ut rapport delen som lage en json fil av kjøringen av samlingen.
Bollepause
Etter noen intense studietimer var det godt med en pause og litt påfyll av nydelige kanelsnurrer fra Ille brød rett rundt hjørnet.
Dette var noe alle enige i vi skulle fortsette med etter at retrospective var gjennomført på slutten av dagen. Lærdom til neste gang er å bestille mange nok kanelsnurrer i god nok tid… Og ingen rosiner!
Fagdag retrospektive
Fagkoordinator i teamet gjennomførte en retrospektive rundt organiseringen av Quality Day og fagarbeidet.
Alle fikk gi innspill på hva man skal
- Stoppe med,
- Begynne med og
- Fortsette med
Responsen var god og vi fikk frem mange gode tanker og ideer for å gjøre fagdagene enda mer interessante og effektive.
Chengdu — en kulinarisk reise til Szechuan
Vår eminente sosial ansvarlig sto for valget av restaurant denne gangen. Dette er en myteomspunnet oslo-klassiker blandt de invidde skal vi tro ryktene. Og definitivt en plass vi vil tilbake til!
https://www.dn.no/smak/restaurantguiden/restauranter/mat/kina/du-store-kineser/2-1-830880
Blandt våre favoritter fantes kald oksemage, froskelår og aubergin. Vi gikk på med friskt mot og lot like greit servitøren bestemme menyen for oss. Det angret vi ikke på! Vi ble (svært) gode og (svært) mette av både mat og drikke. Det var en som savnet griseører men det gikk greit uten var alle enige om.
Kvelden ble avsluttet med litt kald drikke og muligheten for å lære seg et nytt brettspill, “Star Fluxx”. Til tross for noen startvansker ble den harde spill-kjernen som var igjen loset trygt gjennom første gjennomspilling av kjentfolk.
Vinneren ble like overrasket som resten av spillerne over at hun vant!
Øvelse gjør mester, også her.
Until next time, peace, love and soap!
På vegne av Kvalitetsentusiastene,
Mvh. Kristian Brandser