Hvordan måler du kvaliteten af din software?
Det kan være svært at definere god kode, men en kode, der er læsbar, veldokumenteret, undgår duplikering og overholder best practices for it-sikkerhed, er godt på vej. Her er 4 gode råd til, hvordan du kan måle kvaliteten af din kode.

af IDA Learning
Når man taler om kvalitet af software, skelner man generelt mellem den funktionelle og den strukturelle kvalitet.
Funktionel softwarekvalitet afspejler, hvor godt din kode overholder et givet design, baseret på funktionelle krav eller specifikationer. Den viser med andre ord, hvor egnet et stykke software er til sit formål. Funktionel kvalitet vurderes typisk dynamisk, men man kan også bruge statiske tests som software reviews.
Den strukturelle softwarekvalitet derimod afspejler, om softwaren fungerer efter behov, og hvor robust og vedligeholdbar den er. Mange aspekter af strukturel kvalitet kan kun vurderes statisk gennem analyse af softwarens indre struktur, dens kildekode - på enhedsniveau, teknologiniveau og systemniveau. Men der er også strukturelle egenskaber som brugervenlighed, der kun kan vurderes med dynamiske tests.
4 egenskaber hos god software (og hvordan du måler dem)
- Pålidelighed:
Upålidelig kode skyldes ofte en kombination af dårlig arkitektur og dårlig kodning og kan føre til fejl, når koden er i drift.
Mål på produktionshændelser (bugs opdaget under produktionen), lav belastnings- og regressionstest, der hhv viser, hvordan softwaren fungerer under høje belastninger og hvor mange defekter opstår, når koden ændres. Simuler det miljø, hvor softwaren skal køre, og test hvordan den virker, når der f.eks. kommer flere brugere. Og hold øje med frekvensen af fejl pr bruger eller enhed, når koden er taget i drift. - Effektivitet:
Dårlig effektivitet kan skabe flaskehalse i operationel ydeevne og fremtidige skalerbarhedsproblemer, især for applikationer, der kræver høj eksekveringshastighed til håndtering af komplekse algoritmer eller store mængder data.
Udfør belastnings- og stresstest for at finde systemets øvre kapacitetsgrænse. Application performance monitoring (APM) kan give dig detaljerede målinger af ydeevnen fra brugerens perspektiv. - Sikkerhed:
Hvor sikker er din kode? De fleste sikkerhedssårbarheder skyldes dårlig kodning og arkitektonisk praksis som SQL-injektion eller scripting på tværs af sites.
Scan for antal (kendte) sårbarheder, find ud af, hvor lang tid der går, fra en sårbarhed bliver opdaget, til den er fikset eller patchet. Hvor mange brugere har faktisk installeret en patch eller sikkerhedsopdatering? Og hold styr på de faktiske sikkerhedshændelser: Hvor mange brud har i oplevet, hvor alvorlige er de, og hvor længe varede angrebet - Vedligeholdbarhed:
Hvor let kan din software rettes eller tilpasses til andre formål? Stor kompleksitet øger risikoen for for fejl, og gør det samtidig sværere at rette og teste koden efterfølgende.
Mål hvor kompleks din software er, f.eks. ved hjælp af cyklomatisk kompleksitet. Du kan også bruge statisk kodeanalyse til at identificere problemer og sikre, at koden overholder industristandarder