Reading Time: 5 mins

Niet-functionele tests uitvoeren in continue testmodus – deel 2

Continue testmodus

Niet-functionele tests uitvoeren in continue testmodus – deel 2

Voordat we verder gaan, laten we eerst begrijpen wat continu testen is.

Wat is continu testen?

De afgelopen jaren maken de meeste softwareprojecten gebruik van Continuous Delivery, een software engineering-aanpak waarbij teams in korte cycli software produceren, zodat software op elk moment betrouwbaar kan worden vrijgegeven.

Om een hoge kwaliteit en betrouwbaarheid te garanderen, maken dergelijke projecten gebruik van Continuous Testing, waarbij veel verschillende soorten tests (geautomatiseerd en handmatig) worden uitgevoerd tijdens het softwareleveringsproces om de kwaliteit van de software die wordt gebouwd herhaaldelijk te valideren en te verbeteren.

Het onderstaande kwadrant toont de verschillende soorten tests en de aanpak (handmatig, testautomatisering) om ze uit te voeren:

de kwadranten

Bron: https://continuousdelivery.com/foundations/test-automation/

Voor het doel van deze blog zullen we onze discussie beperken tot niet-functionele tests.

Zoals we in het bovenstaande kwadrant kunnen zien, is de aanbevolen aanpak voor functionele acceptatietests om ze volledig te automatiseren en de meeste projecten hebben dat met succes gedaan. Niet-functionele tests zoals beveiliging en prestaties worden echter nog steeds beschouwd als uitgevoerd na “Code Freeze” en worden niet uitgevoerd in de modus Continu testen.

Aangezien het doel achter het bouwen van software in de modus voor continue levering is om de code op elk moment gereed te houden voor implementatie in productie, moeten niet-functionele tests op dezelfde manier worden behandeld als functionele tests en moeten ze “vroegtijdig worden opgenomen en vaak worden getest” om ervoor te zorgen dat de geïmplementeerde code onthult niet alleen functionele problemen, maar ook prestatie-, beveiligings- en andere niet-functionele problemen.

Niet-functionele tests instellen in de modus Continu testen

De twee belangrijkste categorieën van niet-functionele tests zijn prestatietests (inclusief belasting, stress enz.) en beveiligingstests. Er zijn andere, zoals bruikbaarheidstesten, die ook als niet-functioneel worden beschouwd, maar we beperken onze focus tot de eerste twee.

Een van de grootste uitdagingen bij het ontwerpen van niet-functionele tests is dat de vereisten voor niet-functionele aspecten van de software meestal niet zo eenvoudig zijn in vergelijking met het functionele gedrag van de software. Dit in combinatie met andere factoren zoals tijd en budget voorkomen dat niet-functionele tests in continue testmodus worden uitgevoerd.

Bij de Continuous Delivery-benadering worden vereisten echter meestal vermeld in een alomtegenwoordig formaat met behulp van Behaviour Driven Development (BDD) en andere soortgelijke praktijken waarbij zowel functionele als niet-functionele vereisten worden gespecificeerd in functiebestanden met behulp van een taaltype genaamd Augurk, wat zoveel is als zegt het in gewoon Engels. Bekijk bijvoorbeeld deze beveiligingstestvereiste van https://devops.com met BDD:

BDD.png

Hier is nog een voorbeeld van een prestatietestvereiste in augurkformaat:

Aangezien er 100.000 gebruikers op het systeem zijn geregistreerd

Wanneer ik een nieuw account aanmaak

Dan zou ik binnen 5 milliseconden naar mijn dashboard moeten worden gebracht

Dit zijn enkele voorbeelden van niet-functionele vereisten die vroeg kunnen worden geïdentificeerd en in de Continuous Delivery-pijplijn kunnen worden opgenomen, geautomatiseerd en als continue tests kunnen worden uitgevoerd. Alle vereisten zijn echter niet zo eenvoudig als we hier zien en dagen ons uit om ze als continue tests uit te voeren. Wat voor uitdagingen zijn dit?

(Wordt vervolgd …)

Read more

Running Non-Functional Tests in Continuous Testing Mode – Part 3

Niet-functionele tests uitvoeren in de modus voor continu testen

Vergelijkbare berichten

Een eenvoudige benadering voor het afhandelen van storingen in testautomatisering

Keerthi Veerappan

An INFJ personality wielding brevity in speech and writing. Marketer @ Zucisystems.