Agil test vinder frem.

Godt hardware kan ødelægges af dårligt software

FORCE Technology er i gang med et projekt under navnet ’Physics of Failure’. Projektet handler om at blive klogere på, hvad der skal til for at udvikle pålidelige produkter. I projektet kigger vi på alle de ting, der kan bevirke, at et produkt fejler. Og her er software også under luppen. For selvom software i sig selv ikke er en fysisk ting, så er det indlejret i de fleste produkter og er dermed en kritisk parameter til at sikre pålidelige produkter.

Test-først-princippet

En idé fra agil softwareudvikling, der har vundet indpas nogle steder de senere år, er test-først-princippet. Hele idéen er, at testen udarbejdes, inden man overhovedet begynder programmeringen. Fordelen er, at når man udvikler testen, har det en stor positiv indflydelse på den efterfølgende softwareudvikling. Karikeret kan man sige, at når man udvikler software, tænker man først på de store linjer, hvorimod når man skal teste, tænker man på undtagelser og grænsetilfælde. Det vil sige, at man får mange flere detaljer frem i sine overvejelser, inden koden bliver udviklet, hvis testen er udarbejdet.

Unit test og subsystem test

Et af de steder, hvor test-først-princippet kan anvendes, er ved unit test. Man udvikler nogle kunstige programomgivelser, hvori man kan indsætte den unit, der skal udvikles. Når så unit’en er udviklet, indsættes den i de kunstige omgivelser og testes automatisk. Når den pågældende unit skal udbygges, udbygger man også testen (stadig før man påbegynder udviklingen af den nye feature).

Fordelen ved at automatisere testen er, at det er helt enkelt at gentage testen hver gang, der sker nye ændringer – noget der sikrer, at koden stadig fungerer ved senere ændringer.

Subsystemer kan testes fuldstændigt ligesom units – der er med andre ord ingen forskel her. Når vi kommer til den grafiske brugergrænseflade, sker der dog nogle ændringer i måden at teste.

Grafiske brugergrænseflader

Test-først-princippet gælder også grafiske brugergrænseflader, men der er nogle særlige forhold, som gør sig gældende her. Til at starte med kan man skitsere grænsefladen og få brugere til at tage stilling til forståeligheden og brugervenligheden, inden man udvikler den.

Men når den så skal testes, er det ikke altid helt så enkelt at automatisere testen, men der findes værktøjer, der kan hjælpe en. Her kan man ikke være sikker på, at investeringen ved at automatisere kan betale sig. I nogle tilfælde ender man med et ’manuelt’ testscript, og i praksis er det mere ressourcekrævende at gentage sin test. Man bør stadig gentage sin test, men ikke lige så hyppigt.

Pålidelige produkter

Softwaretest er kun en enkelt, men vigtig brik i det puslespil det er at skabe pålidelig software og pålidelige apparater. De eksempler, der er vist i denne artikel på test-først-princippet, bør enhver organisation overveje, om de kan anvende og generalisere i udviklingen af software for opnå den ønskede pålidelighed.

Mere information

For mere information om udvikling af pålideligt software kontakt senior specialist Carsten Jørgensen, tlf. 43 25 12 02.

Vil du vide mere?

Udfyld dine kontaktoplysninger.