Enhets-testning

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
dangraf
Inlägg: 530
Blev medlem: 9 juni 2003, 15:30:56
Ort: göteborg

Enhets-testning

Inlägg av dangraf »

När man skriver kod för inbyggda system så brukar jag enhetstesta många av funktionerna. Tyvärr brukar jag komma på mig själv med att jag glömmer testa av vissa grejjer och har därför börjat skriva ner en lista som hjälpmedel för att kunna skriva täckande tester.

Hittade en ganska bra lista på:
http://www.codeproject.com/KB/architect ... sting.aspx


Min egen början till lista ser ut enligt följande:
Allmänt:
- testa det förväntade användarfallet så att det fungerar.
- testa att
variabler:
- testa min max värdet på variabeln U8: 0 och 255, U16 0 och 65535
- testa negativa värden.
- Kontroller gränserna, max, max+1, min samt min-1
t.ex om ett värde förväntas ha ett invärde av 10-20 så kan både 9 och 10 testas, även 20 och 21.
Matte:
- kontrollera overflow, t.ex U8+U8 = får platts i en U8 eller att U16*U16 + U16 = får platts i en U32 med förväntade gränser. Dokumentera gränserna tydligt i koden.
- divition med 0
Strängar:
- Null värde
- börjar med '\0' tecken
- inget '\0' tecken eller en max-längd på t.ex 255 tecken.
Pekare:
- Null värde
- Vid kopiering eller annan hantering av strängar borde ett "längd" fält finnas.


Min fråga är:
Vet ni någon bra checklista som man kan hitta på nätet, eller kommer ni spontant på fler saker man skulle kunna testa?
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Enhets-testning

Inlägg av blueint »

Det brukar vara bra att testa även max-3 max-2 max-1 max max+1 max+2 max+3 då det ibland pga undantagstillstånd (if-else) osv.. kan fallera även där.
Samt mata indata och logga både in + ut för att se om det går snett. Eller t.ex om kretsen blir överhettad mm.

Kraftiga beräkningar som kanske ger strömrusning och resulterar i "hiccup".
Skriv svar