39 top automation testing interview questions
Am häufigsten gestellte Fragen zu Automatisierungstests für Anfänger und Fortgeschrittene:
Die Testautomatisierung spielt eine sehr wichtige Rolle im gesamten Software-Lebenszyklus. Wenn wir uns auf ein Interview mit Automatisierungstests vorbereiten möchten, konzentrieren wir uns meistens nur auf werkzeugspezifische Fragen.
Wir sollten jedoch auch die Tatsache berücksichtigen, dass das Erlernen und Kennenlernen des Tools nur ein Mittel ist und nicht das ultimative Ziel ist.
Wenn wir uns also auf ein Interview mit einem Automatisierungstester vorbereiten, müssen wir „Automatisierung“ als Ganzes betrachten und uns auf das Framework und die damit verbundenen Schritte konzentrieren.
Wir alle wissen, dass Softwaretests ein sehr wichtiger Bestandteil der Softwareentwicklung sind. Mit den schnell wachsenden Softwareentwicklungsmethoden und -umgebungen wird es jedoch schwierig, alles für eine Anwendung innerhalb einer begrenzten Zeit manuell zu testen, zusammen mit Kostenbeschränkungen.
Daher wachsen Automatisierungstests auf dem Markt schnell, um das Entwicklungstempo zu beschleunigen. Dieses Tutorial enthält wichtige Interviewfragen zu Automatisierungstests. Ich habe versucht, die kurzen und schnellen Fragen zu zitieren, die für die gesamte Automatisierung sehr spezifisch sind und für kein „Werkzeug“ spezifisch sind.
Top 39 Interviewfragen zu Automatisierungstests
Wir haben grundlegende Fragen zur Testautomatisierung sowie einige fortgeschrittene Fragen für Kandidaten der Mittel- bis Expertenstufe mit einer Erfahrung von bis zu 2 bis 5 Jahren behandelt.
F # 1) Was ist Automatisierung?
Antworten: Automatisierung ist jede Aktion, die den menschlichen Aufwand reduzieren kann.
F # 2) Was sind Automatisierungstests?
Antworten: Der Prozess der Verwendung spezieller Softwaretools oder Skripte zum Ausführen von Testaufgaben wie Dateneingabe, Ausführen der Testschritte und Vergleichen der Ergebnisse usw. wird als Automatisierungstest bezeichnet.
F # 3) Was alles können Sie automatisieren?
Antworten:
- Regressionstestsuite
- Rauch- / Sanity-Testsuite
- Erstellen Sie die Bereitstellung
- Testdatenerstellung
- Automatisierung hinter der GUI wie das Testen von APIs und Methoden.
F # 4) Wann sind Automatisierungstests sinnvoll?
Antworten: Automatisierungstests sind in den folgenden Szenarien hilfreich:
a) Regressionstests: Im Falle einer Fehlerbehebung oder einer neuen Modulimplementierung müssen wir sicherstellen, dass die bereits implementierte oder unveränderte Funktionalität nicht beeinträchtigt wird. In diesem Fall führen wir den Regressionstestfall am Ende mehrmals aus.
Zum Beispiel: Nach jeder Änderungsanforderung oder Fehlerbehebung, nach jeder Iteration im Falle eines inkrementellen Entwicklungsansatzes usw.
b) Nichtfunktionale Prüfung: Testen der nicht funktionalen Aspekte einer Anwendung.
Zum Beispiel, Lasttests oder Leistungstests usw. sind für Menschen sehr schwer zu verfolgen und zu analysieren.
c) Komplexe Berechnung Überprüfungen oder Testszenarien, die für menschliche Fehler anfällig sind.
d) Wiederholte Durchführung derselben Tests: Manchmal müssen wir denselben Testfallsatz für einen anderen Datensatz oder nach jeder Build-Version oder auf mehreren Hardware-, Software- oder Kombinationen aus beiden ausführen.
Die Automatisierung der Testfälle in den oben genannten Szenarien hilft dabei, die Testgeschwindigkeit zu erreichen und menschliche Fehler zu minimieren.
F # 5) Wie identifizieren Sie die für die Automatisierung geeigneten Testfälle?
Antworten: Die Ermittlung der geeigneten Testfälle für die Automatisierung ist der wichtigste Schritt zur Automatisierung.
F # 6) Können Sie eine 100% ige Automatisierung erreichen?
Antworten: Eine 100% ige Automatisierung wäre schwierig zu erreichen, da es viele Randtestfälle gibt und einige Fälle selten ausgeführt werden. Durch die Automatisierung dieser Fälle, die häufig nicht ausgeführt werden, wird die automatisierte Suite nicht aufgewertet.
F # 7) Wie kann man entscheiden, welches Tool man für Automatisierungstests in seinen Projekten verwenden soll?
Antwort: Um das Tool für Automatisierungstests in Ihrem Projekt zu identifizieren:
zu) Verstehen Sie Ihre Projektanforderungen gründlich und identifizieren Sie die Testszenarien, die Sie automatisieren möchten.
b) Suchen Sie nach der Liste der Tools, die die Anforderungen Ihres Projekts unterstützen.
c) Identifizieren Sie Ihr Budget für das Automatisierungstool. Wählen Sie die Tools in Ihrem Budget aus.
d) Stellen Sie fest, ob Sie bereits über qualifizierte Ressourcen für die Tools verfügen. Wenn Sie nicht über die erforderlichen qualifizierten Ressourcen verfügen, ermitteln Sie die Kosten für die Schulung der vorhandenen Ressourcen oder die Einstellung neuer Ressourcen.
ist) Vergleichen Sie nun jedes Tool auf wichtige Kriterien wie:
- Wie einfach ist es, die Skripte für das Tool zu entwickeln und zu pflegen?
- Kann eine nicht-technische Person die Testfälle auch mit wenig Schulung ausführen?
- Unterstützt das Tool verschiedene Arten von Plattformen wie Web, Mobile, Desktop usw., basierend auf Ihren Projektanforderungen?
- Verfügt das Tool über eine Testberichterstellungsfunktion? Wenn nicht, ist es für das Tool leicht konfigurierbar?
- Wie ist das Tool für die browserübergreifende Unterstützung für webbasierte Anwendungen?
- Wie viele verschiedene Testtypen kann dieses Tool unterstützen?
- Wie viele Sprachen unterstützt das Tool?
f) Nachdem Sie die Tools verglichen haben, wählen Sie das Tool aus, das Ihrem Budget entspricht, und unterstützen Sie Ihre Projektanforderungen. Auf der Grundlage der oben genannten Schlüsselkriterien erhalten Sie weitere Vorteile.
F # 8) Derzeit ist in meinem Projekt keine Automatisierung vorhanden, aber jetzt möchte ich die Automatisierung implementieren. Was wären meine Schritte?
Antworten:
- Identifizieren Sie zunächst, welche Art von Tests / Testfällen Sie automatisieren möchten.
- Identifizieren Sie das Werkzeug
- Entwerfen Sie das Framework
- Erstellen Sie Dienstprogrammdateien und Umgebungsdateien.
- Starten Sie die Skripterstellung
- Identifizieren und bearbeiten Sie die Berichterstellung.
- Zuweisen von Zeit zum Verbessern und Verwalten der Skripte.
Zu den Schritten, die erforderlich sind, um Automatisierungstests für ein Projekt durchzuführen, gehören:
- Verstehen Sie die Vor- und Nachteile von Automatisierungstests und identifizieren Sie die für die Automatisierung geeigneten Testszenarien.
- Wählen Sie das Automatisierungstool aus, das für die Automatisierung der identifizierten Szenarien am besten geeignet ist
- Suchen Sie den Tool-Experten, der Sie beim Einrichten des Tools und der erforderlichen Umgebung für die Ausführung der Testfälle mit dem Tool unterstützt.
- Trainieren Sie das Team so, dass es Skripte in der vom Tool unterstützten Programmiersprache schreiben kann.
- Erstellen Sie das Testframework oder identifizieren Sie das bereits vorhandene, das Ihren Anforderungen entspricht.
- Schreiben Sie einen Ausführungsplan für Betriebssysteme, Browser, mobile Geräte usw.
- Schreiben Sie Programmierskripte für manuelle Testfälle, um sie in automatisierte Testfälle umzuwandeln.
- Melden Sie den Testfallstatus mithilfe der Berichtsfunktion des Tools.
- Pflegen Sie die Skripte für laufende Änderungen oder neue Funktionen.
F # 9) Wie entscheiden Sie, welches Tool Sie verwenden müssen?
Antworten: Abschließend Welches Werkzeug ist am besten geeignet? Für das Projekt sind viele Brainstormings und Diskussionen erforderlich.
F # 10) Wenn Sie das Tool identifiziert haben, was wären Ihre nächsten Schritte?
Antworten: Sobald wir das Tool fertiggestellt haben, besteht unser nächster Schritt darin, das Framework zu entwerfen.
F # 11) Was ist ein Framework?
Antworten: Ein Framework ist ein Satz der Struktur der gesamten Automatisierungssuite. Es ist auch eine Richtlinie, deren Befolgung zu einer Struktur führen kann, die leicht zu warten und zu verbessern ist.
Diese Richtlinien umfassen:
- Codierungsstandards
- Umgang mit den Testdaten
- Pflege und Handhabung der Elemente (Objekt-Repository in QTP)
- Umgang mit Umgebungsdateien und Eigenschaftendateien
- Berichterstattung über Daten
- Umgang mit Protokollen
F # 12) Was sind die Attribute eines guten Frameworks?
Antwort: Die Eigenschaften umfassen:
- Modular: Der Rahmen sollte an Veränderungen anpassbar sein. Tester sollten in der Lage sein, die Skripte gemäß der Änderung der Umgebung oder der Anmeldeinformationen zu ändern.
- Wiederverwendbar: Die häufig verwendeten Methoden oder Dienstprogramme sollten in eine gemeinsame Datei geschrieben werden, auf die alle Skripte zugreifen können.
- Konsistent: Die Suite sollte in einem konsistenten Format geschrieben werden, indem alle akzeptierten Codierungspraktiken befolgt werden.
- Unabhängig: Die Skripte sollten so geschrieben sein, dass sie unabhängig voneinander sind. Falls ein Test fehlschlägt, sollte er die verbleibenden Testfälle nicht zurückhalten (es sei denn, es handelt sich um eine Anmeldeseite).
- Protokolle: Es ist gut, die Protokollierungsfunktion im Framework implementiert zu haben. Dies ist hilfreich, wenn unsere Skripte länger ausgeführt werden (z. B. im nächtlichen Modus). Wenn das Skript zu einem bestimmten Zeitpunkt fehlschlägt, können wir anhand der Protokolldatei den Speicherort zusammen mit der Art des Fehlers ermitteln.
- Berichterstattung: Es ist gut, die Berichtsfunktion automatisch in das Framework einzubetten. Sobald die Skripterstellung abgeschlossen ist, können wir die Ergebnisse und Berichte per E-Mail senden lassen.
- Integration: Das Automation Framework sollte so gestaltet sein, dass es einfach in andere Anwendungen wie die kontinuierliche Integration oder das Auslösen des automatisierten Skripts zu integrieren ist, sobald der Build bereitgestellt wird.
F # 13) Können Sie auf ein Framework verzichten?
Antworten: Frameworks sind Richtlinien und keine verbindlichen Regeln, daher können wir auf ein Framework verzichten. Wenn wir es jedoch erstellen und befolgen, ist die Verbesserung und Wartung einfach zu implementieren.
F # 14) Welche verschiedenen Arten des Automatisierungstools sind Ihnen bekannt?
Antworten: Open Source Tool wie Selenium, JMeter usw.
Bezahlte Tools wie QTP, Load Runner, Ranorex, RFT und Rational Robot.
F # 15) Wie ist ein Framework im Allgemeinen aufgebaut?
Antworten: Normalerweise sollte die Struktur haben - (Es würde von Projekt zu Projekt unterschiedlich sein)
- Ein 'src' -Ordner (Quellordner) mit den eigentlichen Testskripten.
- Ein Ordner 'lib' (Bibliothek) mit allen Bibliotheken und allgemeinen Methoden.
- Ein 'Klassen' -Ordner mit der gesamten Klassendatei (falls Java verwendet wird).
- Ein 'Protokoll' -Ordner mit den Protokolldateien.
- Eine Datei / ein Ordner mit allen Webelement-IDs.
- Eine Datei mit den URL-, Umgebungs- und Anmeldeinformationen.
Q # 16) Wo werden Sie Informationen wie URL, Login, Passwort aufbewahren?
Antworten: Diese Informationen sollten immer in einer separaten Datei gespeichert werden.
F # 17) Warum möchten Sie diese Art von Informationen in einer separaten Datei und nicht direkt im Code speichern?
Antworten: URL, Login und Passwörter werden häufig verwendet und ändern sich je nach Umgebung und Berechtigung. Falls wir es fest in unseren Code codieren, müssen wir es in jeder Datei ändern, die seine Referenz hat.
Wenn mehr als 100 Dateien vorhanden sind, ist es sehr schwierig, alle 100 Dateien zu ändern, was wiederum zu Fehlern führen kann. Diese Art von Informationen wird also in einer separaten Datei gespeichert, so dass die Aktualisierung einfach wird.
F # 18) Was sind die verschiedenen Arten von Frameworks?
Antworten: Verschiedene Arten von Frameworks umfassen:
- Keyword-gesteuertes Framework
- Datengesteuertes Framework
- Hybrid Framework
- Lineares Scripting
Q # 19) Können Sie einige gute Codierungspraktiken während der Automatisierung erläutern?
Antworten: Einige der guten Codierungspraktiken umfassen:
- Fügen Sie entsprechende Kommentare hinzu.
- Identifizieren Sie die wiederverwendbaren Methoden und schreiben Sie sie in eine separate Datei.
- Befolgen Sie die sprachspezifischen Codierungskonventionen.
- Pflegen Sie die Testdaten in einer separaten Datei.
- Führen Sie Ihre Skripte regelmäßig aus.
F # 20) Gibt es Tests, die Ihrer Meinung nach nicht automatisiert werden sollten?
Antworten:
- Tests, die selten ausgeführt werden.
- Versuchsforschung
- Usability-Tests
- Test, der schnell ausgeführt wird, wenn er manuell durchgeführt wird.
Q # 21) Denken Sie, dass Tests nur auf der Ebene der Benutzeroberfläche durchgeführt werden können?
Bash Dateien zeilenweise vergleichen
Antworten: Wenn wir heute in den agilen Modus wechseln, ist das Testen nicht auf die UI-Ebene beschränkt. Frühes Feedback ist für ein agiles Projekt unerlässlich. Wenn wir uns nur auf die UI-Ebene konzentrieren, warten wir tatsächlich, bis die UI entwickelt und zum Testen verfügbar ist.
Vielmehr können wir testen, noch bevor die Benutzeroberfläche tatsächlich entwickelt wird. Wir können die APIs oder Methoden direkt mit Tools wie Cucumber und testen FitNesse .
Auf diese Weise geben wir das Feedback sehr früh und testen es bereits vor der Entwicklung der Benutzeroberfläche. Das Befolgen dieses Ansatzes hilft uns, nur den GUI-Aspekt kleiner kosmetischer Änderungen oder einiger Validierungen auf der Benutzeroberfläche zu testen, und hilft den Entwicklern, indem wir mehr Zeit für die Behebung der Fehler geben.
F # 22) Wie wählen Sie das für Sie am besten geeignete Automatisierungstool aus?
Antworten: Die Auswahl des Automatisierungstools hängt von verschiedenen Faktoren ab, z.
- Der Umfang der Anwendung, die wir automatisieren möchten.
- Verwaltungsaufwand wie Kosten und Budget.
- Zeit zum Erlernen und Implementieren des Tools.
- Art der für das Tool verfügbaren Unterstützung.
- Einschränkung des Werkzeugs
Q # 23) Was hält Ihrer Meinung nach die Tester davon ab, Automatisierung zu betreiben? Gibt es eine Möglichkeit, dies zu überwinden?
Antworten: Die größte Hürde für Tester besteht darin, das Programmieren / Codieren zu lernen, wenn sie automatisieren möchten. Da Tester nicht codieren, ist die Anpassung an die Codierung für Tester eine Herausforderung.
Wir können es überwinden, indem wir:
- Zusammenarbeit mit Entwicklern bei der Automatisierung.
- In Anbetracht dessen, dass die Automatisierung in der Verantwortung des gesamten Teams und nicht nur der Tester liegt.
- Geben Sie eine bestimmte Zeit und konzentrieren Sie sich auf die Automatisierung.
- Richtige Managementunterstützung erhalten.
Sie können diese Fragen zum Interview mit Automatisierungstests als PDF speichern und zur weiteren Lektüre ausdrucken.
F # 24) Was ist ein Automatisierungstest-Framework?
Antworten: Ein Rahmen besteht im Allgemeinen aus einer Reihe von Richtlinien. Eine Reihe von Richtlinien, Annahmen, Konzepten und Codierungspraktiken zum Erstellen einer Ausführungsumgebung, in der die Tests automatisiert werden, wird als Automatisierungstest-Framework bezeichnet.
Ein Automatisierungstest-Framework ist dafür verantwortlich, ein Testkabel mit einem Mechanismus zu erstellen, mit dem eine Verbindung mit der zu testenden Anwendung hergestellt, Eingaben aus einer Datei vorgenommen, die Testfälle ausgeführt und die Berichte für die Testausführung generiert werden können. Ein Automatisierungstest-Framework sollte unabhängig von der Anwendung sein und einfach zu verwenden, zu ändern oder zu erweitern sein.
F # 25) Was sind die wichtigen Module eines Automatisierungstest-Frameworks?
Antworten: Wichtige Module eines Automatisierungstest-Frameworks sind:
- Test Assertion Tool: Dieses Tool bietet Assert-Anweisungen zum Testen der erwarteten Werte in der zu testenden Anwendung. Zum Beispiel. TestNG, Junit usw.
- Dateneinrichtung: Jeder Testfall muss die Benutzerdaten entweder aus der Datenbank oder aus einer Datei entnehmen oder in das Testskript eingebettet sein. Das Frameworks-Datenmodul sollte sich um die Datenaufnahme für Testskripte und die globalen Variablen kümmern.
- Build Management Tool: Für die Erstellung von Testskripten muss ein Framework erstellt und bereitgestellt werden.
- Tool zur kontinuierlichen Integration: Mit CICD (Continuous Integration and Continuous Development) ist ein Tool zur kontinuierlichen Integration erforderlich, um die im Framework bei jeder Iteration vorgenommenen Änderungen zu integrieren und bereitzustellen.
- Berichterstellungstool: Ein Berichtstool ist erforderlich, um nach Ausführung der Testfälle einen lesbaren Bericht zu erstellen, um die Schritte, Ergebnisse und Fehler besser anzeigen zu können.
- Protokollierungswerkzeug: Das Protokollierungstool im Framework hilft beim besseren Debuggen von Fehlern und Fehlern.
F # 26) Erläutern Sie einige Automatisierungstest-Tools.
Antworten: Einige der bekannten Automatisierungstest-Tools werden nachfolgend erläutert:
(i) Selen : Selen ist ein Testframework für Tests zur Automatisierung von Webanwendungen. Es unterstützt mehrere Browser und ist vom Betriebssystem unabhängig. Selenium unterstützt auch verschiedene Programmiersprachen wie Java, C #, PHP, Ruby und Perl usw.
Selen ist ein Open-Source-Satz von Bibliotheken, mit denen zusätzliche Testframeworks oder Testskripte zum Testen von webbasierten Anwendungen entwickelt werden können.
(ii) UFT : Unified Functional Testing ist ein lizenziertes Tool für Funktionstests. Es bietet eine breite Palette von Funktionen wie APIs, Webdienste usw. und unterstützt auch mehrere Plattformen wie Desktops, Web und Mobile. UFT-Skripte werden in einer visuellen Basisskriptsprache geschrieben.
(Ii) Epochen : Appium ist ein Open-Source-Tool zum Testen mobiler Anwendungen. Es wird verwendet, um Tests in plattformübergreifenden, nativen, hybriden und webbasierten mobilen Anwendungen zu automatisieren. Appium automatisiert jede mobile Anwendung aus jeder Sprache mit vollem Zugriff auf APIs und DBs aus dem Testcode.
Appium basiert auf der Client-Server-Architektur und hat sich aus Selen entwickelt.
(iv) Gurke : Cucumber ist ein verhaltensgesteuertes Open-Source-Entwicklungswerkzeug. Es wird für webbasierte Tests zur Anwendungsautomatisierung verwendet und unterstützt Sprachen wie Ruby, Java, Scala, Groovy usw. Cucumber liest ausführbare Spezifikationen im Klartext und testet die zu testende Anwendung auf diese Spezifikationen.
Damit Gurke die Szenarien im Klartext versteht, müssen wir einige grundlegende Syntaxregeln befolgen, die als Gurke bekannt sind.
(v) TestComplete : TestComplete ist ein lizenziertes automatisiertes UI-Testtool zum Testen der Anwendung auf verschiedenen Plattformen wie Desktops, Web, Mobile usw. Es bietet Flexibilität, um einen Testfall in einem Browser aufzuzeichnen und in mehreren Browsern auszuführen, und unterstützt somit browserübergreifende Tests.
TestComplete verfügt über einen integrierten Objekterkennungsalgorithmus, der ein Objekt eindeutig identifiziert und im Repository speichert.
F # 27) Welche verschiedenen Arten von Test-Framework-Techniken gibt es?
Antworten: Es gibt vier Arten von Framework-Techniken für Automatisierungstests.
Sie sind:
(i) Modulares Test-Framework:
Dieser Rahmen basiert auf dem Konzept der Abstraktion. In diesem Framework erstellt der Tester Skripts für jedes Modul der zu testenden Anwendung einzeln und kombiniert diese Skripte dann in der hierarchischen Reihenfolge, um große Testfälle zu erstellen.
Es wird eine Abstraktionsschicht zwischen den Modulen erstellt, sodass Änderungen an Testskripten für ein Modul keine Auswirkungen auf andere Module haben.
Vorteile dieses Rahmens:
- Einfachere Wartung und Skalierbarkeit von Testfällen.
- Das Erstellen von Testfällen mithilfe bereits geschriebener Module ist einfacher und schneller.
Nachteile:
- In Testfällen sind Daten eingebettet. Das Ausführen desselben Testskripts mit unterschiedlichen Daten ist daher eine große Änderung auf Skriptebene.
(ii) Rahmen für datengesteuerte Tests:
Im datengesteuerten Testframework werden die Eingabedaten und die erwarteten Ausgabedaten, die den Eingabedaten entsprechen, in einer Datei oder Datenbank gespeichert, und das automatisierte Skript führt denselben Satz von Testschritten für mehrere Datensätze aus. Mit diesem Framework können wir mehrere Testfälle ausführen, bei denen sich nur die Eingabedaten unterscheiden und die Ausführungsschritte gleich sind.
Vorteile:
- Reduziert die Anzahl der Testskripte, die ausgeführt werden müssen. Wir führen dasselbe Skript mehrmals mit unterschiedlichen Daten aus.
- Weniger Codierung für Automatisierungstests.
- Höhere Flexibilität bei der Wartung und Behebung der Fehler oder bei der Verbesserung der Funktionalität.
- Testdaten können bereits erstellt werden, bevor das automatisierte Testsystem bereit ist.
Nachteile:
- Für mehrere Datensätze können nur ähnliche Testfälle mit demselben Satz von Ausführungsschritten kombiniert werden. Die verschiedenen Ausführungsschritte erfordern einen anderen Testfall.
(iii) Keyword-Driven Testing Framework:
Es ist ein anwendungsunabhängiges Testframework, das Datentabellen und selbsterklärende Schlüsselwörter verwendet. Schlüsselwörter erläutern die Aktionen, die für die zu testende Anwendung ausgeführt werden sollen, und die Datentabelle enthält die Eingabe- und erwarteten Ausgabedaten.
Das schlüsselwortbasierte Testen ist eine Erweiterung des datengesteuerten Testens.
Vorteile:
- Weniger Codierung und dasselbe Skript können für mehrere Datensätze verwendet werden.
- Automatisierungskenntnisse sind nicht erforderlich, um einen Testfall mit den bereits vorhandenen Schlüsselwörtern für Aktionen zu erstellen.
- Dieselben Schlüsselwörter können für mehrere Testfälle verwendet werden.
Nachteile:
- Dieses Framework ist komplizierter, da es sich um die Keyword-Aktionen und auch um die Dateneingabe kümmern muss.
- Testfälle werden länger und komplexer, wodurch die Wartbarkeit beeinträchtigt wird.
(iv) Rahmen für Hybridtests:
Dieses Framework ist eine Kombination aller oben genannten Test-Frameworks (modular, datengesteuert und schlüsselwortgesteuert).
In diesem Framework werden die Testfälle aus modularen Skripten entwickelt, indem sie im modularen Testframework kombiniert werden. Jeder der Testfälle verwendet ein Treiberskript, das eine Datendatei wie im datengesteuerten Framework und eine schlüsselwortbasierte Aktionsdatei verwendet.
Vorteile:
- Modular und wartungsfreundlich.
- Weniger Codierung kann für mehr Testfälle sorgen.
- Ein Testfall kann mit mehreren Datensätzen ausgeführt werden.
Nachteile:
- Komplex zu lesen, zu pflegen und zu verbessern.
F # 28) Wann bevorzugen Sie manuelle Tests gegenüber Automatisierungstests?
Antworten: In den folgenden Fällen bevorzugen wir manuelle Tests gegenüber Automatisierungstests:
- Das Projekt ist kurzfristig und das Schreiben von Skripten ist im Vergleich zu manuellen Tests zeitaufwändig und kostspielig.
- Flexibilität ist erforderlich. Automatisierte Testfälle werden in einer bestimmten Konfigurationsweise programmiert und ausgeführt.
- Usability-Tests müssen durchgeführt werden.
- Anwendungen / Modul ist neu entwickelt und hat keine vorherigen Testfälle.
- Ad-hoc- oder Sondierungstests müssen durchgeführt werden.
F # 29) Sind Automatisierungstests in agilen Methoden nützlich oder nicht?
Antworten: Automatisierungstests sind nützlich für Regressions-, Rauch- oder Gesundheitstests. Alle diese Arten von Tests im traditionellen Wasserfallmodell finden am Ende des Zyklus statt. Wenn die Anwendung nicht viele Verbesserungen aufweist, müssen wir sie möglicherweise nicht einmal durchführen Regressionstests .
Während in agile Methodik Für jede Iteration muss der Regressionstestfall ausgeführt werden, da einige neue Funktionen hinzugefügt werden.
Außerdem wächst die Regressionssuite selbst nach jedem Sprint weiter, da die Funktionstestfälle des aktuellen Sprintmoduls für den nächsten Sprint zur Regressionssuite hinzugefügt werden müssen.
Daher sind Automatisierungstests in agilen Methoden sehr nützlich und tragen dazu bei, eine maximale Testabdeckung in kürzerer Zeit des Sprints zu erreichen.
F # 30) Nennen Sie einige Vor- und Nachteile von Automatisierungstests.
Antworten:
Vorteile:
- Weniger Personal
- Wiederverwendbarkeit
- Mehr Testabdeckung in kürzerer Zeit
- Verlässlichkeit
- Parallele Ausführung von Testfällen
- Schnell
Nachteile:
sleep () c ++
- Entwicklungs- und Wartungszeit ist mehr.
- Werkzeugkosten
- Qualifizierte Ressourcen sind erforderlich.
- Umgebung einrichten
- Das Debuggen von Testskripten ist ein Problem.
F # 31) Nennen Sie einige Vor- und Nachteile des manuellen Testens.
Antworten:
Vorteile:
- Keine Umgebungseinstellung erforderlich.
- Programmierkenntnisse sind nicht erforderlich.
- Empfohlen für sich dynamisch ändernde Anforderungen.
- Ermöglichen Sie der menschlichen Beobachtungsgabe, mehr Fehler zu erkennen.
- Bei kurzfristigen Projekten sind die Kosten geringer.
- Flexibilität
Nachteile:
- Schwierige komplexe Berechnungen durchzuführen.
- Wiederverwendbarkeit
- Zeit in Anspruch nehmen
- Hohes Risiko menschlicher Fehler oder Irrtümer.
- Es sind mehr Humanressourcen erforderlich.
F # 32) Können wir Automatisierungstests ohne Framework durchführen? Wenn ja, warum brauchen wir dann einen Rahmen?
Antworten: Ja, wir können Automatisierungstests auch ohne Verwendung eines Frameworks durchführen. Wir können nur das Tool verstehen, das wir für die Automatisierung verwenden, und die Schritte in der Programmiersprache programmieren, die die Tools unterstützen.
Wenn wir Testfälle ohne Framework automatisieren, gibt es keine Konsistenz in den Programmierskripten für Testfälle.
Ein Framework ist erforderlich, um eine Reihe von Richtlinien anzugeben, die jeder befolgen muss, um die Lesbarkeit, Wiederverwendbarkeit und Konsistenz der Testskripte zu gewährleisten. Ein Framework bietet auch eine gemeinsame Grundlage für Berichts- und Protokollierungsfunktionen.
F # 33) Wie automatisieren Sie grundlegende Testfälle für Anmeldefunktionen für eine Anwendung?
Antworten: Angenommen, das Automatisierungstool und das Framework befinden sich bereits anstelle der Testumgebung.
So testen Sie die grundlegenden Anmeldefunktionen:
- Verstehen Sie die Projektanforderungen : Die Anmeldefunktion verfügt über ein Textfeld für den Benutzernamen, ein Textfeld für das Kennwort und eine Anmeldeschaltfläche.
- Identifizieren Sie die Testszenarien: Für die Anmeldefunktion sind folgende Testszenarien möglich:
- Leerer Benutzername und Passwort
- ungültiger Benutzername und Passwort
- Ein gültiger Benutzername und ein ungültiges Passwort
- Gültiger Benutzername und Passwort
- Bereite ein ..... vor Dateneingabedatei mit den Daten für jedes Szenario.
- Starten Sie das Tool aus dem Programm.
- Identifizieren Sie das Feld Benutzername, Passwort und die Anmeldeschaltfläche.
- Holen Sie sich für jedes Testszenario die Daten aus der Datendatei und geben Sie die entsprechenden Felder ein. Programm Klicken Sie nach Eingabe der Daten auf die Login-Schaltfläche.
- Bestätigen die Fehlermeldung für negative Szenarien und die Erfolgsmeldung für positive Szenarien im Testskript mit Hilfe von Zusicherungen.
- Lauf die Testsuite und generieren Sie den Bericht.
F # 34) Ist das Testen der Automatisierung ein Black-Box-Test oder ein White-Box-Test?
Antworten: Automatisierungstests sind meistens a Black-Box-Test Wir programmieren nur die Schritte, die ein manueller Tester für die zu testende Anwendung ausführt, ohne das Design oder den Code der Anwendung auf niedriger Ebene zu kennen.
Manchmal benötigen automatisierte Testskripte Zugriff auf die Datenbankdetails, die in der zu testenden Anwendung verwendet werden, oder auf einige weitere Codierungsdetails und können daher eine Art White-Box-Test sein.
Somit können automatisierte Tests je nach den Szenarien, in denen die Automatisierung durchgeführt wird, sowohl Black- als auch White-Box-Tests sein.
F # 35) Wie viele Testfälle haben Sie pro Tag automatisiert?
Antworten: Nun, die Anzahl hängt von der Komplexität der Testfälle ab. Wenn die Komplexität begrenzt war, konnte ich 5 bis 6 Testfälle pro Tag automatisieren. Manchmal konnte ich nur einen Testfall für komplexe Szenarien automatisieren.
Ich habe meine Testfälle auch in verschiedene Komponenten unterteilt, z. B. Eingaben vornehmen, Berechnungen durchführen, Ausgaben überprüfen usw. bei sehr komplexen Szenarien und 2 oder mehr Tage in Anspruch genommen.
F # 36) Welche Faktoren bestimmen die Wirksamkeit von Automatisierungstests?
Antwort: Einige der Faktoren, die die Wirksamkeit von Automatisierungstests bestimmen, sind:
- Zeitersparnis durch Ausführen von Skripten über die manuelle Ausführung von Testfällen.
- Defekte gefunden
- Testabdeckung oder Codeabdeckung
- Wartungszeit oder Entwicklungszeit
- Stabilität der Skripte
- Wiederverwendbarkeit testen
- Qualität der zu testenden Software
F # 37) Welche Testfälle können automatisiert werden?
Antworten: Arten von Testfällen, die automatisiert werden können, sind:
(i) Rauchtestfälle: Rauchtests werden auch als Build-Verifikationstests bezeichnet. Rauchtestfälle werden jedes Mal ausgeführt, wenn ein neuer Build veröffentlicht wird, um den Zustand des Builds auf Akzeptanz für die Durchführung von Tests zu überprüfen.
(ii) Regressionstestfälle : Regressionstests sind Tests, um sicherzustellen, dass zuvor entwickelte Module wie erwartet funktionieren, nachdem ein neues Modul hinzugefügt oder ein Fehler behoben wurde.
Regressionstestfälle sind im inkrementellen Softwareansatz sehr wichtig, bei dem in jeder Inkrementierungsphase eine neue Funktionalität hinzugefügt wird. In diesem Fall wird in jeder inkrementellen Phase ein Regressionstest durchgeführt.
(iii) Testfälle für komplexe Berechnungen: Testfälle, die einige komplexe Berechnungen zur Überprüfung eines Felds für eine Anwendung beinhalten, fallen in diese Kategorie. Komplexe Berechnungsergebnisse sind anfälliger für menschliche Fehler, daher liefern sie bei Automatisierung genaue Ergebnisse.
(iv) Datengesteuerte Testfälle: Testfälle, die denselben Schrittsatz haben und mit der Datenänderung mehrmals ausgeführt werden, werden als datengesteuerte Testfälle bezeichnet. Automatisierte Tests für diese Art von Testfällen sind schnell und kostengünstig.
(v) Nicht funktionierende Testfälle : Testfälle wie Lasttests und Leistungstests erfordern eine simulierte Umgebung mit mehreren Benutzern und mehreren Hardware- oder Softwarekombinationen.
Das manuelle Einrichten mehrerer Umgebungen ist für jede Kombination oder Anzahl von Benutzern nicht möglich. Automatisierte Tools können diese Umgebung problemlos erstellen, um problemlos nicht funktionierende Tests durchzuführen.
F # 38) Was sind die Phasen im Lebenszyklus von Automatisierungstests?
Antwort: Die Phasen im Lebenszyklus von Automatisierungstests umfassen:
- Die Entscheidung, Automatisierungstests durchzuführen.
- Identifizieren und lernen Sie das Automatisierungstool kennen.
- Bestimmen Sie den Umfang der Automatisierungstests.
- Entwerfen und entwickeln Sie eine Testsuite.
- Test Ausführung
- Pflege von Testskripten.
F # 39) Was ist ein automatisiertes Testskript?
Antworten: Ein automatisiertes Testskript ist ein kurzes Programm, das in einer Programmiersprache geschrieben ist, um eine Reihe von Anweisungen für eine zu testende Anwendung auszuführen und zu überprüfen, ob die Anwendung den Anforderungen entspricht.
Dieses Programm gibt beim Ausführen die Testergebnisse als bestanden an oder hängt nicht davon ab, ob die Anwendung den Erwartungen entspricht.
Fazit
Dies sind die Hauptfragen, die unabhängig vom Automatisierungstool oder der Programmiersprache sind. Interviews zu Automatisierungstests enthalten auch werkzeug- und programmiersprachenspezifische Fragen, je nachdem, mit welchem Werkzeug Sie gearbeitet haben.
Die meisten Fragen zu Testautomatisierungsinterviews beziehen sich auf das von Ihnen entwickelte Framework. Es wird daher empfohlen, dass Sie Ihr Test-Framework gründlich erstellen und verstehen. Wenn ich interviewe und der Kandidat meine Frage zum Framework beantwortet hat, stelle ich auch lieber eine sprachspezifische Frage (in meinem Fall Core Java).
Die Fragen beginnen mit den Grundlagen von Java, um die Logik eines grundlegenden Szenarios wie:
- Wie würden Sie einen Satz Text aus einer bestimmten Zeile extrahieren?
- Wie würden Sie die URL extrahieren?
- Auf jeder Webseite, in jedem Frame ändern sich die Anzahl der Links und deren Inhalt dynamisch. Wie würden Sie damit umgehen?
- Wie gehen Sie mit Bildern und Flash-Objekten um?
- Wie findet man ein Wort in einer Zeile?
Antworten auf all diese Fragen Fragen zum Interview mit Testautomatisierung sind sehr spezifisch für das Tool / die Sprache, die Sie für die Automatisierung verwenden. Bevor Sie zum Interview gehen, sollten Sie Ihre Programmierkenntnisse auffrischen.
Falls Sie keine Gelegenheit hatten, Ihr Framework zu erstellen, und jemand anderes es erstellt hat, nehmen Sie sich etwas Zeit, um es gründlich zu verstehen, bevor Sie sich für das Interview setzen.
Einige Tipps für Interviews mit Automatisierungstests wären:
- Kennen Sie Ihr Werkzeug genau.
- Lernen Sie die von Ihrem Werkzeug verwendeten Ortungstechniken.
- Üben Sie das Programmieren in der Sprache, die Sie für Automatisierungstests verwenden.
- Lernen Sie Ihr Framework und seine Komponenten kennen.
- Es ist immer von Vorteil, wenn Sie an der Entwicklung Ihres Frameworks beteiligt waren. Seien Sie also gründlich mit den Modulen in dem Framework, an dem Sie gearbeitet haben.
Ich hoffe, diese Fragen sind hilfreich für Sie, um sich auf ein Interview zur Testautomatisierung vorzubereiten.
Literatur-Empfehlungen
- Interview Fragen und Antworten
- Fragen und Antworten zum ETL-Testinterview
- Einige interessante Fragen zu Softwaretests
- 25 Fragen und Antworten zu den besten Agile Testing-Interviews
- Top 20 der wichtigsten Fragen und Antworten zu API-Tests
- Fragen und Antworten zum Testen von Software (Teil 1)
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)
- Top 30 Fragen und Antworten zum Interview mit Sicherheitstests