Het implementeren van automatiseringstests in een bestaand project is een complexe en gelaagde taak.
Achtergrond van de kwestie: In organisaties waar testen lange tijd handmatig werd uitgevoerd, zijn processen, documentatie en code-architectuur niet altijd in overeenstemming met de vereisten voor automatisering. Testers zijn niet bekend met automatiseringsinstrumenten, en de architectuur van de tests en de applicaties zelf ondersteunen mogelijk geen snelle uitvoering van geautomatiseerde tests.
Probleem: De belangrijkste uitdagingen bij implementatie:
Oplossing: Het team moet de volgende stappen doorlopen:
Belangrijke kenmerken:
Kunnen automatische tests handmatig testen volledig vervangen?
Nee. Zelfs bij een hoge dekkingsgraad zijn automatiseringstests alleen toepasbaar voor herhaalde, deterministische scenario's. Onopgemerkte gebruiksproblemen, exploratie, ontwerpfouten en atypische "menselijke" fouten worden meestal handmatig gevangen.
Moet je alle testcases zonder uitzondering automatiseren?
Nee. Niet alle testcases zijn het waard om te automatiseren: lage frequentie of complexe scenario's zijn beter voor handmatig testen vanwege kosten en lage opbrengst.
Moeten testers beslist programmeurs zijn voor succesvolle automatisering?
Nee, maar een basisniveau van programmeren is wenselijk. Het team wordt vaak opgebouwd rond de combinatie: ervaren tester - architect van automatiseringstests, automatiseringsexperts - ontwikkelaars.
Het bedrijf besloot om alle handmatige tests gelijktijdig te automatiseren, zonder een apart team aan te wijzen en prioriteiten te bespreken. Ze kochten een modieus hulpmiddel, maar het ondersteunde niet een deel van de benodigde browsers. Uiteindelijk stopten de helft van de tests na een kwartaal met werken.
Voordelen:
Nadelen:
Het team selecteerde handmatig de 10 meest voorkomende regressiescenario's. Ze hebben training in automatisering op Python (Selenium) gegeven, tests toegevoegd aan CI. Na zes maanden werden 70% van de regressietests automatisch uitgevoerd, terwijl handmatige testers zich bezig hielden met creativiteit.
Voordelen:
Nadelen: