Gå til innhold

Grenselinjene rundt functional testing


Anbefalte innlegg

Jeg tok omsider steget inn i automatisert functional testing i helgen. Jeg har fått gjort masse bra og er positivt overrasket over de øyeblikkelige godene som kom tilbake fra tiden investert.

 

Nå er jeg derimot litt usikker på hvor grenselinjene for functional testing egentlig går. Jeg har skrevet tester for det meste av hvordan ting skal fungere med korrekt brukerinput, men skal jeg også skrive tester for inkorrekt brukerinput? Dette vil jo teste hvorvidt f.eks. en 404 side genereres korrekt, men det blir en fryktelig stor oppgave å skrive alle scenarier for feil brukerinput, for alle endpoints. Når sier jeg meg i så fall fornøyd med testing av feil input?

 

Vurderte å legge dette på SO, men frykter at spørsmålet av typen "det kommer an på", og de blir vota ned med en gang.

 

For øvrig skrevet i Symfony og tester med phpunit.

Lenke til kommentar
Videoannonse
Annonse

Noen tanker:

Det finnes noe som heter Monkey testing som går på å kjøre en gitt test med random input (basert på relevant type da) X ganger. Det kan være en ekstremt effektiv måte å finne edge caser som ikke er så lett å finne med skrevne tester. Særlig ikke om du skriver tester og implementasjon selv.

 

For phpUnit vet jeg ikke om det finnes noe, men du kan sikkert skrive din egen. Husk i såfall å ta med true/false/null, alle mulige UTF8 chars, typiske injection patterns DROP/SELECT/DELETE etc.

 

Ellers vil jeg si at dersom du opplever en bug, så sørg for å legge til en test for akkurat den buggen før du fikser bug. Da har du flyttet linjen for der testene dine er og der den burde være så de er nermere hverandre enn de var tidligere.

 

Det å teste at feil er feil, og at bruker opplever det slik det er tiltenkt er nesten like viktig som å teste at bruker opplever rett når hun gjør rett. 

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...