top 10 test automation strategies
Dit is het laatste artikel in het test automatiseringsreeks Dit artikel geeft een overzicht van de best practices en strategieën voor testautomatisering.
Hoewel onze vorige artikelen best practices vermelden (en sommige kunnen hier worden herhaald), had ik sterk het gevoel om de paar op te noemen, maar de belangrijkste best practices van automatisering hier in één artikel ter referentie
Deze strategieën zijn ontleend aan mijn eigen ervaring en uit de literatuur van testgoeroes als Michael Bolton, James Bach en Cem Kaner. Deze praktijken moeten bij elk automatiseringsproject worden gevolgd.
Wat je leert:
- 10 beste testautomatiseringsstrategieën en -praktijken
- # 1. Huur een toegewijde automatiseringstechnicus of -team in
- # 2. Een automatiseringstool is belangrijk, maar niet voor alles de oplossing
- # 3. Selecteer de automatiseringstool die bekend is bij uw bronnen
- # 4. Ken de applicatie die wordt getest
- # 5. Goede automatisering betekent een goede handmatige testcase
- # 6. Identificeer kansen met automatisering
- # 7. Je kunt niet alles automatiseren
- # 8. Vermijd GUI-automatisering wanneer er een alternatief aanwezig is
- # 9. Gebruik automatisering ook voor andere nuttige doeleinden
- # 10. Automatisering is softwareontwikkeling
- Gevolgtrekking
- Aanbevolen literatuur
10 beste testautomatiseringsstrategieën en -praktijken
Daar gaan we..
# 1. Huur een toegewijde automatiseringstechnicus of -team in
Dit is een basiszaak om te doen. Vraag uw handmatige testers niet om zich over te geven aan testautomatisering. Als je wilt dat ze testautomatisering doen, bevrijd ze dan van handmatig testwerk. Testautomatisering is een fulltime baan. Hiervoor hebt u speciale bronnen nodig.
Ik raad aan om een testautomatiseringsteam samen te stellen dat bestaat uit ten minste één automatiseringsarchitect. U kunt meerdere automatiseringsingenieurs inhuren om te werken onder begeleiding van de testautomatiseringsarchitect. Het aantal automatiseringsingenieurs is afhankelijk van het aantal en de grootte van uw producten.
top 10 spionagesoftware voor mobiele telefoons
# 2. Een automatiseringstool is belangrijk, maar niet voor alles de oplossing
We hadden het over gereedschapsselectie Maar het selecteren van de juiste tool is nog maar het begin. Sommige managers hebben de misvatting dat als ze de juiste tool selecteren, ze alles gemakkelijk kunnen automatiseren. Pas op, automatiseringstools geven je niet alles. Ze maken het proces gemakkelijker. Maar je hebt bekwame middelen nodig om het proces te voltooien.
Automatiseringstools bevatten vaak fouten en blijven hangen bij het identificeren van complexe objecten op de applicatie. De middelen die u inhuurt, bedenken, als ze bekwaam zijn, een oplossing die het proces vooruit helpt. Anders, als u geen goede middelen inhuurt, kan Tool alleen geen succesvolle automatisering garanderen.
# 3. Selecteer de automatiseringstool die bekend is bij uw bronnen
Als uw bronnen bekend zijn met C # en uw te testen applicatie is ook ontwikkeld in C #, dan heeft het geen zin om de tool te selecteren die geen C # biedt om scripts te schrijven.
Het leren van talen is een tijdrovend proces. Vermijd deze leercurve door een tool te kopen die een minimale leercurve biedt.
# 4. Ken de applicatie die wordt getest
De gereedschapsselectie is sterk afhankelijk van de technologieën die in uw product worden gebruikt. Ken uw product door en door voordat u met de automatisering begint.
Als het een webtoepassing is, weet dan welke browsers deze ondersteunt. Ken de technologieën die erin worden gebruikt. Als het een desktoptoepassing is, weet dan op welke taal is gebouwd. Welke besturingselementen van derden worden er in de applicatie gebruikt. Dit zal u helpen de gereedschapsselectie en toekomstige automatisering gemakkelijker te maken.
# 5. Goede automatisering betekent een goede handmatige testcase
Mooi geschreven sterke handmatige testcases bespaar ons van het automatiseren van die testcases die gemakkelijk te automatiseren zijn, maar zwak in het vinden van defecten.
Hier is het citaat uit het boek Lessons Learned in Software Testing:
'Automatiseren zonder goed testontwerp kan veel activiteit opleveren, maar weinig waarde.'
Het is altijd aan te raden om de testcase eerst in handmatige vorm te schrijven. Identificeer alle vereisten en testgegevens Schrijf stappen op een duidelijke manier en schrijf de verwachte resultaten voor elke stap. Het doel van de ene testcase moet duidelijk zijn en het zou minder afhankelijk moeten zijn van de andere testgevallen. Automatiseringsingenieurs moeten deze testcase minstens één keer handmatig uitvoeren om duidelijk te beslissen welke objecten moeten worden geïdentificeerd en wat de navigatiestroom zal zijn. Stel vragen met handmatige testers.
Deze activiteit helpt soms om bugs te identificeren, zelfs voordat het automatiseringsscript is geschreven. Experts zeggen dat de meeste bugs worden geïdentificeerd in de ontwikkelingsfase van testautomatisering en niet in de daadwerkelijke uitvoeringsfase.
# 6. Identificeer kansen met automatisering
Als u wordt overgedragen met een handmatige testcase om te automatiseren , automatiseer die testcase niet zomaar. Zoek in plaats daarvan naar meer mogelijkheden in uw automatisering om de reikwijdte van deze testcase uit te breiden.
java-array element verwijderen bij index
Bijvoorbeeld, als de vereiste handmatige testcase is, moet u inloggen op een webpagina. U kunt deze testcase uitbreiden door deze datagedreven te maken. Maak een lijst van alle mogelijke scenario's van inloggen, zoals ongeldig wachtwoord, leeg wachtwoord, ongeldige gebruikersnaam, ongeldige e-mail, lege gebruikersnaam, onthoud mij gecontroleerd, niet gecontroleerd, enz. Maak een lijst van de mogelijke scenario's samen met hun verwachte resultaat in een Excel-bestand en plaats dit Excel-bestand als gegevensbron voor uw testcase. Nu kan deze ene handmatige testcase, na te zijn geautomatiseerd, alle mogelijke scenario's in één keer testen.
Zoek altijd naar kansen die kunnen worden gedaan met automatisering, maar moeilijk handmatig te doen. Zoals scenario's voor het testen van belasting, prestatiebenchmarks, dezelfde tests onder verschillende omgevingen met verschillende configuraties, geheugenlekken, tests met hoge precisie enz. Dit zijn allemaal moeilijke scenario's voor handmatige testers.
# 7. Je kunt niet alles automatiseren
Automatisering betekent dat er vaker minder tests moeten worden uitgevoerd. U moet klein beginnen door eerst uw rooktesten aan te vallen. Bedek dan je acceptatietests bouwen Ga vervolgens verder met uw vaak uitgevoerde tests en ga vervolgens verder met het maken van tests. Maar zorg ervoor dat elke test die u automatiseert, het tijd bespaart voor een handmatige tester om zich op belangrijkere dingen te concentreren.
Automatisering is er niet om handmatige testers te vervangen. Het kan ook niet. Het is hier om het herhaalde werk weg te nemen van handmatige testers, zodat ze hun volledige focus en kracht kunnen gebruiken bij het vinden van nieuwe testscenario's en bugs. (Lees mijn artikel Misvattingen over testautomatisering)
Automatiseer een paar tests die zijn waardevol en tijdwinst of moeilijk te doen voor handmatige testers. Als je dat hebt gedaan, is de taak van automatisering voltooid.
# 8. Vermijd GUI-automatisering wanneer er een alternatief aanwezig is
GUI-automatisering is altijd moeilijker dan andere soorten geautomatiseerde tests. Dus als er een situatie is waarin u uw doel kunt bereiken door de GUI niet te automatiseren, maar door andere methoden, zoals invoer via de opdrachtregel, dan is de beste strategie om GUI-automatisering te vermijden.
Bijvoorbeeld, u wilt de installatie van de applicatie testen. Het doel is om te controleren of de applicatie al dan niet in een bepaalde omgeving is geïnstalleerd. Een manier is om de installatie te starten en op de knop ' De volgende ”-Knop meerdere keren via uw automatiseringstool. Het kan lastig en tijdrovend zijn en het is onderhevig aan onderhoud als de gebruikersinterface verandert. De andere benadering is om de applicatie-installatie te starten met een batchbestand dat stille argumenten geeft. De applicatie wordt stilzwijgend geïnstalleerd zonder GUI. Het doel zal in minder tijd en op een betrouwbaardere manier worden bereikt.
# 9. Gebruik automatisering ook voor andere nuttige doeleinden
Automatisering is zoiets fantastisch. Je kunt er dingen mee bereiken waar je normaal niet aan denkt. Automatisering gaat niet alleen over het programmeren van een handmatige testcase. In plaats daarvan, u kunt automatisering gebruiken om verschillende bewerkingen in uw organisatie te vergemakkelijken.
Bijvoorbeeldkunt u automatisering gebruiken om automatisch stamgegevens en setupconfiguraties te creëren voor handmatige testers. Zodat ze zo vroeg mogelijk kunnen beginnen met testen.
Ik kan een voorbeeld geven uit mijn eigen bedrijf. We wilden overstappen van onze tool voor testcasebeheer. We gebruikten 'Test Director' (nu HP ALM) en wilden overschakelen naar TFS (Team Foundation Server). We hadden ongeveer 4000 handmatige testcases en bugs in Test Director. Het handmatig overzetten naar TFS kan ongeveer een maand duren. Dus mijn manager vroeg me om wat automatisering te proberen.
Ik graaf die tools en ontdekte dat Test Director SQL-server als opslagplaats gebruikt. Voor TFS heb ik een tool gevonden die testcases en bugs uit een Excel-bestand kan lezen, als ze in een bepaald formaat zijn geschreven, en ze in TFS kan invoegen. De rest van het verhaal is simpel. Ik schreef een SQL-query om alle testgevallen en bugs op te halen en exporteerde ze in een Excel-bestand in het specifieke formaat. Ik heb toen die tool gebruikt die alle testgevallen en bugs uit Excel-bestand leest en in TFS heeft ingevoegd. Het hele proces duurde slechts 3 uur. Mijn manager was erg blij. Ik hoop dat je mijn punt ook begrijpt.
# 10. Automatisering is softwareontwikkeling
Als u kwaliteitssoftware ontwikkelt, heeft dit de beste praktijken nodig. Het heeft codebeoordelingen nodig om kwaliteitscode te schrijven. Het heeft een kader of ontwerppatroon nodig dat moet worden gevolgd. Het heeft constant onderhoud nodig.
Automatisering is in feite softwareontwikkeling. Dus alle best practices die u volgt wanneer u software ontwikkelt, moeten worden gevolgd bij het automatiseren. Automation Framework zou er moeten zijn. Code Reviews moeten worden gedaan. Bugs van automatisering moeten worden gerapporteerd in de bugrepository. Broncode van automatisering moet onder bronbeheer worden geplaatst, enz. Hoe meer u het behandelt als softwareontwikkeling, hoe succesvoller de automatisering zal zijn.
Gevolgtrekking
Dit vat zowel het artikel als de reeks testautomatisering samen. Ik heb veel dingen geleerd tijdens het schrijven van deze tutorials en ik hoop dat je het ook leert door te lezen. Testautomatisering is een interessante en lonende carrière. Het correct doen is niet alleen voordelig voor u, maar ook voor de organisatie.
Elke dag terwijl ik aan testautomatisering en zijn technieken werk, vind ik nieuwe en interessante uitdagingen om op te lossen. Deze serie was een poging om te laten zien wat er zou kunnen tegenkomen tijdens een reis van testautomatisering. Ik hoop dat ik het goed en op een eenvoudige manier heb afgeleverd.
Zoals altijd wacht ik op uw opmerkingen en suggesties. Voel je vrij om je feedback te schrijven in het opmerkingengedeelte. Ik hoor graag van u en help u indien nodig. Bedankt voor het lezen.
hoe kan ik een eps-bestand openen
PREV Tutorial # 6
Aanbevolen literatuur
- Bent u een expert op het gebied van handmatige of automatiseringstests? Werk parttime voor ons!
- Uitdagingen voor handmatige en automatiseringstests
- Top 10+ beste softwaretestboeken (handmatige en automatiseringstestboeken)
- Sikuli GUI Automation Testing Tool - Beginnershandleiding Deel # 2
- Stapsgewijze handleiding om Proof of Concept (POC) in automatiseringstests te implementeren
- Automatiseringstestproces in 10 stappen: hoe u automatiseringstests in uw organisatie start
- Hoe te beslissen welk type testen vereist is voor een project? - Handmatig of automatisering
- Hoe voer ik handmatige prestatietests uit?