Bedre StandardSend faginnspill

Lag testvektorer for beløp, datoer og referanser

En testvektor isolerer ett feilbilde, slik at resultatet kan beregnes og forklares uten å åpne hele regnskapsarkivet.

I denne veiledningen

En testvektor består av et avgrenset sett med inngangsverdier og et dokumentert forventet resultat. Den er nyttig når en stor dataoverføring feiler på en liten, men viktig regel. Jo tydeligere årsak og forventning er, desto lettere er det å rette uten å skape nye avvik.

Bruk syntetiske data der det er mulig. Eksemplene bør etterligne reelle grenser, men trenger ikke inneholde virkelige kunder, bankkontoer eller bilag. Merk dem tydelig som testdata.

Tre uavhengige prøver

IDInputForventet resultatHva prøven undersøker
T01Faktura 10 000, betaling 4 000Restbeløp 6 000Delbetaling gir ikke full utligning
T02Periode slutter 31. mars; dokument er datert 1. aprilDokumentet behandles etter avtalt datofilterGrensen mellom perioder
T03To journaler har bilagsnummer 42To forskjellige transaksjonerBilagsnummer alene er ikke nødvendigvis global nøkkel

T02 må presiseres med hvilken dato eksporten filtrerer på. Hvis overføringen bruker bokføringsdato, er dokumentdatoen alene ikke tilstrekkelig til å avgjøre resultatet. Denne presiseringen er en del av testen og bør stå i datakontrakten.

Beregn forventningen uten mottakersystemet

Hvis forventet restbeløp bare kopieres fra systemet som skal testes, kan testen bekrefte systemets egen feil. Beregn resultatet fra inputverdiene og den avtalte regelen. For større eksempler kan en enkel kontrolltabell være nok, men den må bruke dokumentert presisjon og fortegn.

Ved avrunding bør dere prøve både verdier som avrundes opp og ned. Hold valutakonvertering utenfor den første prøven dersom målet er å undersøke restbeløp. Legg heller til en egen valutaprøve med kjent kursgrunnlag.

Utvid settet etter faktiske feil

Når en feil blir funnet, lag en liten testvektor som gjenskaper akkurat den. Bevar feilen i settet også etter retting. Det reduserer risikoen for at en senere oppgradering innfører samme feil igjen.

Hver vektor bør ha:

  1. En ID og en kort beskrivelse av problemet.
  2. Minimal input som faktisk utløser problemet.
  3. Den regelen som avgjør forventet resultat.
  4. En kontroll som skiller riktig og feil behandling.
  5. Dato og versjon for siste prøving.

Små testvektorer erstatter ikke avstemming av hele leveransen. De viser at bestemte regler fungerer under bestemte betingelser. Etter at vektorene passerer, må dere fortsatt kontrollere antall poster, summer og dokumentkoblinger i det faktiske datasettet.

Se negative tester og akseptansekriterier.

Kilder