Software Testing
Life Cycle
Software Testing Life Cycle ( STLC ) is, in tegenstelling tot wat vaak wordt gedacht, niet zomaar een op zichzelf staande activiteit.
Levenscyclus is eenvoudige term die verwijst naar de volgorde van aanpassingen van de ene vorm naar de andere vorm. Deze veranderingen kunnen plaatsvinden bij tastbare zaken, maar ook bij ontastbare zaken. Elke entiteit heeft vanaf het begin een levenscyclus om te groeien en ook oud te worden.
Op een vergelijkbare manier is software ook een entiteit. Zoals het ontwikkelen van software een reeks stappen omvat, bestaat het testen ook uit een aantal stappen die we in een bepaalde volgorde moeten uitvoeren.
Het uitvoeren van testactiviteiten op een systematische en geplande manier noemen we het testen van de levenscyclus.
Software Testing Life Cycle (STLC) definiëren we als een reeks activiteiten die we uitvoeren om softwaretests uit te voeren. De Software testing Life Cyclus verwijst daarom naar een testproces met specifieke stappen. Die stappen moeten we echter in een bepaalde volgorde uitvoeren om ervoor te zorgen dat de software aan de kwaliteitsdoelstellingen voldoet. In het STLC-proces voeren we iedere activiteit dan ook op een geplande en systematische manier uit. Elke fase heeft bovendien eigen doelen en deliverables. Per organisatie zijn de STLC fasen verschillend, de basis blijft echter hetzelfde.
Elk van deze fasen heeft een duidelijk Entry and Exit-criterium, Activiteiten en Deliverables die ermee verbonden zijn.
Entry Criteria: Entry Criteria geeft de items aan waaraan we moeten voldoen voordat het testen kan beginnen.
Exit Criteria: Exit Criteria definieert de items die voltooid moeten zijn voordat we het testen kunnen afronden.
We moeten aan alle Entry- en Exit criteria voor alle niveaus in de Software Testing Life Cycle (STLC) voldoen.
In een Ideaal testtraject starten we niet met de volgende fase voordat aan de Exit Criteria van de vorige fase is voldaan. Maar praktisch is dit echter niet altijd mogelijk. In dit artikel concentreren we ons op de activiteiten en deliverables van de verschillende fasen in de STLC-levenscyclus.
Tijdens deze fase bestudeert het testteam de software requirements met als doel de testbare requirements te identificeren.
Het QA-team zal met verschillende belanghebbenden (klant, bedrijfsanalist, technische leads, systeemarchitecten, enzovoort.) communiceren om de requirements in detail te begrijpen.
De requirements kunnen functioneel zijn (definiëren wat de software moet doen) maar ook niet-functioneel (definiëren van systeemprestaties en beveiliging).
De haalbaarheid van automatisering voor het gegeven testproject stellen we ook in deze fase vast.
In deze fase zal meestal een Senior QA-manager de inspanningen en kostenramingen voor het project vaststellen en het testplan voltooien. Op dit moment bepalen we ook de teststrategie.
In deze fase worden de testcases en testscripts gemaakt, geverifieerd en herbewerkt. De testdata identificeren, maken en beoordelen we om vervolgens opnieuw te bewerken.
De testomgeving is bepalend voor de software- en hardwarevoorwaarden waaronder we testen. De configuratie van de testomgeving is een van de kritieke aspecten van het testproces. Deze test kunnen indien mogelijk gelijktijdig met de testcase-ontwikkelingsfase uitvoeren. Deze activiteit voert systeembeheer meestal uit waardoor het testteam niet betrokken is. Het testteam zal daarom een bereidheidstest (smoke-test) van de testomgeving moet uitvoeren om vast te stellen dat deze voldoet.
Tijdens deze fase zullen de testers de tests uitvoeren op basis van de testplannen en de voorbereide testcases. Bugs rapporteren we ter correctie aan het ontwikkelteam en de test zullen we na herstel opnieuw uitvoeren.
Het testteam bespreekt en analyseert de testcyclus om de gebruikte teststrategieën te verbeteren. Hierbij moeten we lessen trekken uit de huidige testcyclus. Het idee is dus om de procesknelpunten voor toekomstige testcycli op te heffen. Tevens verzamelen we Best Practices voor vergelijkbare projecten in de toekomst.
De STLC levenscyclus van softwaretests volgen een fasering die overeenkomt is met de Waterfall-methodologie. Omdat veel organisaties echter overgaan naar SCRUM moeten zij de testaanpak ook aanpassen aan deze praktijk en het tempo van de Sprints.
Het SCRUM team kan een SCRUM-testmethode gaan volgen en de STLC-fasen daarop aanpassen. Het meest opvallende is dat een SCRUM-testteam waarschijnlijk geen testrapport opstelt. De Sprint wordt gewoon gepland voor oplevering.
SCRUM testen legt bovendien meer nadruk op shift-left en shift-right testen om knelpunten te verminderen. Productietests, of shift-right-tests, helpen het testteam om fouten op te sporen na het sluiten van de testcyclus. Hoewel het vaak duurder is om fouten in een laat stadium te corrigeren, is het beter laat dan nooit als het gaat om het oplossen van een bug. Shift-right omvat meestal ook verkennende tests waarmee we fouten vinden die met testgevallen verborgen blijven.
Kortom, de STLC-fasen zullen enigszins veranderen wanneer we SCRUM gaan gebruiken.
Discussieer mee op LinkedIn.
Mogelijk is dit een vertaling van Google Translate en kan fouten bevatten. Klik hier om mee te helpen met het verbeteren van vertalingen.