Dessutom räcker det inte med att köra igenom sina testfall en enda gång. Varje gång man gjort en ändring i programmet, till exempel för att rätta ett fel, kan man ha haft sönder något annat. Därför bör man köra igenom alla testfallen åtminstone en gång efter varje ändring.
Det är opraktiskt att skriva in alla testfallen för hand, kanske till och med en enda gång om man har många testfall. Därför vill man så långt som möjligt automatisera testerna.
I verkligheten kan man behöva särskilda verktyg för att kunna köra tester automatiskt, till exempel om man testar ett grafiskt gränssnitt med fönster och knappar. I den här övningen ska vi prova på ett ganska enkelt sätt att provköra en bit av ett C-program, nämligen genom att helt enkelt skriva en main-funktion som får anropa den ett antal gånger, och kontrollera att resultatet blir det förväntade.
Man behöver två punkter för att ange en rektangel, till exempel de två punkterna (x = -1.5, y = 2) och (x = 5, y = 4.9) i den här figuren:
Punkten (x = 1, y = 3) ligger inuti den rektangeln, och punkten (x = 2, y = 0.5) ligger utanför.
Funktionen inuti avgör om en punkt ligger inuti eller utanför en rektangel. Som parametrar tar den sex flyttal med dubbel precision (double): först x- och y-värdena för en punkt, och sen x- och y-värdena för två punkter som anger en rektangel. Den returnerar heltalet 1 om punkten ligger inuti rektangeln, och heltalet 0 om den ligger utanför.
Exempel:
Gör om main-funktionen så att den provkör ett antal testfall mot funktionen, utan inblandning av användaren. Den ska jämföra resultatet av funktionen med de förväntade resultaten, och så fort den hittar ett testfall som misslyckades (dvs, gav ett annat resultat än det förväntade) ska den skriva ut ett meddelande om detta.
Använd de testfall som du anser behövs för att testa funktionen på ett bra sätt.