Operationalizing testing setup used at NTNU SmallSat Lab Design of an Automatic Test-framework for On-board Software of Satellites
Abstract
Satellitter er kompliserte konstruksjoner som krever tverrfaglig kompetanse og sammarbeid mel-lom personer mer ulike akademiske disipliner. Ved SmallSat Labben på Norges teknisk-natur-vitenskapelige universitet (NTNU), jobber det ett team som designer og utvikler satellitter vednavnet HYPSO (HYPer-spectral Smallsat for ocean Observation). HYPSO-satellittene består aven nyttelast integrert med en 6U CubeSat satellite-bus utviklet av NanoAvionics.
Nyttelasten inneholder ett hyperspektralt kamera som HYPSO teamet vil bruke for å ta hyperspektrale bilder av havet for å kunne se etter tegn av alge oppblomstring. Som kan true økosystemer I både hav og innsjøer. For å forsikre at satellitten fungerer om det skal, kreves det grundig testing av kodebasen for programvaren ombord. Å lage disse testene er en tidkrevende prosess, som krever stor kunnskap til den indre virkemåten av kodebasen. I tillegg, etterhvert som kodebasen blir større når ny funksjonalitet legges til, kan gamle tester slutte å fungere. Noe som da fører til at mye tid må brukes på vedlikehold av disse testene.
Denne oppgaven beskriver design og implementering av et automatisk testrammeverk for pro-gramvaren ombord HYPSO-satellittene. Et testrammeverk er et sett med retningslinjer/reglerfor hvordan en skal lage tester, mens et automatisk testrammeverk er et testrammeverk som er istand til å kjøre testene automatisk. Å bruke et automatisk testrammeverk vil forbedre HYPSOteamets effektivitet, testnøyaktighet og vedlikeholdskostnader når det kommer til testing. Detautomatiske testrammeverket designet i denne oppgaven er i stand til å imitere en normal brukers bruk av satellitten og er i stand til å effektivt teste flere tester om gangen, med ulike sett av inngangsdata. Testrammeverket er implementert til å automatisk utføre testing hver gang det skjer endringer i kodebasen. Og ettersom hver tests blir timet og datert, så gir det muligheter for å dokumentere/logge endringer i programvarehastigheten til satelliten over tid. Noe som kommergodt med, med tanke på den begrensede tiden man har for kommunikasjon når satelliten er overbakkestasjonen. Satellites are complicated constructs that require interdisciplinary teamwork of various expertsof different academic disciplines. At the SmallSat Lab at Norwegian University of Science andTechnology (NTNU), a team is working on designing and developing satellites known as HYPSO(HYPer-spectral Smallsat for ocean Observation). The HYPSO satellites consist of a payloadintegrated with a 6U CubeSat satellite bus developed by NanoAvionics. With the satellites, theHYPSO team aim to use a hyperspectral imager to observe ocean color and detect harmful algalblooms (HABs) that can threaten ecosystems in seas and lakes. To ensure proper functionalityof the satellites, the codebase for the on-board software require rigorous testing. Creating andexecuting these tests is a time-consuming process, that require intricate knowledge of the innerworkings of the codebase. Additionally, as the codebase increases with new functionality addedto the satellite, previous tests might become outdated. Which leads to more time being spent onmaintenance.
This thesis describes the design and implementation of an automatic test framework for the on-board software of the HYPSO satellites. A test framework is a set of guidelines/rules for creatingand designing test cases, while an automatic test framework is a test framework that is able to test automatically at certain events. Utilizing an automatic test framework will improve the HYPSO team’s test efficiency, test accuracy and test maintenance cost.
The automatic test framework designed in this thesis is able to imitate a normal user’s usage ofthe satellite and is able to efficiently test over multiple test cases, with multiple sets of input data. It has been implemented to execute testing automatically when changes are made to the codebase. As each test case is also timed and dated, possibilities arise for documenting/logging changes in performance speed of the on-board software. Which is useful considering the limited connection time the satellite has to a ground station.