torsdag 16. oktober 2008

Lover og prinsipper for testing

Det finnes mange forslag til en "lov om testing", men her er en som er grei å huske:


  1. Ikke alle tester som passerte første gang vil passere andre gang.
  2. Hva som vil fungere i hodet til en utvikler vil ikke nødvendigvis fungere i praksis.
  3. En datamaskin lar deg gjøre feil fortere enn noen annen oppfinnelse!
  4. Hvis du ikke kan teste programvaren du lager så bør du ikke lage den.
  5. Testing slutter aldri. Den bare stopper.
  6. Det finnes alltid omstendigheter hvor programvaren vil feile.

Hvilke andre har vi?

Så la oss se på noen nyttige prinsipper for programvaretesting:

  • En nødvendig del av et testcase er en definisjon av hva forventet output skal være.
  • En programmerer bør unngå å teste sin egen programvare. Vi ser bort fra standard enhets- og integrasjonstesting som programmereren gjør selv.
  • En programmeringsorganisasjon bør unngå å teste egne leveranser.
  • Gå nøye gjennom resultater fra tester.
  • Testcase bør skrives for å teste ugyldig og ikke forventet, samt gyldig og forventet, input.
  • Å teste om et program ikke gjør det den skal gjøre er bare halve jobben. Den andre halvdelen av jobben er å se om den gjør hva den ikke bør gjøre.
  • Unngå bruk-og-kast testcaser. Såsant programmet som blir levert ikke er bruk-og-kast programvare.
  • Planlegg ikke for en testinnsats under antagelsen om at ingen feil vil bli funnet.
  • Sannsynligheten for at det finnes flere feil i en del av et program er direkte proporsjonal til antallet feil allerede funnet i samme del.
  • Testing er en ekstremt kreativ og intellektuell øvelse!
  • Testing er jobben med å kjøre et program med intensjonen om å finne feil.
  • Et godt testcase er et med høy sannsynlighet for å finne uoppdagede feil.
  • Et suksessfullt testcase er et som finner uoppdagede feil.

Kan dere finne flere gode prinsipper?

Ingen kommentarer: