Vad är enhetstestning?
Enhetstestning i datorverksamhet hänvisar till en utvecklingsprocess som bedömer både funktion och prestanda för den minsta diskreta programvarumodulen som kan fungera på egen hand, även känd som en enhet. Eftersom mätning är kärnan i alla programvarukvalitetsprogram, verifierar varje enhetstest att en enhet följer designens avsikt som anges i utvecklingsplanen. Testet validerar också att enhetens beteende och prestanda är som förväntat.
Generellt sett är enhetstester själva små program där en utvecklare specificerar acceptabla ingångar, beteenden och utgångar för enheten och sedan loggar resultaten för senare granskning och utvärdering. En programutvecklare kan utföra enhetstestning på ad hoc-basis, eller om huvudprogrammet är stort eller komplicerat kan han eller hon lägga till enhetstester för att inkluderas i ett större testsele som utövar flera integrerade enheter samtidigt. Hur som helst är enhetstestning en kontinuerlig insats av utvecklaren att bekräfta att hans eller hennes kod fungerar som förväntat, och som sådan anses vara en integrerad del av den övergripande utvecklingsprocessen.
Varje mjukvaruutvecklingsprocess börjar normalt med en designfas där hela teamet lägger ner sin tid på att skriva ner planerna för att utforma, utveckla, integrera, systemtest, acceptera och underhålla ny programvara. Enhetstestning är en nödvändig komponent i alla faser. Utvecklare måste ha ett enkelt sätt att kontrollera att kodändringarna i moduler ger förväntat resultat innan de integreras i huvudprogrammet.
Enhetstester skrivs vanligtvis av samma utvecklare vars kod kommer att användas. Anledningen till detta är att enhetens programmerare har djupgående förståelse för modulens design och förväntade prestanda. Typiskt anger utvecklarens testfall parametrarna för alla enhetsingångar, bearbetningsmetoder och utgångar och definierar de acceptabla prestandakriterierna för senare integration och godkännande testning.
En viktig fördel med enhetstestning är att det uppmuntrar upptäckten av problem tidigt i utvecklingsprocessen. När kodningsproblem upptäcks tidigt kan korrigerande åtgärder och korrigeringar vanligtvis äga rum innan buggy-kod har någon negativ effekt på den integrerade applikationen och dess användare. Även om enhetstester inte kan fånga alla möjliga programfel, minskar de fel betydligt i senare stadier av utvecklingsprocessen, vilket sparar tid, pengar och resurser som skulle krävas för att felsöka ett program genom ytterligare validerings- och verifieringscykler innan utgivningen.