Agile testing, automated testing og continuous integration er begreber, som i disse år høres meget indenfor den webrelaterede softwareproduktverden. Her bringer anvendelsen af begreberne værdi til forretningen bl.a. i form af færre fejl, større stabilitet i softwaren, bedre kommunikation imellem udviklerne og forretningen, der kan bidrage til at effektivisere og strømline udviklingsprocesserne.
Imidlertid kan udviklingsprocesser knyttet til udviklingen af indlejrede enheder, såkaldte embedded devices, også drage nytte af disse begreber, omend udfoldelsen af dem sker lidt anderledes grundet andre forudsætninger og begrænsninger i køretidsmiljøerne.
I Translucent har vi i mere end 10 år arbejdet med software- og systemudvikling til embedded devices - og vi ved, at netop testing af kombinationen af hardware og software giver mange af vores kunder hovedpine.
Hvori ligger udfordringerne?
Det er ganske enkelt tidskrævende, omstændeligt og ikke så pålideligt at have testopstillinger (test benches) med testenheder (units under test), som kræver manuel instrumentering med eksempelvis håndbåren afvikling af testsuiter og manuel generering af sensorinput, som kan verificere virkemåden af software, algoritmer og matematiske modeller.
For at tests kan være meget pålidelige, er det først og fremmest nødvendigt at kunne gøre dem reproducérbare. Dernæst er det nødvendigt at gøre udviklerne i stand til at afvikle tests efter behov, og det kunne gøre dette uden store tidsmæssige omkostninger. Endelig er det nødvendigt hurtigt at kunne give samtlige interessenter et fyldestgørende indblik i resultaterne af de afviklede tests, så der ikke er grobund for tvivl om kvaliteten af hverken tests eller den testede software.
Bedre testing med automatiseret testing
Vi introducerer for tiden flere og flere af vores kunder til teststrategier, som bygger på en kombination af solide værktøjer til issue tracking (Atlassian Jira), versionskontrol af kildekode (Atlassian Bitbucket m/Git) og automatiseret kvalitetskontrol, byg og test af software (Atlassian Bamboo og Jenkins).
Sådanne teststrategier udnytter især de fleksible branchingmuligheder med Git samt byggeserverens muligheder for at foretage kvalitetskontrol (fx linting og statisk kodeanalyse) samt paralleliseret byg og test af software til forskellige arkitekturer (såvel emuleret som in-situ på devices). Her lægger vi især vægt på at kunne teste på devices, for med en veldesignet testopstilling af enheder og med testing orkestreret af en byggeserver er der mulighed for at opnå en meget effektiv udnyttelse af såvel tid som ressourcer.
Hør mere
Vi vil rigtig gerne tale med dig om jeres behov for agile testing, automated testing, continuous integration, continuous deployment, continuous delivery og meget mere.
På de næste to Atlassian Hangouts vil nogle af vores dygtige konsulenter demonstrere konkrete eksempler på, hvordan Atlassian-platformen, agile testing, continuous integration og udvikling til embedded devices kan mikses, så tilmeld dig gerne til et hangout i enten København eller Aarhus eller kontakt os, hvis du gerne vil have et møde.