what is test harness
Ik ben geen grote fan van labels. Hier is wat ik daarmee bedoel.
Als ik enkele aspecten moet controleren voordat ik bepaal of QA al dan niet kan worden gestart, zal ik gewoon een lijst maken en de actie uitvoeren. Naar mijn mening maakt het niet uit of ik het officieel een 'Test readiness review' -bewerking noem of niet - zolang ik doe wat ik moet doen, denk ik dat het niet nodig is om het een specifieke naam of label te noemen .
Maar ik blijf gecorrigeerd. Onlangs gaf ik in mijn klas les in Agile-scrum-model voor softwareontwikkeling. Er was een vraag ' hoe wordt testen uitgevoerd in een Agile-methode? 'Ik legde twee methoden uit: de ene is waar we het proberen op te nemen in elke sprint en de andere is een best practice die ik heb geleerd van de implementatie uit de eerste hand - namelijk om een QA-sprint achter te laten met betrekking tot de ontwikkeling.
Een van mijn leerlingen vroeg me of er een naam is voor de tweede en dat deed ik niet omdat ik nooit de nadruk op de namen zelf legde.
Maar op dat moment voelde ik hoe belangrijk het was om een proces op de juiste manier te labelen om er zeker van te zijn dat we een term hebben om naar het proces te verwijzen waar we het over hebben.
Daarom gaan we vandaag precies dat doen: Leer het proces achter de term 'Testharnas'.
Zoals ik al eerder zei in enkele van mijn vorige artikelen: er valt veel te begrijpen uit de letterlijke betekenis van de naam. Kijk dus in je woordenboek wat 'Harnas' betekent en de grote onthulling of het in dit geval van toepassing is, is iets dat we aan het einde zullen zien.
Er zijn twee contexten waarin het testharnas wordt gebruikt:
- Automatiseringstesten
- Integratietesten
Laten we beginnen met de eerste:
Wat je leert:
- Context # 1: testharnas in testautomatisering
- Context # 2: Test harnas in integratietests
- Ten slotte:
- Aanbevolen literatuur
Context # 1: Testtuig in testautomatisering
In de automatisering testen wereld, Testharnas verwijst naar het framework en de softwaresystemen die de testscripts bevatten, parameters die nodig zijn (met andere woorden, gegevens) om deze scripts uit te voeren, testresultaten te verzamelen, ze te vergelijken (indien nodig) en de resultaten te monitoren.
Ik ga proberen dit eenvoudiger te maken met behulp van een voorbeeld.
Voorbeeld
Als ik het had over een project dat gebruikmaakt van HP Quick Test Professional (nu UFT) voor functioneel testen, HP ALM is gekoppeld om alle scripts, runs en resultaten te organiseren en te beheren en de gegevens worden geplukt uit een MS Access DB - Het volgende zou het testharnas voor dit project zijn:
vragen en antwoorden voor technische ondersteuningstechnici
- De QTP (UFT) -software zelf
- De scripts en de fysieke locatie waar ze zijn opgeslagen
- De test gaat
- MS Access DB om parameters, gegevens of de verschillende voorwaarden te leveren die aan de testscripts moeten worden geleverd
- HP ALM
- De testresultaten en de vergelijkende monitoringattributen
Zoals u kunt zien, worden softwaresystemen (automatisering, testbeheer, enz.), Gegevens, voorwaarden, resultaten - ze worden allemaal een integraal onderdeel van het testharnas - de enige uitsluiting is de AUT zelf.
Context # 2: Test harnas in integratietesten
Nu is het tijd om te onderzoeken wat Test-harnas betekent in het context van 'Integratietesten'
Integratietesten zijn het samenstellen van twee of modules (of eenheden) code die met elkaar communiceren en om te controleren of het gecombineerde gedrag al dan niet is zoals verwacht.
Idealiter zouden en zouden integratietests van twee modules mogelijk moeten en kunnen zijn als ze allebei 100% gereed, getest en klaar voor gebruik zijn.
We leven echter niet in een perfecte wereld, wat betekent dat een of meer modules / code-eenheden die de samenstellende elementen van de integratietest moeten zijn, mogelijk niet beschikbaar zijn. Om deze situatie op te lossen hebben we stubs en stuurprogramma's.
Stud is meestal een stukje code dat beperkt is in zijn functie en zal de eigenlijke module code die in de plaats moet komen, vervangen of proxy.
Voorbeeld: Om dit verder uit te leggen, zal ik een scenario gebruiken
Als er een unit A en unit B is die moeten worden geïntegreerd. Ook stuurt die eenheid A gegevens naar eenheid B of met andere woorden, eenheid A roept eenheid B op.
Unit A als 100% beschikbaar is en unit B niet, dan kan de ontwikkelaar een stukje code schrijven dat beperkt is in zijn mogelijkheden (wat dit betekent is Unit B als deze 10 features heeft, slechts 2 of 3 die belangrijk zijn voor integratie met A) wordt ontwikkeld en wordt gebruikt voor integratie. Dit heet een STOMP.
De integratie zou nu zijn: Unit A-> Stub (vervangt B)
Aan de andere kant, als eenheid A 0% beschikbaar is en eenheid B 100% beschikbaar, moet de simulatie of proxy hier eenheid A zijn. Dus als een aanroepende functie wordt vervangen door een hulpcode, wordt deze de BESTUURDER
De integratie zou in dit geval zijn : BESTUURDER (vervangt A) -> Eenheid B
Het hele raamwerk: Het proces van het plannen, maken en gebruiken van stubs en / of stuurprogramma's om de integratietests uit te voeren, wordt de Test Harness genoemd.
Notitie : het bovenstaande voorbeeld is beperkt en het real-time scenario is misschien niet zo eenvoudig of duidelijk als dit. Real-time applicaties hebben complexe en samengestelde integratiepunten.
Ten slotte:
Zoals altijd gelooft STH dat zelfs de meest technische definities kunnen worden afgeleid uit de simpele, letterlijke betekenis van de term.
Het woordenboek op mijn smartphone vertelt me dat een 'harnas' is (kijk onder de werkwoordcontext):
“Onder voorwaarden brengen voor effectief gebruik; controle krijgen over een bepaald doel;
Hierna volgen en aanpassen aan testen:
“Een testharnas is simpelweg het creëren van het juiste raamwerk en het (en al zijn samenstellende elementen) gebruiken om de hele activiteit te besturen om het meeste uit de situatie te halen - of het nu gaat om automatisering of integratie.
Daar rusten we onze zaak.
Nog een paar dingen voordat we klaar zijn:
V. Wat zijn de voordelen van een testharnas?
Zou u zich nu willen afvragen wat het belang van adem voor het menselijk leven is - het is intrinsiek, nietwaar? Evenzo is een raamwerk om effectief te testen als een gegeven. Het voordeel, als we het in zoveel woorden moeten spellen - ik zou zeggen, elk testproces heeft een testharnas, of we nu bewust zeggen dat het 'The Test-harnas' is of niet. Het is alsof je reist als je de route, de bestemming en alle andere dynamiek van de reis kent.
V. Wat is het verschil tussen testharnas en testraamwerk
Persoonlijk denk ik dat vergelijken en contrasteren niet vaak de juiste benadering is bij het begrijpen van gerelateerde concepten, omdat de lijnen vaak wazig zijn. Als antwoord op die vraag zou ik zeggen dat het testharnas specifiek is en het testkader generiek. Een testharnas bevat bijvoorbeeld de exacte informatie van de testbeheertool tot aan de te gebruiken login-ID's. Een testraamwerk daarentegen zal eenvoudig zeggen dat een testmanagementtool de respectieve activiteiten zal uitvoeren.
Q. Zijn er hulpmiddelen voor testharnassen?
Testharnas omvat tools - zoals automatiseringssoftware, testbeheersoftware, enz. Er zijn echter geen specifieke tools om een testharnas te implementeren. Alle of alle tools kunnen deel uitmaken van Test Harness: QTP, JUnit, HP ALM - ze kunnen allemaal samenstellende tools zijn van elke Test Harness.
Over de auteur: Dit artikel is geschreven door STH-teamlid Swati S.
En, altijd met definities, er zijn altijd verschillen in meningen. We verwelkomen uw mening en horen graag wat u ervan vindt. Laat gerust hieronder een opmerking, vraag of suggestie achter.
Aanbevolen literatuur
- Laadtests met HP LoadRunner-zelfstudies
- Softwaretestadvies voor beginnende testers
- Beste softwaretesttools 2021 [QA Test Automation Tools]
- De verschillen tussen unit-tests, integratietests en functionele tests
- Verliezen testers hun grip op testen door automatisering?
- Wereldwijd softwaretestbedrijf bereikt binnenkort $ 28,8 miljard
- Hoe houd je motivatie levend in softwaretesters?
- Primer eBook downloaden testen