Niet-functionele tests uitvoeren in continue testmodus – deel 3
An INFJ personality wielding brevity in speech and writing.
De vaak genoemde uitdagingen bij het overwegen van niet-functionele tests in elk model (laat staan continu testen) zijn:
- Niet-functionele tests zijn inconsistent gedefinieerd en slecht gepland
- Niet-functionele tests worden vaak met een lagere prioriteit behandeld
- Gebrek aan geschikte vaardigheden
- De kosten van gereedschap en de betrokken omgeving zijn vaak onbetaalbaar
Dit wordt nog ingewikkelder bij het overwegen van niet-functionele tests in een continue testcontext :
- Niet-functionele testbeweringen zijn kwetsbaarder en vereisen aanzienlijk onderhoud in een snel iteratief model
- Geautomatiseerde analyse is doorgaans objectiever; terwijl we voor de meeste niet-functionele tests subjectieve analyse nodig hebben
- Testomgeving, testgegevens en testduur spelen een sleutelrol bij het verkrijgen van nauwkeurigere testresultaten. Het onderhouden van een productie-achtige omgeving met realistische testgegevens voor gedetailleerde niet-functionele tests vereist volwassen DevOps-processen en aanzienlijke investeringen in het opzetten van de omgeving
Dat gezegd hebbende, helpt het in grote mate om de automatisering van niet-functionele basistests (zou het gepast zijn om ze controles te noemen?) te overwegen voor belasting, latentie, doorvoer, beveiliging en deze toe te voegen aan de Continuous Testing-suite. De vraag is waarom? Om dit te beantwoorden, kunnen dergelijke tests ons vroege feedback geven over de probleemgebieden en ons de flexibiliteit bieden om de subset van tests te kiezen die we willen uitvoeren.
Continue testmodus
Kwetsbaarheden voor SQL-injectie, waarvan een voorbeeld werd gegeven in het vorige deel van de blog, is zo’n test om te overwegen. We zien ook vaak dat bekende zwakke punten en verkeerde configuraties, zoals het ontbreken van de HttpOnly-vlag op sessiecookies of het gebruik van bekende zwakke SSL-suites en -coderingen, kunnen worden geautomatiseerd en uitgevoerd in de modus Continu testen. Dergelijke tests kunnen worden geautomatiseerd met behulp van browserautomatiseringstools zoals Selenium Webdriver in combinatie met andere zoals OWASP ZAP.
Evenzo kunnen DB- en component- / serviceniveau-belastingstests en prestatieregressietests voor bedrijfskritieke gebruikersreizen helpen bij het identificeren van het “prestatieverminderingspunt” voor het “systeem in aanbouw” dat ideale kandidaten kan zijn voor continu testen. Op basis van de ontvangen feedback kunnen intensievere/specifiekere tests zoals ethisch hacken, capaciteitsplanning en stresstests worden ontworpen en uitgevoerd. Kortom, met begrip van zowel applicatietechnische stack als bedrijfsrisico, kan beknopte / beperkte niet-functionele testsuite worden toegevoegd aan continue testsuite voor frequente herhaalde feedbackcyclus; terwijl gerichte niet-functionele tests kunnen worden opgeslagen voor minder frequente / eenmalige mijlpaal.
Het doel achter het uitvoeren van niet-functionele tests in de continue testmodus is: “om het exacte moment te kunnen detecteren waarop iemand een regel code invoert die de niet-functionele aspecten van het systeem beïnvloedt.” Om daar te komen, hebben we een sterk Continuous Testing-model nodig, niet alleen met de juiste soort tests, maar ook met de juiste processen, componenten en tools.
Continuous Delivery is een discipline die alleen succesvol is als de betrokkenen zich verantwoordelijk en aanspreekbaar voelen. Een typische Continuous Delivery-pijplijn lijkt op die hieronder van dzone.com
Zoals u kunt zien, maakt continu testen deel uit van “L3 – Continuous Delivery” en zoals hierboven vermeld, zijn het niet alleen het soort tests alleen dat continu testen succesvol maakt. Het gaat om het volgen van een procesmatige aanpak die aansluit bij de behoeften en kwaliteitsverwachtingen van de organisatie en deze voortdurend verbeteren op basis van de behaalde resultaten.
“Continuous Improvement” is waar echte beoefenaars zich op richten!
,
Read more
>
Niet-functionele tests uitvoeren in continue testmodus – deel 2
Niet-functionele tests uitvoeren in de modus voor continu testen
Vergelijkbare berichten
Een eenvoudige benadering voor het afhandelen van storingen in testautomatisering