39 top automation testing interview questions
Meest gestelde vragen over automatiseringstesten voor beginners en gevorderden:
Testautomatisering speelt een zeer belangrijke rol in de gehele softwarelevenscyclus. Wanneer we ons willen voorbereiden op een automatiseringstestgesprek, richten we ons meestal alleen op toolspecifieke vragen.
We moeten echter ook rekening houden met het feit dat het leren en kennen van de tool slechts een middel is en niet het uiteindelijke doel.
Dus wanneer we ons voorbereiden op een automatiseringstesterinterview, moeten we 'Automatisering' als geheel beschouwen en ons concentreren op het raamwerk en de betrokken stappen.
We weten allemaal dat het testen van software een zeer belangrijk onderdeel is van softwareontwikkeling. Maar met de snelgroeiende methodologieën en omgevingen voor softwareontwikkeling, wordt het moeilijk om alles voor een applicatie binnen een beperkte tijd handmatig te testen, samen met kostenbeperkingen.
Automatiseringstesten groeien dus snel in de markt om het ontwikkelingstempo te versnellen. Deze tutorial bevat de beste interviewvragen over automatiseringstests. Ik heb geprobeerd de korte en snelle vragen te noemen die heel specifiek zijn voor de automatisering als geheel en niet specifiek zijn voor een 'tool'.
Top 39 sollicitatievragen voor automatiseringstesten
We hebben basisvragen over testautomatisering behandeld, evenals enkele geavanceerde vragen voor kandidaten van gemiddeld tot expertniveau met maximaal 2 tot 5 jaar ervaring.
V # 1) Wat is automatisering?
Antwoord: Automatisering is elke handeling die menselijke inspanningen kan verminderen.
Q # 2) Wat is automatiseringstesten?
Antwoord: Het proces waarbij speciale softwaretools of scripts worden gebruikt om testtaken uit te voeren, zoals het invoeren van gegevens, het uitvoeren van de teststappen en het vergelijken van de resultaten, etc. staat bekend als automatiseringstesten.
V # 3) Wat kunt u allemaal automatiseren?
Antwoord:
- Regressietestsuite
- Smoke / Sanity testsuite
- Bouw implementatie
- Test het maken van gegevens
- Automatisering achter de GUI zoals het testen van API's en methoden.
V # 4) Wanneer is automatiseringstesten nuttig?
Antwoord: Automatiseringstests zijn handig in de volgende scenario's:
a) Regressietesten: In het geval van een bugfix of implementatie van een nieuwe module, moeten we ervoor zorgen dat de reeds geïmplementeerde of ongewijzigde functionaliteit niet wordt beïnvloed. In dit geval zullen we de regressietestcase meerdere keren uitvoeren.
Bijvoorbeeld: Na elk wijzigingsverzoek of bugfix, na elke iteratie in het geval van een incrementele ontwikkelingsbenadering, enz.
b) Niet-functionele testen: Het testen van de niet-functionele aspecten van een applicatie.
Bijvoorbeeld, Het testen van belasting of het testen van prestaties, enz. Zijn erg moeilijk voor mensen om te volgen en te analyseren.
c) Complexe berekening controles of testscenario's die vatbaar zijn voor menselijke fouten.
d) Herhaalde uitvoering van dezelfde tests: Soms moeten we dezelfde set testcase uitvoeren voor een andere set gegevens of na elke build-release of op meerdere hardware, software of een combinatie van beide.
Het automatiseren van de testcases in de bovenstaande scenario's helpt bij het bereiken van de snelheid van testen en het minimaliseren van menselijke fouten.
V # 5) Hoe identificeert u de testgevallen die geschikt zijn voor automatisering?
Antwoord: Het identificeren van de juiste testcases voor automatisering is de belangrijkste stap op weg naar automatisering.
V # 6) Kunt u 100% automatisering bereiken?
Antwoord: 100% automatisering zou moeilijk te bereiken zijn omdat er veel edge testcases zouden zijn en sommige cases die zelden worden uitgevoerd. Het automatiseren van deze gevallen die niet vaak worden uitgevoerd, zal geen waarde toevoegen aan de geautomatiseerde suite.
V # 7) Hoe bepaal je welke tool je moet gebruiken voor automatiseringstests in hun projecten?
Antwoord: Om de tool voor automatiseringstesten in uw project te identificeren:
naar) Begrijp uw projectvereisten grondig en identificeer de testscenario's die u wilt automatiseren.
b) Zoek naar de lijst met tools die de vereisten van uw project ondersteunen.
c) Bepaal uw budget voor de automatiseringstool. Selecteer de tools binnen uw budget.
d) Stel vast of u al over bekwame bronnen voor de tools beschikt. Als u niet over de nodige bekwame middelen beschikt, identificeer dan de kosten voor het trainen van de bestaande middelen of het inhuren van nieuwe middelen.
is) Vergelijk nu elke tool op de belangrijkste criteria, zoals:
- Hoe gemakkelijk is het om de scripts voor de tool te ontwikkelen en te onderhouden?
- Kan een niet-technisch persoon de testcases ook met weinig training uitvoeren?
- Ondersteunt de tool verschillende soorten platforms zoals internet, mobiel, desktop, enz. Op basis van uw projectvereisten?
- Heeft de tool een functie voor testrapportage? Zo nee, is het dan gemakkelijk te configureren voor de tool?
- Hoe is de tool voor browseroverschrijdende ondersteuning voor webgebaseerde applicaties?
- Hoeveel verschillende soorten tests kan deze tool ondersteunen?
- Hoeveel talen ondersteunt de tool?
f) Nadat u de tools heeft vergeleken, selecteert u de tool die binnen uw budget past en uw projectvereisten ondersteunt, en die u meer voordelen geeft op basis van de belangrijkste criteria die hierboven zijn genoemd.
V # 8) Momenteel heb ik geen automatisering in mijn project, maar nu wil ik automatisering implementeren, wat zijn mijn stappen?
Antwoord:
- Bepaal eerst welk type test- / testcases u wilt automatiseren.
- Identificeer de tool
- Ontwerp het raamwerk
- Maak hulpprogramma-bestanden en omgevingsbestanden.
- Begin met scripten
- Identificeer en werk aan rapportage.
- Tijd vrijmaken voor het verbeteren en onderhouden van de scripts.
De stappen die nodig zijn om automatiseringstests voor een project te implementeren, zijn onder meer:
- Begrijp de voor- en nadelen van automatiseringstests en identificeer de testscenario's die geschikt zijn voor automatisering.
- Selecteer de automatiseringstool die het meest geschikt is voor het automatiseren van de geïdentificeerde scenario's
- Zoek de toolexpert om te helpen bij het opzetten van de tool en de vereiste omgeving voor het uitvoeren van de testcases met behulp van de tool.
- Train het team zodat ze scripts kunnen schrijven in de programmeertaal die de tool ondersteunt.
- Maak het testraamwerk of identificeer het reeds bestaande raamwerk dat aan uw vereisten voldoet.
- Schrijf een uitvoeringsplan voor OS, browsers, mobiele apparaten, enz.
- Schrijf programmeerscripts voor handmatige testgevallen om ze om te zetten in geautomatiseerde testgevallen.
- Rapporteer de status van de testcase met behulp van de rapportagefunctie van de tool.
- Onderhoud de scripts voor lopende wijzigingen of nieuwe functies.
Q # 9) Hoe bepaal je welke tool je moet gebruiken?
Antwoord: Afsluitend welke tool is het meest geschikt want het project vereist veel brainstormen en discussies.
V # 10) Zodra u de tool heeft geïdentificeerd, wat zouden uw volgende stappen zijn?
Antwoord: Zodra we de tool hebben afgerond, is onze volgende stap het ontwerpen van het framework.
V # 11) Wat is een raamwerk?
Antwoord: Een raamwerk is een set van de structuur van de gehele automatiseringssuite. Het is ook een richtlijn die, indien gevolgd, kan resulteren in een structuur die gemakkelijk te onderhouden en te verbeteren is.
Deze richtlijnen omvatten:
- Coderingsnormen
- Omgaan met de testgegevens
- Onderhoud en afhandeling van de elementen (objectrepository in QTP)
- Afhandeling van omgevingsbestanden en eigenschappenbestand
- Rapportage van gegevens
- Logboeken verwerken
V # 12) Wat zijn de kenmerken van een goed raamwerk?
Antwoord: De kenmerken zijn onder meer:
- Modulair: Het raamwerk moet aanpasbaar zijn aan veranderingen. Testers moeten de scripts kunnen aanpassen aan de omgeving of de inloggegevens wijzigen.
- Herbruikbaar: De veelgebruikte methoden of hulpprogramma's moeten in een gemeenschappelijk bestand worden geschreven dat toegankelijk is voor alle scripts.
- Consequent: De suite moet in een consistent formaat worden geschreven door alle geaccepteerde coderingspraktijken te volgen.
- Onafhankelijk: De scripts moeten zo worden geschreven dat ze onafhankelijk van elkaar zijn. Als een test mislukt, mag deze de resterende testgevallen niet tegenhouden (tenzij het een inlogpagina is)
- Logboeken: Het is goed om de logging-functie in het framework te hebben geïmplementeerd. Dit zou helpen als onze scripts langer werken (bijvoorbeeld nachtmodus), als het script op een bepaald moment mislukt, kan het hebben van het logbestand ons helpen om de locatie en het type fout te detecteren.
- Rapportage: Het is goed om de rapportagefunctie automatisch in het framework te laten integreren. Zodra de scripting is voltooid, kunnen we de resultaten en rapporten via e-mail laten verzenden.
- Integratie: Automation Framework moet zodanig zijn dat het gemakkelijk te integreren is met andere applicaties, zoals continue integratie of het activeren van het geautomatiseerde script zodra de build is geïmplementeerd.
V # 13) Kunt u het zonder raamwerk stellen?
Antwoord: Frameworks zijn richtlijnen en geen dwingende regels, dus we kunnen zonder raamwerk, maar als we het creëren en volgen, zou het verbeteren en onderhouden gemakkelijk te implementeren zijn.
V # 14) Wat zijn de verschillende soorten automatiseringstools waarvan u op de hoogte bent?
Antwoord: Open source-tool zoals Selenium, JMeter, etc.
Betaalde tools zoals QTP, Load Runner, Ranorex, RFT en Rational Robot.
V # 15) Wat is in het algemeen de structuur van een raamwerk?
Antwoord: Normaal gesproken zou de structuur moeten hebben - (het zou van project tot project verschillen)
- Een 'src' (bron) -map met de daadwerkelijke testscripts.
- Een 'lib' (bibliotheek) map met alle bibliotheken en veelgebruikte methoden.
- Een “class” -map met alle class-bestanden (in het geval met java).
- Een 'log' -map met de logboekbestanden.
- Een bestand / map met alle webelement-id's.
- Een bestand met de URL, omgeving en aanmeldingsgegevens.
Q # 16) Waar bewaar je informatie zoals URL, login, wachtwoord?
Antwoord: Deze informatie moet altijd in een apart bestand worden bewaard.
V # 17) Waarom wil je dit soort informatie in een apart bestand bewaren en niet rechtstreeks in de code?
Antwoord: URL, login en wachtwoorden zijn het soort velden dat heel vaak wordt gebruikt en deze veranderen afhankelijk van de omgeving en autorisatie. In het geval dat we het hard coderen in onze code, moeten we het wijzigen in elk bestand dat zijn referentie heeft.
Als er meer dan 100 bestanden zijn, wordt het erg moeilijk om alle 100 bestanden te wijzigen en dit kan op zijn beurt tot fouten leiden. Dit soort informatie wordt dus in een apart bestand bijgehouden, zodat updaten gemakkelijk wordt.
Vraag 18) Wat zijn de verschillende soorten raamwerken?
Antwoord: Verschillende soorten frameworks omvatten:
- Zoekwoordgestuurd raamwerk
- Datagestuurd raamwerk
- Hybride raamwerk
- Lineaire scripts
Q # 19) Kun je een aantal goede coderingspraktijken vertellen tijdens het automatiseren?
Antwoord: Enkele van de goede coderingspraktijken zijn:
- Voeg passende opmerkingen toe.
- Identificeer de herbruikbare methoden en schrijf deze in een apart bestand.
- Volg de taalspecifieke coderingsconventies.
- Bewaar de testgegevens in een apart bestand.
- Voer uw scripts regelmatig uit.
V # 20) Elke soort test waarvan u denkt dat deze niet geautomatiseerd moet worden?
Antwoord:
- Tests die zelden worden uitgevoerd.
- Verkennende toetsing
- Bruikbaarheidstesten
- Test die snel wordt uitgevoerd als deze handmatig wordt uitgevoerd.
Q # 21) Denk je dat testen alleen op UI-niveau kunnen worden gedaan?
wat te doen met apk-bestanden
Antwoord: Nu we naar de Agile-modus gaan, is testen niet beperkt tot de UI-laag. Vroege feedback is essentieel voor een agile project. Als we ons alleen concentreren op de UI-laag, wachten we eigenlijk totdat de UI is ontwikkeld en beschikbaar is om te testen.
We kunnen eerder testen voordat de gebruikersinterface daadwerkelijk is ontwikkeld. We kunnen de API's of de methoden rechtstreeks testen met tools zoals Cucumber en FitNesse
Op deze manier geven we de feedback veel vroegtijdig en testen we nog voordat de gebruikersinterface is ontwikkeld. Door deze aanpak te volgen, kunnen we alleen het GUI-aspect van kleine cosmetische wijzigingen of enkele validaties op de gebruikersinterface testen en zullen de ontwikkelaars meer tijd krijgen om de bugs op te lossen.
V # 22) Hoe selecteert u welke automatiseringstool het beste bij u past?
Antwoord: Het selecteren van de automatiseringstool is afhankelijk van verschillende factoren, zoals:
- De scope van de applicatie die we willen automatiseren.
- Beheer overhead zoals kosten en budget.
- Tijd om de tool te leren en te implementeren.
- Type ondersteuning dat beschikbaar is voor de tool.
- Beperking van de tool
Q # 23) Wat denk je dat de testers ervan weerhouden te automatiseren? Is er een manier om het te overwinnen?
Antwoord: De belangrijkste hindernis voor testers is om te leren programmeren / coderen wanneer ze willen automatiseren. Omdat testers niet coderen, is het aanpassen aan codering een beetje een uitdaging voor testers.
We kunnen het overwinnen door:
- Samenwerken met ontwikkelaars bij automatisering.
- Aangezien automatisering de verantwoordelijkheid is van het hele team en niet alleen van de testers.
- Een toegewijde tijd en focus op automatisering.
- De juiste managementondersteuning krijgen.
U kunt deze interviewvragen voor automatiseringstests opslaan als pdf en afdrukken om ze verder te lezen.
V # 24) Wat is een testraamwerk voor automatisering?
Antwoord: Een raamwerk is in het algemeen een reeks richtlijnen. Een reeks richtlijnen, aannames, concepten en coderingspraktijken voor het creëren van een uitvoeringsomgeving waarin de tests worden geautomatiseerd, staat bekend als een Automation-testraamwerk.
Een automatiseringstestraamwerk is verantwoordelijk voor het creëren van een testharnas met een mechanisme om verbinding te maken met de te testen applicatie, input te halen uit een bestand, de testcases uit te voeren en de rapporten te genereren voor testuitvoering. Een automatiseringstestraamwerk moet onafhankelijk zijn van de applicatie en het moet gemakkelijk te gebruiken, aan te passen of uit te breiden zijn.
V # 25) Wat zijn de belangrijke modules van een automatiseringstestraamwerk?
Antwoord: Belangrijke modules van een automatiseringstestframework zijn:
- Test Assertion Tool: Deze tool biedt beweringen voor het testen van de verwachte waarden in de te testen applicatie. Bijvoorbeeld. TestNG, Junit, enz.
- Gegevensinstellingen: Elke testcase moet de gebruikersgegevens uit de database of uit een bestand halen of in het testscript zijn ingesloten. Frameworks datamodule moet zorgen voor de data-inname voor testscripts en de globale variabelen.
- Build Management Tool: Framework moet worden gebouwd en geïmplementeerd voor het gebruik van het maken van testscripts.
- Tool voor continue integratie: Met CICD (Continuous Integration and Continuous Development) is een tool voor continue integratie vereist voor het integreren en implementeren van de wijzigingen die in het framework bij elke iteratie zijn aangebracht.
- Rapportagetool: Een rapportagetool is vereist om een leesbaar rapport te genereren nadat de testcases zijn uitgevoerd voor een beter zicht op de stappen, resultaten en mislukkingen.
- Logboekprogramma: De logging-tool in framework helpt bij het beter debuggen van de fout en bugs.
V # 26) Leg enkele testtools voor automatisering uit.
Antwoord: Enkele van de beroemde testtools voor automatisering worden hieronder uitgelegd:
(i) Selenium : Selenium is een testraamwerk voor het testen van automatisering van webapplicaties. Het ondersteunt meerdere browsers en is onafhankelijk van het besturingssysteem. Selenium ondersteunt ook verschillende programmeertalen zoals Java, C #, PHP, Ruby en Perl, enz.
Selenium is een open-source set bibliotheken die kunnen worden gebruikt om aanvullende testframeworks of testscripts te ontwikkelen voor het testen van webgebaseerde applicaties.
(ii) UFT : Unified Functional Testing is een gelicentieerde tool voor functioneel testen. Het biedt een breed scala aan functies zoals API's, webservices, enz. En ondersteunt ook meerdere platforms zoals desktops, internet en mobiel. UFT-scripts zijn geschreven in visuele basisscripttaal.
(Ii) tijdperken : Appium is een open-source testtool voor mobiele applicaties. Het wordt gebruikt om het testen op platformonafhankelijke, native, hybride en webgebaseerde mobiele applicaties te automatiseren. Appium automatiseert elke mobiele applicatie vanuit elke taal met volledige toegang tot API's en DB's vanuit de testcode.
Appium is gebaseerd op de client-server-architectuur en is geëvolueerd uit selenium.
(iv) Komkommer : Cucumber is een open-source gedragsgestuurde ontwikkelingstool. Het wordt gebruikt voor het testen van webgebaseerde automatisering van applicaties en ondersteunt talen zoals ruby, java, scala, groovy, enz. Cucumber leest uitvoerbare specificaties geschreven in platte tekst en test de te testen applicatie op die specificaties.
Om komkommer de scenario's in platte tekst te laten begrijpen, moeten we enkele basissyntaxisregels volgen die bekend staan als augurk.
(v) TestComplete : TestComplete is een geautomatiseerde UI-testtool met licentie om de applicatie te testen op verschillende platforms, zoals desktops, web, mobiel, enz. Het biedt flexibiliteit om een testcase op één browser op te nemen en deze op meerdere browsers uit te voeren en ondersteunt dus crossbrowsertesten.
TestComplete heeft een ingebouwd algoritme voor objectherkenning dat een object uniek identificeert en opslaat in de opslagplaats.
V # 27) Wat zijn de verschillende soorten testraamwerktechnieken?
Antwoord: Er zijn vier soorten framework-technieken voor het testen van automatisering.
Zij zijn:
(i) Modulair testraamwerk:
Dit raamwerk is gebaseerd op het concept van abstractie. In dit raamwerk maakt de tester scripts voor elke module van de te testen applicatie afzonderlijk en vervolgens worden deze scripts in de hiërarchische volgorde gecombineerd om grote testgevallen te creëren.
Het creëert een abstractielaag tussen de modules, dus wijzigingen in testscripts voor één module hebben geen invloed op andere modules.
Voordelen van dit raamwerk:
- Gemakkelijker onderhoud en schaalbaarheid van testcases.
- Het maken van testcases met behulp van reeds gescripte modules is eenvoudiger en sneller.
Nadelen:
- In testgevallen zijn gegevens ingebed. Het uitvoeren van hetzelfde testscript met verschillende gegevens is dus een grote verandering op scriptniveau.
(ii) Framework voor gegevensgestuurd testen:
In het gegevensgestuurde testraamwerk worden de invoergegevens en de verwachte uitvoergegevens die overeenkomen met de invoergegevens, opgeslagen in een bestand of database en voert het geautomatiseerde script dezelfde set teststappen uit voor meerdere gegevenssets. Met dit framework kunnen we meerdere testcases uitvoeren waarbij alleen de invoergegevens verschillen en de uitvoeringsstappen hetzelfde zijn.
Voordelen:
- Vermindert het aantal testscripts dat moet worden uitgevoerd. We voeren hetzelfde script meerdere keren uit met verschillende gegevens.
- Minder codering voor automatiseringstesten.
- Meer flexibiliteit voor het onderhouden en oplossen van bugs of het verbeteren van de functionaliteit.
- Testgegevens kunnen worden aangemaakt voordat het geautomatiseerde testsysteem gereed is.
Nadelen:
- Alleen vergelijkbare testgevallen met dezelfde set uitvoeringsstappen kunnen worden gecombineerd voor meerdere sets gegevens. De verschillende set uitvoeringsstappen vraagt om een andere testcase.
(iii) Kader voor trefwoordgestuurd testen:
Het is een applicatie-onafhankelijk testraamwerk dat gebruik maakt van gegevenstabellen en zelfverklarende trefwoorden. Sleutelwoorden leggen de acties uit die op de te testen applicatie moeten worden uitgevoerd en de gegevenstabel geeft de input en verwachte output data.
Testen op basis van trefwoorden is een stap naar gegevensgestuurd testen.
Voordelen:
- Minder codering en hetzelfde script kan worden gebruikt voor meerdere sets gegevens.
- Automatiseringsexpertise is niet vereist voor het maken van een testcase met de reeds bestaande sleutelwoorden voor acties.
- Dezelfde trefwoorden kunnen in meerdere testcases worden gebruikt.
Nadelen:
- Dit raamwerk is ingewikkelder omdat het moet zorgen voor de trefwoordacties en ook voor de gegevensinvoer.
- Testgevallen worden langer en complex, waardoor de onderhoudbaarheid ervan nadelig wordt beïnvloed.
(iv) Hybride testraamwerk:
Dit framework is een combinatie van alle bovengenoemde testframeworks (modulair, datagedreven en trefwoordgestuurd).
In dit raamwerk worden de testcases ontwikkeld vanuit modulaire scripts door ze te combineren in het modulaire testraamwerk. Elk van de testgevallen gebruikt een stuurprogrammascript dat een gegevensbestand gebruikt zoals in het gegevensgestuurde raamwerk en een op trefwoorden gebaseerd actiebestand.
Voordelen:
- Modulair en gemakkelijk te onderhouden.
- Minder codering kan voor meer testgevallen zorgen.
- Een testcase kan worden uitgevoerd met meerdere sets gegevens.
Nadelen:
- Complex om te lezen, te onderhouden en te verbeteren.
V # 28) Wanneer geef je de voorkeur aan handmatig testen boven automatiseringstesten?
Antwoord: In de volgende gevallen geven we de voorkeur aan handmatig testen boven automatiseringstesten:
- Het project is van korte duur en het schrijven van scripts zal tijdrovend en duur zijn in vergelijking met handmatig testen.
- Flexibiliteit is vereist. Geautomatiseerde testcases worden geprogrammeerd en draaien op een specifieke manier van configuraties.
- Bruikbaarheidstests moeten worden uitgevoerd.
- Applicaties / module is nieuw ontwikkeld en kent geen eerdere testcases.
- Er moeten ad-hoc- of verkennende tests worden uitgevoerd.
V # 29) Is automatiseringstesten in agile methodologie nuttig of niet?
Antwoord: Automatiseringstests zijn nuttig voor het testen van regressie, rook of gezond verstand. Al deze soorten testen in het traditionele watervalmodel gebeuren aan het einde van de cyclus en soms, als er niet veel verbeteringen aan de applicatie zijn, hoeven we het misschien niet eens te doen regressietesten
Terwijl, in agile methodologie vereist elke iteratie het uitvoeren van de regressietest, aangezien er enkele nieuwe functionaliteiten zijn toegevoegd.
Ook blijft de regressiesuite zelf groeien na elke sprint, aangezien de functionele testgevallen van de huidige sprintmodule moeten worden toegevoegd aan de regressiesuite voor de volgende sprint.
Automatiseringstests in agile-methodologie zijn dus erg nuttig en helpen bij het bereiken van maximale testdekking in minder tijd van de sprint.
V # 30) Noem enkele voor- en nadelen van automatiseringstests.
Antwoord:
Voordelen:
- Minder personeel
- Herbruikbaarheid
- Meer testdekking in minder tijd
- Betrouwbaarheid
- Parallelle uitvoering van testcases
- Snel
Nadelen:
hoe u een .json-bestand opent
- Ontwikkeling en onderhoudstijd is meer.
- Gereedschapskosten
- Bekwame middelen zijn vereist.
- Omgeving instellen
- Foutopsporing in testscripts is een probleem.
V # 31) Noem enkele voor- en nadelen van handmatig testen.
Antwoord:
Voordelen:
- Geen omgevingsinstellingen nodig.
- Kennis van programmeren is niet vereist.
- Aanbevolen voor dynamisch veranderende eisen.
- Sta menselijke observatiekracht toe om meer bugs te detecteren.
- De kosten zijn lager voor kortlopende projecten.
- Flexibiliteit
Nadelen:
- Moeilijk om complexe berekeningen uit te voeren.
- Herbruikbaarheid
- Tijd nemen
- Hoog risico op menselijke fouten of vergissingen.
- Er zijn meer personele middelen nodig.
V # 32) Kunnen we automatiseringstests uitvoeren zonder raamwerk? Zo ja, waarom hebben we dan een raamwerk nodig?
Antwoord: Ja, we kunnen zelfs automatiseringstests uitvoeren zonder een framework te gebruiken. We kunnen de tool die we gebruiken voor automatisering gewoon begrijpen en de stappen programmeren in de programmeertaal die de tools ondersteunen.
Als we testcases automatiseren zonder framework, is er geen enkele consistentie in de programmeerscripts voor testcases.
Een raamwerk is vereist om een reeks richtlijnen te geven die iedereen moet volgen om de leesbaarheid, herbruikbaarheid en consistentie in de testscripts te behouden. Een raamwerk biedt ook een gemeenschappelijke basis voor rapportage- en logboekfunctionaliteit.
V # 33) Hoe automatiseert u testcases voor de basisfunctionaliteit van 'inloggen' voor een applicatie?
Antwoord: Ervan uitgaande dat de automatiseringstool en het framework al in de plaats staan van de testomgeving.
Om de basisfunctionaliteit 'Inloggen' te testen:
- Begrijp de projectvereisten : De aanmeldingsfunctionaliteit heeft een tekstvak voor de gebruikersnaam, een tekstvak voor een wachtwoord en een aanmeldingsknop.
- Identificeer de testscenario's: Voor inlogfunctionaliteit zijn de mogelijke testscenario's:
- Lege gebruikersnaam en wachtwoord
- Ongeldige gebruikersnaam en wachtwoord
- Een geldige gebruikersnaam en ongeldig wachtwoord
- Geldige gebruikersnaam en wachtwoord
- Bereid een Gegevensinvoerbestand met de gegevens die overeenkomen met elk scenario.
- Start de tool uit het programma.
- Identificeer het gebruikersnaamveld, het wachtwoordveld en de login-knop.
- Haal voor elk testscenario de gegevens uit het gegevensbestand op en voer de bijbehorende velden in. Programma klik op de login-knop na het invoeren van de gegevens.
- Valideer de foutmelding voor negatieve scenario's en de succesmelding voor positieve scenario's in het testscript met behulp van beweringen.
- Rennen de testsuite en genereer het rapport.
V # 34) Is het testen van automatisering een Black box-test of White-box-testen?
Antwoord: Automatiseringstesten zijn meestal een black box testen omdat we gewoon de stappen programmeren die een handmatige tester uitvoert voor de te testen applicatie zonder het low-level ontwerp of de code van de applicatie te kennen.
Soms hebben geautomatiseerde testscripts toegang nodig tot de databasegegevens die worden gebruikt in de te testen applicatie of tot meer coderingsdetails en kunnen ze dus een soort white-box-testen zijn.
Geautomatiseerd testen kan dus zowel een black-box als een white box-test zijn, afhankelijk van de scenario's waarin automatisering wordt uitgevoerd.
V # 35) Hoeveel testcases heeft u per dag geautomatiseerd?
Antwoord: Welnu, het aantal hangt af van de complexiteit van de testcases. Toen de complexiteit beperkt was, kon ik 5 tot 6 testcases per dag automatiseren. Soms was ik in staat om slechts één testcase te automatiseren voor complexe scenario's.
Ik heb mijn testcases ook opgesplitst in verschillende componenten zoals, neem input, doe de berekening, verifieer de output etc. in het geval van zeer complexe scenario's en heb 2 of meer dagen in beslag genomen.
V # 36) Welke factoren bepalen de effectiviteit van automatiseringstests?
Antwoord: Enkele van de factoren die de effectiviteit van automatiseringstests bepalen, zijn:
- Tijdwinst door het uitvoeren van scripts over de handmatige uitvoering van testcases.
- Gebreken gevonden
- Testdekking of codedekking
- Onderhoudstijd of ontwikkeltijd
- Stabiliteit van de scripts
- Test herbruikbaarheid
- Kwaliteit van de te testen software
Q # 37) Welke testcases kunnen worden geautomatiseerd?
Antwoord: Typen testcases die kunnen worden geautomatiseerd zijn:
(i) Rooktestgevallen: Rooktesten wordt ook wel buildverificatietesten genoemd. Elke keer dat een nieuwe build wordt uitgebracht, worden rooktestcases uitgevoerd om de gezondheid van de build te controleren voor acceptatie om tests uit te voeren.
(ii) Regressietestgevallen : Regressietesten is het testen om ervoor te zorgen dat eerder ontwikkelde modules werken zoals verwacht nadat een nieuwe module is toegevoegd of een bug is verholpen.
Regressietestgevallen zijn erg cruciaal in een incrementele softwarebenadering waarbij een nieuwe functionaliteit wordt toegevoegd bij elke incrementele fase. In dit geval wordt regressietesten uitgevoerd in elke incrementele fase.
(iii) Complexe berekeningstestgevallen: Testgevallen waarbij complexe berekeningen nodig zijn om een veld voor een toepassing te verifiëren, vallen in deze categorie. Complexe berekeningsresultaten zijn gevoeliger voor menselijke fouten en geven daarom bij automatisering nauwkeurige resultaten.
(iv) Gegevensgestuurde testcases: Testgevallen die dezelfde reeks stappen hebben en meerdere keren worden uitgevoerd met de wijziging van gegevens, worden datagestuurde testgevallen genoemd. Geautomatiseerd testen voor dit soort testgevallen is snel en kosteneffectief.
(v) Niet-functionele testgevallen : Testcases zoals belastingtests en prestatietests vereisen een gesimuleerde omgeving met meerdere gebruikers en meerdere hardware- of softwarecombinaties.
Het handmatig opzetten van meerdere omgevingen is niet mogelijk voor elke combinatie of elk aantal gebruikers. Geautomatiseerde tools kunnen deze omgeving gemakkelijk creëren om gemakkelijk niet-functionele tests uit te voeren.
V # 38) Wat zijn de fasen in de levenscyclus van automatiseringstests?
Antwoord: De fasen in de levenscyclus van automatiseringstests omvatten:
- De beslissing om automatiseringstests uit te voeren.
- Identificeer en leer over de automatiseringstool.
- Bepaal de reikwijdte van automatiseringstests.
- Ontwerp en ontwikkel een testsuite.
- Testuitvoering
- Onderhoud van testscripts.
V # 39) Wat is een geautomatiseerd testscript?
Antwoord: Een geautomatiseerd testscript is een kort programma dat is geschreven in een programmeertaal om een reeks instructies uit te voeren op een te testen applicatie om te controleren of de applicatie voldoet aan de vereisten.
Wanneer dit programma wordt uitgevoerd, geeft het de testresultaten als geslaagd of niet, afhankelijk van of de toepassing voldoet aan de verwachtingen.
Gevolgtrekking
Dit zijn de belangrijkste vragen die onafhankelijk zijn van de automatiseringstool of programmeertaal. Testinterviews voor automatisering omvatten ook tool- en programmeertaalspecifieke vragen, afhankelijk van de tool waarmee u hebt gewerkt.
De meeste vragen over testautomatiseringsinterviews zijn gericht op het framework dat u ontwikkelt, dus het wordt aanbevolen dat u uw testframework grondig maakt en begrijpt. Als ik aan het interviewen ben en de kandidaat heeft mijn vraag over het framework beantwoord, dan stel ik ook liever een taalspecifieke vraag (in mijn geval core java).
De vragen beginnen bij de basisprincipes van Java om de logica van een basisscenario te schrijven, zoals:
- Hoe zou u een set tekst uit een bepaalde regel extraheren?
- Hoe zou je de URL extraheren?
- Op elke webpagina, op elk frame, verandert het aantal links en de inhoud ervan dynamisch, hoe zou u daarmee omgaan?
- Hoe ga je om met afbeeldingen en flitsobjecten?
- Hoe vind je een woord in een regel?
Antwoorden op al deze testautomatisering interviewvragen zijn zeer specifiek voor de tool / taal die u gebruikt voor automatisering. Dus voordat je naar het interview gaat, moet je je programmeervaardigheden bijschaven.
Als je geen kans hebt gekregen om je raamwerk te creëren en iemand anders het heeft gemaakt, neem dan de tijd om het grondig te begrijpen voordat je aan het interview begint.
Enkele tips voor interviews met automatiseringstests zijn:
- Ken uw gereedschap grondig.
- Leer de locatortechnieken die door uw tool worden gebruikt.
- Oefen het programmeren met de taal die u gebruikt voor automatiseringstests.
- Leer uw framework en zijn componenten.
- Het is altijd voordelig als u betrokken bent geweest bij de ontwikkeling van uw framework. Wees dus grondig met de modules in het raamwerk waaraan u heeft gewerkt.
Ik hoop dat deze vragen nuttig zijn om je voor te bereiden op een testautomatiseringsgesprek.
Aanbevolen literatuur
- Interview vragen en antwoorden
- Vragen en antwoorden over ETL-tests
- Enkele interessante sollicitatievragen voor het testen van software
- 25 Beste Agile Testing Interview Vragen en Antwoorden
- Top 20 belangrijkste API-testvragen en antwoorden op sollicitatiegesprekken
- Vragen en antwoorden over softwaretests (deel 1)
- Beste softwaretesttools 2021 (QA Test Automation Tools)
- Top 30 interviewvragen en antwoorden over beveiligingstests