Kan du huske Martin Fowlers ord fra session 9, da vi lærte om IT-arkitektur? ”At skabe højkvalitets-software er ikke dyrt – at skabe højkvalitets-software er den billigste løsning”.
Det er helt efter vores overbevisning, og det er også derfor, vi tror, at indarbejdelse af kvalitetssikring er essentielt i alle faser af softwareudvikling. Test af software er en meget vigtig del af dette skifte mod kvalitetssikring.
Alle kan – på et eller andet niveau – teste software, men der er en stor forskel i kapaciteten på én, der kun rent intuitivt forstår testning, og på én, der rent faktisk har professionelle kompetencer indenfor test.
Hos Right People Group accepterer vi ikke softwareudviklere, der har attituden, at deres job kun handler om at udvikle og ”så må testerne teste det”. Derfor kan vi bedst lide at levere softwareudviklere, der også har specifik erfaring som software-testere.
Testning og kvalitetssikring er for alle og i alle faser. En af grundene til det er, at cost of change stiger eksponentielt gennem et projekt, som grafen nedenfor illustrerer
Principperne i software test
Før vi går dybere ned i de forskellige typer af testning, så lad os først gå gennem nogle af de fundamentale principper i software-testning:
De forskellige typer af test
For at forstå rollen som softwaretester i et softwareprojekt er V-modellen et godt sted at starte. V-modellen følger den klassiske ”waterfall”-proces for softwareudvikling og software test. Selvom agil udvikling bliver mere og mere populært, er det stadig vigtigt at forstå V-modellen, da vi ser at mange kunder i det agile miljø stadigvæk – i nogen grad – følger V-modellen. I stedet for én stor V-model benytter de i stedet mange små agile gentagelser af V-modellen.
V-modellen giver dig en god konceptuel forståelse for hvilke typer af test, der relaterer sig til hvilke dele af specifikationsfasen. Se på figuren nedenfor:
I videoen nedenfor går vi deltaljeret igennem de forskellige typer af software-testning. Nogle af de typer af test, der bliver nævnt i videoen, kan du se i V-modellen ovenover:
Agil test
Rollen som tester skifter markant fra en ”waterfall” softwareudviklingsproces til en mere agil proces. Lad os tage et nærmere kig på det her:
Testautomatisering
Testautomatisering er en vigtig del af moderne softwareudvikling. Men det er ikke en mirakelløsning, der kan løse alt. Vi ser kunder, der opnår høj værdi fra testautomatisering, men vi ser også virksomheder, som fokuserer på de forkerte ting i deres testautomatisering, hvilket fører til høje vedligeholdelsesomkostninger i forhold til den værdi, som testautomatiseringen giver dem.
Videoen nedenfor giver dig en introduktion til testautomatisering:
Lad os få jord under neglene og tage et kig på det most populære værktøj indenfor browserautomatisering, Selenium:
Rollen som test manager
Right People Group leverer ofte erfarne testere til at lede testningen af vores kunders projekter.
Lad os starte med at kigge på rollen som klassisk test manager:
En test manager er dog ikke en defineret rolle i agile projekter, så her får du svaret på, hvad der sker med rollen som test manager i et agilt miljø:
Test Driven Development
Test Driven Development (TDD) – eller test-drevet udvikling på dansk – er baseret på princippet om, at udviklere skriver deres unit test før de rent faktisk koder funktionaliteten. Det er ikke nemt at implementere, og det kan kræve en stor change management indsats mod udviklerne i visse organisationer. Men når det er implementeret, bringer det stor værdi, og kan ganske enkelt blive den nye måde at arbejde på i udviklingsteamet:
Hvad er Right People Group University
Om Right People University
Er du freelance konsulent eller software test ekspert?
Skriv dig op til vores projekt-nyhedsbrev og få tilsendt projekter inden for de kategorier og regioner, der er relevante for dig.
Mangler du en tester eller test manager?
Send en email til [email protected] for et CV og en timepris på en tester der matcher dine behov. Du kan læse mere om vores ydelser og typer testspecialister, som vi kan levere her: Agile tester – software tester – test manager.