Interviewfragen und -antworten – manuelles Testen

Bereiten Sie sich auf Vorstellungsgespräche für Softwaretests mit unserer umfassenden Checkliste für manuelle Tests mit 114 Fragen vor, die sowohl für Anfänger als auch für erfahrene Bewerber geeignet ist.
Inhaltsübersicht
Interviewfragen zum manuellen Testen für Neueinsteiger
Frage Nr. 1. Was verstehen Sie unter Softwaretests?
Antwort: Beim Softwaretest wird ein System evaluiert, um zu prüfen, ob es die Geschäftsanforderungen erfüllt. Sie misst die Gesamtqualität des Systems anhand von Attributen wie Korrektheit, Vollständigkeit, Benutzerfreundlichkeit, Leistung usw. Sie dient im Wesentlichen dazu, die Qualität der Software für die an der Anwendung Beteiligten zu gewährleisten.
Frage Nr. 2. Warum ist eine Prüfung notwendig?
Antwort: Wir brauchen Softwaretests aus folgenden Gründen:
- Tests geben den Beteiligten die Sicherheit, dass das Produkt wie vorgesehen funktioniert.
- Vermeidbare Fehler, die ohne ordnungsgemäße Tests an den Endbenutzer/Kunden weitergegeben werden, verschaffen dem Entwicklungsunternehmen einen schlechten Ruf.
- Fehler, die zu einem früheren Zeitpunkt im SDLC entdeckt werden, führen zu geringeren Kosten und einem geringeren Ressourcenverbrauch für die Reparatur.
- Spart Entwicklungszeit, da Probleme früher in der Entwicklung erkannt werden.
- Das Testteam fügt der Softwareentwicklung eine weitere Dimension hinzu, indem es eine andere Perspektive auf den Produktentwicklungsprozess bietet.
Frage 3. Wann sollten wir aufhören, die Software zu testen?
Antwort: Tests (sowohl manuelle als auch automatisierte) können abgebrochen werden, wenn eine oder mehrere der folgenden Bedingungen erfüllt sind:
- Nach der Ausführung von Testfällen – die Testphase kann beendet werden, wenn nach der letzten bekannten Fehlerkorrektur ein vollständiger Zyklus von Testfällen mit einem vereinbarten Erfolgsprozentsatz ausgeführt wurde.
- Nach Erreichen der Testtermine – Die Tests können nach Erreichen der Termine eingestellt werden, wenn keine Probleme mit hoher Priorität mehr im System vorhanden sind.
- Basierend auf der Mean Time Between Failure (MTBF) – MTBF ist die Zeitspanne zwischen zwei Ausfällen. Wenn die MTBF relativ hoch ist, kann die Testphase auf der Grundlage von Entscheidungen der Interessenvertreter abgebrochen werden.
- Basierend auf dem Codeabdeckungswert – Die Testphase kann beendet werden, wenn die automatisierte Codeabdeckung einen bestimmten Schwellenwert mit einem ausreichenden Prozentsatz an Erfolg und ohne einen kritischen Fehler erreicht.
Frage Nr. 4. Was versteht man unter Qualitätssicherung und welche verschiedenen Tätigkeiten sind damit verbunden?
A: Bei der Qualitätssicherung handelt es sich um einen Prozessansatz, bei dem überprüft wird, ob der Produktentwicklungsprozess korrekt ist und allen Normen entspricht. Sie gilt als vorbeugende Maßnahme. Sie deckt Schwachstellen im Softwareentwicklungsprozess auf. Dazu gehören Aktivitäten wie die Überprüfung von Dokumenten, die Überprüfung von Testfällen, Begehungen, Inspektionen usw.
Frage Nr. 5. Was versteht man unter Qualitätskontrolle und welche verschiedenen Arten von Prüfungen gibt es bei der Qualitätskontrolle?
A: Die Qualitätskontrolle ist ein produktorientierter Ansatz, bei dem geprüft wird, ob die entwickelte Lösung alle festgelegten Anforderungen erfüllt. Sie gilt als Korrekturmaßnahme, da sie das erstellte Produkt auf Fehler hin überprüft. Dazu gehören verschiedene Arten von Tests wie Funktionstests, Leistungstests, Benutzerfreundlichkeitstests usw.
Frage Nr. 6. Was ist der Unterschied zwischen Verifizierung und Validierung?
Antwort: Die Hauptunterschiede zwischen Verifizierung und Validierung sind:
1. | Bei der Verifikation werden verschiedene Artefakte sowie der Softwareentwicklungsprozess evaluiert. Sie wird durchgeführt, um sicherzustellen, dass das zu entwickelnde Produkt den Normen entspricht. | Bei der Validierung wird überprüft, ob ein entwickeltes Softwareprodukt mit den festgelegten Geschäftsanforderungen übereinstimmt. |
2. | Es handelt sich um einen statischen Prozess der Analyse von Dokumenten, nicht um das eigentliche Endprodukt. | Dabei wird ein Softwareprodukt dynamisch getestet, indem es ausgeführt wird. |
3. | Die Verifizierung ist ein prozessorientierter Ansatz. | Die Validierung ist ein produktorientierter Ansatz. |
4. | Er beantwortet die Frage: „Bauen wir das Produkt richtig?“. | Er beantwortet die Frage: „Bauen wir das richtige Produkt?“ |
5. | Fehler, die während der Validierung entdeckt werden, erfordern weniger Kosten/Ressourcen zur Korrektur als Fehler, die während der Validierungsphase entdeckt werden. | Fehler, die bei der Validierung entdeckt werden, erfordern mehr Kosten/Ressourcen. Ein später entdeckter Fehler hat höhere Kosten für seine Behebung zur Folge. |
Frage Nr. 7. Was ist SDLC – Software Development Life Cycle?
A: SDLC steht für Software Development Life Cycle. Bezieht sich auf alle Aktivitäten, die während der Softwareentwicklung durchgeführt werden: Anforderungserfassung, Anforderungsanalyse, Entwurf, Kodierung oder Implementierung, Test, Bereitstellung und Wartung.
Frage 8. Erklären Sie den STLC – Softwaretest-Lebenszyklus.
A: Der Lebenszyklus von Softwaretests bezieht sich auf alle Aktivitäten, die während des Testens eines Softwareprodukts durchgeführt werden. Die Phasen umfassen:
- Anforderungsanalyse und -validierung – In dieser Phase werden die Anforderungsdokumente analysiert und validiert und der Testumfang festgelegt.
- Testplanung – In dieser Phase werden die Testplanstrategie, die Schätzung des Testaufwands sowie die Automatisierungsstrategie und die Auswahl der Werkzeuge festgelegt.
- Testdesign und -analyse – Hier werden Testfälle entworfen, Testdaten vorbereitet und Automatisierungsskripte implementiert.
- Einrichtung der Testumgebung – Es wird eine Testumgebung vorbereitet, die die reale Umgebung genau simuliert.
- Testdurchführung – Testfälle werden vorbereitet, Fehler werden gemeldet und nach deren Behebung erneut getestet.
- Testabschluss und Berichterstattung – Es wird ein Testabschlussbericht erstellt, der die abschließenden Testergebnisse, Erkenntnisse und Testmetriken zusammenfasst.
Frage Nr. 9. Welche verschiedenen Arten von Tests gibt es?
Antwort: Testen kann grob in zwei Arten unterteilt werden:
- Funktionsprüfung – Bei der Funktionsprüfung werden die funktionalen Spezifikationen des Systems überprüft.
- Nichtfunktionales Testen – Nichtfunktionales Testen ist eine Art von Testen, bei dem nichtfunktionale Anforderungen eines Systems wie Leistung, Skalierbarkeit, Sicherheit, Belastbarkeit, Portabilität usw. getestet werden.
Je nachdem, wie die Prüfung durchgeführt wird, kann sie in verschiedene Kategorien eingeteilt werden:
- Black-Box-Tests – bei Black-Box-Tests muss der Tester keine Kenntnisse über die interne Architektur oder Implementierung des Systems haben. Das Prüfgerät kommuniziert über eine Schnittstelle mit dem System, gibt Eingaben vor und prüft die empfangenen Ausgaben.
- White-Box-Tests – Bei White-Box-Tests analysiert der Tester die interne Architektur des Systems sowie die Qualität des Quellcodes anhand verschiedener Parameter wie Codeoptimierung, Codeabdeckung, Wiederverwendbarkeit usw.
- Grey-Box-Tests – Bei Grey-Box-Tests hat der Tester teilweisen Zugriff auf die interne Architektur des Systems, z. B. der Prüfer kann Zugang zu den Entwurfsunterlagen oder der Datenbankstruktur haben. Diese Informationen helfen dem Prüfer, die Anwendung besser zu testen.
Frage Nr. 10. Was ist manuelle Prüfung?
Antwort: Manuelles Testen ist eine Art des Testens, bei der die Anforderungen der Anwendung durch die manuelle Ausführung eines vordefinierten Satzes von Testfällen ohne Verwendung eines Automatisierungstools überprüft werden.
Frage.11. Was sind automatisierte Tests?
Antwort: Automatisiertes Testen ist eine Art des Softwaretests, bei dem Testfälle mithilfe eines Automatisierungstools automatisch ausgeführt werden. Es hilft, die Zeit für die Testausführung zu verkürzen, da einmal geschriebene Testskripte automatisch beliebig oft ausgeführt werden können, ohne dass ein Mensch eingreifen muss.
Frage Nr. 12. Was sind einige der Vorteile automatisierter Tests?
Antwort: Einige Vorteile des automatisierten Testens sind:
- Die Durchführung von Tests durch Automatisierung ist schnell und spart viel Zeit.
- Sorgfältig geschriebene Testskripte schließen die Möglichkeit menschlicher Fehler während der Tests aus.
- Die Testdurchführung kann für die nächtliche Ausführung mit CI-Tools wie Jenkins geplant werden, die auch so konfiguriert werden können, dass die Testergebnisse täglich an die relevanten Stakeholder übermittelt werden.
- Automatisierte Tests sind sehr ressourcenintensiv. Nach der Testautomatisierung erfordert die Testdurchführung fast keine QA-Zeit mehr.
Frage Nr. 13. Was sind die Nachteile von automatisierten Tests?
Antwort: Einige Nachteile des automatisierten Testens sind:
- Sie erfordert erfahrene Experten für automatisierte Tests, die Testskripte schreiben.
- Die Erstellung der Skripte erfordert einen zusätzlichen Aufwand im Vorfeld.
- Automatisierungsskripte sind auf die Validierung kodierter Tests beschränkt. Bei diesem Test können Fehler übersehen werden, die sehr auffällig und für einen Menschen leicht zu erkennen sind (manuelle Qualitätssicherung).
- Selbst eine geringfügige Änderung in der Anwendung erfordert Skriptaktualisierungen und Wartung.
Frage Nr. 14. Was sind Leistungstests?
Antwort: Leistungstests sind eine Art von nicht-funktionalen Tests, die die Systemleistung unter erwarteten oder höheren Belastungen bewerten. Bei den Leistungstests werden verschiedene Leistungsparameter bewertet – Reaktionszeit, Zuverlässigkeit, Ressourcennutzung, Skalierbarkeit usw. Die verschiedenen Arten von Leistungstests sind Lasttests, Stresstests, Ausdauertests, Belastungstests und Volumentests.

Frage Nr. 15. Was ist eine Testumgebung?
Antwort: Eine Testumgebung ist eine Umgebung, die zum Testen einer Anwendung verwendet wird. Die Konfiguration der Testumgebung kann aus den Hardware- und Softwareanforderungen der zu testenden Anwendung bestehen, einschließlich Betriebssystem, Hardwarekonfigurationen, Softwarekonfigurationen, Datenbank usw.
Frage 16. Was ist ein Testplan?
A: Ein Testplan ist ein formales Dokument, das den Testumfang, die Vorgehensweise, die erforderlichen Ressourcen und die geschätzte Zeit für die Durchführung des Testprozesses beschreibt. Sie wird aus Anforderungsdokumenten (Software Requirements Specifications) abgeleitet.
Frage Nr. 17. Was ist ein Testszenario?
Antwort: Das Testszenario wird aus dem Anwendungsfall abgeleitet. Sie dient dazu, die Funktionalität der Anwendung umfassend zu testen. Ein einziges Testszenario kann mehrere Testfälle umfassen. Szenario-Tests sind besonders nützlich, wenn die Tests zeitlich begrenzt sind.
Frage Nr. 18. Was ist ein Testfall?
Antwort: Ein Testfall wird verwendet, um die Konformität einer Anwendung mit ihrer Anforderungsspezifikation zu testen. Es handelt sich um eine Reihe von Bedingungen mit Annahmen, Eingangswerten und erwarteten Ergebnissen in dokumentierter Form.
Frage Nr. 19. Was sind einige Attribute eines Testfalls?
Antwort: Ein Testfall kann die folgenden Attribute haben:
- TestCaseId – eindeutiger Bezeichner des Testfalls.
- Testzusammenfassung – Eine unmissverständliche Zusammenfassung des Testfalls.
- Beschreibung – Detaillierte Beschreibung des Testfalls.
- Voraussetzung oder Vorbedingung – Eine Reihe von Voraussetzungen, die erfüllt sein müssen, bevor Prüfschritte ausgeführt werden können.
- Testschritte – Detaillierte Schritte zur Ausführung eines Testfalls.
- Erwartetes Ergebnis – Erwartetes Ergebnis für das Bestehen des Tests.
- Tatsächliches Ergebnis – Das tatsächliche Ergebnis, nachdem die Prüfschritte durchgeführt wurden.
- Testergebnis – Status des Tests: bestanden/nicht bestanden.
- Automatisierungsstatus – Automatisierungskennzeichen, ob die Anwendung automatisiert ist oder nicht.
- Datum – Das Datum, an dem der Test durchgeführt wurde.
- Ausgeführt von (Ausgeführt von – Name der Person, die den Testfall ausführt).
Frage Nr. 20. Was sind Testdaten?
Antwort: Testdaten sind Daten, die zum Testen von Software mit verschiedenen Eingaben verwendet werden und helfen zu überprüfen, ob die jeweilige Ausgabe mit dem erwarteten Ergebnis übereinstimmt oder nicht. Diese Daten werden auf der Grundlage von Geschäftsanforderungen erstellt.
Frage Nr. 21. Was ist ein Testskript?
Antwort: Ein Testskript ist ein automatisierter Testfall, der in einer beliebigen Programmier- oder Skriptsprache geschrieben wurde. Es handelt sich im Wesentlichen um eine Reihe von Anweisungen zur Bewertung der Funktionsweise der Anwendung.
Frage Nr. 22. Was ist ein Softwaretestfehler?
A: Da wir alle Menschen sind, ist es ganz natürlich, dass wir Fehler machen. Ein ähnlicher Fall tritt beim Testen von Software auf, z. B. aufgrund von ein fehlendes Szenario in den Anforderungen, Designprobleme oder Implementierungsfehler.
Frage Nr. 23. Was ist eine „Wanze“?
Antwort: Ein Bug ist ein Fehler in einem Softwareprodukt, der zum Zeitpunkt des Testens entdeckt wird und zu einer unerwarteten Funktion führt.
Frage Nr. 24. Was ist ein „Mangel“?
A: Ein Fehler ist eine Nichtübereinstimmung mit einer Produktanforderung, die während des Herstellungsprozesses (nachdem das Produkt in Betrieb genommen wurde) festgestellt wird.
Frage Nr. 25. Was sind einige Merkmale der Fehlerberichterstattung?
Antwort: Einige der Attribute für Fehlerberichte sind:
- DefectId – eindeutiger Bezeichner des Defekts.
- Defekt-Zusammenfassung – eine einzeilige Zusammenfassung des Defekts, nicht der Name des Defekts.
- Defektbeschreibung – detaillierte Beschreibung des Defekts.
- Schritte zur Reproduktion – Schritte, um den Fehler zu reproduzieren.
- Erwartetes Ergebnis – das erwartete Verhalten, von dem die Anwendung aufgrund eines Fehlers abweicht.
- Tatsächliches Ergebnis – der aktuelle Fehlerzustand der Anwendung im Zusammenhang mit dem Fehler.
- Fehlerschwere – Je nach Schwere des Fehlers kann dieses Feld auf „gering“, „mittel“, „schwer“ oder auf „Show-Stopper“ eingestellt werden.
- Priorität – Je nach Dringlichkeit des Fehlers kann dieses Feld auf einer Skala von P0 bis P3 eingestellt werden.
Frage Nr. 26. Welche Werkzeuge gibt es zur Verwaltung von Fehlern und Mängeln?
Antwort: Einige der am häufigsten verwendeten Mängelmanagement-Tools sind Jira, Bugzilla, Redmine, Mantis, Quality Center und andere.
Frage Nr. 27. Was ist Defektdichte?
A: Die Fehlerdichte ist ein Maß für die Dichte der Fehler in einem System. Sie kann berechnet werden, indem die Anzahl der identifizierten Fehler durch die Gesamtzahl der Codezeilen (oder Methoden oder Klassen) in der Anwendung oder dem Programm geteilt wird.
Frage Nr. 28. Was ist die Fehlerpriorität?
A: Die Priorität des Mangels ist die Dringlichkeit der Mängelbeseitigung. In der Regel wird die Priorität eines Fehlers auf einer Skala von P0 bis P3 festgelegt, wobei ein P0-Fehler die höchste Reparaturdringlichkeit aufweist.
Frage Nr. 29. Was ist die Fehlerschwere?
A: Der Schweregrad eines Fehlers ist der Schweregrad des Fehlers, der die Funktionalität beeinträchtigt. Je nach Unternehmen können wir verschiedene Schweregrade für Fehler festlegen, die von geringfügig bis kritisch oder Show-Stopper (der kritischste Fehler, der die Entwicklung oder Implementierung der Software stoppt) reichen.
Frage Nr. 30. Geben Sie ein Beispiel für Fehler mit niedriger Priorität – niedrigem Schweregrad, niedriger Priorität – hohem Schweregrad, hoher Priorität – niedrigem Schweregrad und hoher Priorität – hohem Schweregrad.
Antwort: Nachstehend finden Sie Beispiele für verschiedene Kombinationen von Priorität und Schweregrad:
- Niedrige Priorität – geringer Schweregrad: ein Rechtschreibfehler auf einer Seite, die von den Benutzern nicht häufig besucht wird.
- Niedrige Priorität – hoher Schweregrad: Crash-Anwendungen in einigen sehr marginalen Fällen.
- Hohe Priorität – geringer Schweregrad: Eine geringfügige Änderung der Farbe des Logos oder ein Rechtschreibfehler im Firmennamen.
- Hohe Priorität – hoher Schweregrad: Problem mit der Anmeldefunktion.
Frage 31. Was ist ein „Blocker“?
Antwort: Blocker ist ein Fehler mit hoher Priorität und hohem Schweregrad. Sie verhindert oder blockiert auch das Testen eines anderen wichtigen Teils der Anwendung.
Frage Nr. 32. Was ist ein kritischer Fehler?
A: Ein kritischer Fehler ist ein Fehler, der die Kernfunktionalität der Anwendung betrifft und ohne dessen Behebung die Anwendung nicht ausgeliefert werden kann. Er unterscheidet sich von einem blockierenden Fehler dadurch, dass er das Testen anderer Teile der Anwendung nicht beeinträchtigt oder blockiert.
Frage Nr. 33. Erklären Sie den Lebenszyklus eines Käfers oder die verschiedenen Stadien eines Käfers.
Antwort: Ein Fehler in der Softwareentwicklung durchläuft die folgenden Phasen
- Neu – der Fehler oder Defekt befindet sich im Status Neu, wenn er entdeckt wird.
- Zugewiesen – Der neu entdeckte Fehler befindet sich im Status Zugewiesen, nachdem er dem entsprechenden Entwickler zugewiesen wurde.
- Offen – Wenn der Entwickler an einem Fehler arbeitet, befindet sich der Fehler im Status Offen.
- Abgelehnt/kein Fehler – Ein Fehler befindet sich im Status Abgelehnt, wenn der Entwickler der Meinung ist, dass der Fehler nicht echt ist.
- Aufgeschoben – Ein aufgeschobener Fehler ist ein Fehler, dessen Korrektur für einen bestimmten Zeitraum (für zukünftige Versionen) aufgeschoben wird, basierend auf der Dringlichkeit und Wichtigkeit des Fehlers.
- Behoben – Wenn der Entwickler den Fehler behebt, wird er als behoben markiert.
- Getestet(Test) – Wenn ein Fehler behoben ist, wird er einem Tester zugewiesen und während dieses Zeitraums als getestet markiert.
- Wiedereröffnet – Wenn der Prüfer mit der Lösung des Problems nicht zufrieden ist, wird der Fehler in den Status Wiedereröffnet versetzt.
- Verifiziert – Wenn der Tester nach der Testphase das Gefühl hat, dass der Fehler behoben ist, wird er als verifiziert markiert.
- Geschlossen – Nachdem der Fehler verifiziert wurde, wird der Fehler in den Status Geschlossen versetzt.
Frage Nr. 34. Was sind die verschiedenen Testentwurfstechniken?
Antwort: Testentwurfstechniken sind verschiedene Testentwurfsstandards, die systematische und allgemein akzeptierte Testfälle ermöglichen. Verschiedene Testentwurfstechniken können in statische Testentwurfstechniken und dynamische Testentwurfstechniken unterteilt werden.
1. Statische Testentwurfstechniken – Testentwurfstechniken, bei denen ohne laufenden Code getestet wird. Die verschiedenen Techniken zur Entwicklung statischer Tests lassen sich in zwei Bereiche unterteilen: manuell und mit Hilfe von Tools.
- Manuelle statische Testentwurfstechniken
- Komplettlösung
- Informelle Bewertungen
- Technische Überprüfungen
- AuditControl
- Managementprüfung (Technische Prüfung)
2. Statische Testentwurfstechniken unter Verwendung von Tools
- Statische Code-Analyse – beinhaltet die Analyse verschiedener Pfade und Abläufe in der Anwendung und verschiedener Zustände der Testdaten.
- Einhaltung von Programmierstandards – Der Code wird auf die Einhaltung verschiedener Programmierstandards geprüft.
- Analyse der Code-Metriken – Ein Tool für die statische Analyse wird benötigt, um verschiedene Metriken wie Codezeilen, Komplexität, Codeabdeckung usw. zu bewerten.
3. Dynamische Testentwurfstechniken – Dynamische Testentwurfstechniken beinhalten Tests, bei denen das zu testende System ausgeführt wird.
- Spezifikationsbasierte Testentwurfstechniken – Spezifikationsbasierte Testentwurfstechniken werden auch als Blackbox-Tests bezeichnet. Bei diesen Techniken wird gegen die Spezifikation des zu testenden Systems getestet, ohne dessen interne Architektur zu kennen.
- Strukturbasierte Testentwurfstechniken – Auch als White-Box-Tests bezeichnet. Bei diesen Techniken sind Kenntnisse über den Code oder die interne Architektur des Systems erforderlich, um die Tests durchzuführen.
- Erfahrene Techniken – Erfahrene Techniken basieren auf der Erfahrung oder Intuition des Testers. Die beiden häufigsten Formen des erfahrungsbasierten Testens sind Adhoc-Tests und explorative Tests.
Frage Nr. 35. Was sind statische Tests?
A: Statische Tests sind eine Art von Tests zur Überprüfung von Arbeitsprodukten oder Dokumentationen, die während eines Projekts erstellt werden. Ermöglicht die Überprüfung von Spezifikationen, Geschäftsanforderungen, Dokumentation, Prozessen und funktionalen Anforderungen in der ersten Testphase.
So können die beteiligten Tester die Anforderungen genauer verstehen, bevor sie mit dem Testzyklus beginnen, der dazu beitragen soll, ein Qualitätsprodukt zu liefern.
Frage Nr. 36. Was sind dynamische Tests?
Antwort: Die Art des Testens, bei der die zu testende Anwendung entweder manuell oder durch Automatisierung ausgeführt wird, wird als dynamisches Testen bezeichnet.
Frage Nr. 37. Erklären Sie die verschiedenen Arten von spezifikationsbasierten Testentwurfstechniken.
Antwort: Spezifikationsbasierte Testentwurfstechniken werden auch als Blackbox-Tests bezeichnet. Dabei wird gegen die Spezifikation des zu testenden Systems getestet, ohne dessen interne Architektur zu kennen. Es gibt verschiedene Arten von spezifikationsbasierten Tests oder Blackbox-Testtechniken:
- Äquivalenzpartitionierung – Gruppierung von Testdaten in logische Gruppen oder Äquivalenzklassen unter der Annahme, dass alle in den Klassen liegenden Datenelemente die gleiche Wirkung auf die Anwendung haben.
- Grenzwertanalyse – Testen unter Verwendung von Grenzwerten der Äquivalenzklassen, die als Testeingaben verwendet werden.
- Entscheidungstabellen – Testen mit Entscheidungstabellen, die das Verhalten der Anwendung auf der Grundlage verschiedener Kombinationen von Eingabewerten zeigen.
- Ursache-Wirkungs-Diagramm – Testen unter Verwendung einer grafischen Darstellung des Ergebnisses und aller Faktoren, die das Ergebnis beeinflussen.
- Testen von Zustandsübergängen – Testen auf der Grundlage des Zustandsmaschinenmodells.
- Use Case Testing – Tests, die anhand von Anwendungsfällen durchgeführt werden.
Frage Nr. 38. Erklären Sie die Partitionierung von Äquivalenzklassen.
A: Die Äquivalenzklassenverteilung ist eine Blackbox-Testtechnik, die auf der Spezifikation basiert. Bei der Einteilung in Äquivalenzklassen wird die Menge der Eingabedaten, die verschiedene Testbedingungen definieren, in logisch ähnliche Gruppen unterteilt, so dass die Verwendung auch nur eines Testdatensatzes aus einer Testgruppe als ähnlich wie die Verwendung aller anderen Daten in dieser Gruppe angesehen werden kann.
Um zum Beispiel ein Square-Programm zu testen (ein Programm, das ein Quadrat einer Zahl ausgibt), kann es Äquivalenzklassen geben – die Menge der negativen Zahlen, der ganzen Zahlen, der Dezimalzahlen, der Menge der großen Zahlen usw.
Frage Nr. 39. Was ist eine Grenzwertanalyse?
Antwort: Die Grenzwertanalyse ist eine Softwaretesttechnik für den Entwurf von Testfällen, bei der die Grenzwerte von Äquivalenzklassenverteilungen als Input für Testfälle verwendet werden, z.B. wenn die Testdaten im Bereich 0-100 liegen, wird die Schwellenwertanalyse die Testdaten – 0,1, 99, 100 – umfassen.
Frage 40. Was ist ein Entscheidungstabellentest?
Antwort: Das Testen mit Entscheidungstabellen ist eine Art von spezifikationsbasierter Testentwurfstechnik oder Blackbox-Testtechnik, bei der das Verhalten einer Anwendung auf der Grundlage verschiedener Kombinationen von Eingabewerten anhand von Entscheidungstabellen getestet wird.
Entscheidungstabellen sind besonders nützlich, wenn Sie Testfälle für komplexe Geschäftsszenarien entwerfen, die eine Anwendungsvalidierung mit mehreren Kombinationen von Eingaben beinhalten.
Frage 41. Was ist ein Ursache-Wirkungs-Diagramm?
Antwort: Das Testen mit einem Ursache-Wirkungs-Diagramm ist eine Blackbox-Testentwurfstechnik, bei der eine grafische Darstellung der Eingabe verwendet wird, um Tests zu entwerfen, d.h. j. Ursachen und Output, d.h. j. von Bedeutung. Diese Technik verwendet verschiedene Notationen, die AND, OR, NOT usw. darstellen. zwischen Eingabebedingungen, die zur Ausgabe führen.
Frage Nr. 42. Was ist ein Zustandsübergangstest?
Antwort: Das Testen von Zustandsübergängen ist eine Blackbox-Testentwurfstechnik, die auf einem Zustandsmaschinenmodell basiert. Das Testen von Übergängen zwischen Zuständen basiert auf dem Konzept, dass ein System als eine Menge von mehreren Zuständen definiert werden kann und der Übergang von einem Zustand in einen anderen als Folge eines Ereignisses erfolgt.
Frage Nr. 43. Was ist ein Anwendungsfalltest?
Antwort: Use Case Testing ist ein Black Box Testing-Ansatz, bei dem die Tests anhand von Anwendungsfällen durchgeführt werden. Das Anwendungsszenario wird als eine Interaktion zwischen der Anwendung und den Akteuren (Benutzern) betrachtet. Diese Anwendungsfälle werden zur Darstellung der Anforderungen verwendet und können daher auch als Grundlage für Akzeptanztests dienen.
Frage Nr. 44. Was ist Testabdeckung?
Antwort: Es ist eine Metrik, die den Umfang der Tests misst, die bei der Ausführung von Testfällen an der Software durchgeführt werden. Die Testabdeckung für jede Software kann als Prozentsatz der Anzahl der abgedeckten Testbereiche oder Abdeckungselemente im Verhältnis zur Gesamtzahl der Testbereiche berechnet werden.
Je höher die Testabdeckung, desto mehr Teile der Software werden durch Testfälle abgedeckt und desto effizienter sind die Tests.
Frage Nr. 45. Was sind strukturbasierte Tests?
Antwort: Strukturbasierte Testentwurfstechniken werden auch als White-Box-Tests bezeichnet. Bei diesen Techniken sind Kenntnisse über den Code oder die interne Architektur des Systems erforderlich, um die Tests durchzuführen. Es gibt verschiedene Arten von strukturbasierten Tests oder White-Box-Testverfahren:
- Anweisungstests – eine White-Box-Testtechnik, bei der Testskripte entworfen werden, um Befehle im Anwendungscode auszuführen. Die Abdeckung wird anhand der Anzahl der Codezeilen oder Anweisungen gemessen, die von den Testskripten ausgeführt werden.
- Entscheidungstests/Verzweigungstests – eine Testtechnik, bei der Testskripte entwickelt werden, um verschiedene Entscheidungszweige (z.B. if-else Bedingungen) in einer Anwendung auszuführen. Die Abdeckung wird als prozentualer Anteil der Entscheidungspunkte an der Gesamtzahl der Entscheidungspunkte in der Anwendung gemessen.
- Bedingungstests – Bedingungstests sind ein Testansatz, bei dem wir eine Anwendung mit wahren und falschen Ergebnissen für jede Bedingung testen. Für n Bedingungen haben wir also 2n Testskripte.
- Testen unter mehreren Bedingungen – Beim Testen unter mehreren Bedingungen werden verschiedene Kombinationen von Bedingungsergebnissen mindestens einmal getestet. Für eine 100%ige Abdeckung benötigen wir also 2^n Testskripte. Das ist sehr anstrengend und es ist sehr schwierig, eine 100%ige Abdeckung zu erreichen.
- Bedingungsbestimmungstests – Dies ist eine optimierte Methode zum Testen mehrerer Bedingungen, wobei Kombinationen, die keinen Einfluss auf die Ergebnisse haben, verworfen werden.
- Pfad-Tests – Testen unabhängiger Pfade im System (Pfade sind ausführbare Anweisungen von Eingangs- zu Ausgangspunkten).
Frage Nr. 46. Was ist Code Coverage?
A: Die Codeabdeckung ist ein Maß für den Umfang des von den Testskripten abgedeckten Codes. Sie vermittelt einen Eindruck davon, welcher Teil der Anwendung von den Tests abgedeckt wird.
Frage 47. Was sind Anweisungstests und Anweisungsabdeckung bei White Box-Tests?
Antwort: Anweisungstests sind ein White-Box-Testansatz, bei dem Testskripte entwickelt werden, um Codeanweisungen auszuführen.
Die Anweisungsabdeckung ist ein Maß für den prozentualen Anteil der von den Testskripten ausgeführten Codeanweisungen an der Gesamtzahl der Codeanweisungen in der Anwendung. Die Befehlsabdeckung ist die am wenigsten bevorzugte Metrik zur Überprüfung der Testabdeckung.
Frage Nr. 48. Was sind Entscheidungstests oder Verzweigungstests?
A: Entscheidungstests oder Verzweigungstests sind White-Box-Tests, bei denen die Testabdeckung anhand des prozentualen Anteils der ausgeführten Entscheidungspunkte (z.B. if-else-Bedingungen) an der Gesamtzahl der Entscheidungspunkte in der Anwendung gemessen wird.
Frage 49. Was sind die verschiedenen Stufen der Tests?
Antwort: Tests können auf verschiedenen Ebenen des Entwicklungsprozesses durchgeführt werden. Die Durchführung von Testaktivitäten auf mehreren Ebenen hilft bei der frühzeitigen Erkennung von Fehlern. Die verschiedenen Ebenen der Tests sind –
1. Einheitstests
2. die Integrationsprüfung
3. Systemprüfung
4. Abnahmetest
Frage Nr. 50. Was sind Unit-Tests?
Antwort: Unit-Tests sind die erste Stufe des Testens und umfassen das Testen einzelner Module der Software. Sie wird normalerweise von Entwicklern durchgeführt.
Frage Nr. 51. Was sind Integrationstests?
A: Integrationstests werden nach den Unit-Tests durchgeführt. Bei Integrationstests testen wir eine Gruppe zusammengehöriger Module. Sie zielt darauf ab, Probleme mit der Verbindung zwischen den Modulen zu finden.
Frage Nr. 52. Was sind die verschiedenen Arten von Integrationstests?
A: Die verschiedenen Arten von Integrationstests sind –
1. ‚Big Bang‘-Integrationstests – Bei ‚Big Bang‘-Integrationstests beginnen die Tests, nachdem alle Module integriert wurden.
2) Top-Down-Integrationstests – Bei der Top-Down-Integration beginnen die Tests/Integration von den Modulen der obersten Ebene zu den Modulen der unteren Ebene.
3) Bottom-up-Integrationstests – Bei der Bottom-up-Integration beginnen die Tests von den Modulen der unteren Ebene zu den Modulen der höheren Ebene in der Hierarchie.
4. Hybride Integrationstests – Hybride Integrationstests sind eine Kombination aus Top-Down- und Bottom-Up-Integrationstests. Bei diesem Ansatz beginnt die Integration auf der mittleren Schicht und die Tests werden in beide Richtungen durchgeführt.
Frage Nr. 53. Was ist ein Stummel?
A: Im Falle von Top-Down-Integrationstests entwickeln sich die Module der unteren Ebene oft nicht weiter, wenn die Tests/Integration mit den Modulen der oberen Ebene beginnen. In diesen Fällen werden Stubs oder Dummy-Module verwendet, um den Betrieb der Module zu simulieren, indem sie eine feste oder erwartete Ausgabe basierend auf den Eingabewerten liefern.
Frage 54. Was ist ein Treiber?
A: Bei Bottom-Up-Integrationstests werden Treiber verwendet, um den Betrieb von Modulen der obersten Ebene zu simulieren, um damit verbundene Module in der unteren Hierarchie zu testen.
Frage 55. Was ist ein Systemtest?
A: Systemtests sind eine Testebene, die die Software als Ganzes testet. Bei den Systemtests wird die Übereinstimmung der Anwendung mit den Geschäftsanforderungen überprüft.
Frage Nr. 56. Was sind Akzeptanztests?
Antwort: Abnahmetests sind Tests, die von einem potenziellen Endbenutzer oder Kunden durchgeführt werden, um zu prüfen, ob die Software die Geschäftsanforderungen erfüllt und für den Einsatz akzeptiert werden kann.
Frage Nr. 57. Was sind UAT-Tests?
Antwort: UAT-Tests sind die letzte Phase des Testlebenszyklus. Ihr Hauptzweck besteht darin, zu überprüfen, ob die Software in Übereinstimmung mit den Geschäftsanforderungen funktioniert. Es wird auch sichergestellt, dass die Anwendung benutzerfreundlich ist und komplexe Szenarien am besten bewältigen kann, bevor das Produkt für echte Benutzer freigegeben wird.
Frage Nr. 58. Was sind End-to-End-Tests?
A: End-to-End-Tests sind eine Art von Tests, bei denen die gesamte Anwendung geprüft wird, um sicherzustellen, dass jede Funktion der Software wie erwartet funktioniert und dass keine Lücken bestehen. Stellt sicher, dass die Anwendung benutzerfreundlich ist und den Geschäftsanforderungen entspricht.
Frage Nr. 59. Was ist ein Alphatest?
Antwort: Alpha-Tests sind eine Art von Akzeptanztests, die von Testern oder internen Mitarbeitern des Unternehmens am Arbeitsplatz des Entwicklers durchgeführt werden.
Frage 60. Was ist ein Beta-Test?
Antwort: Beta-Tests sind Tests, die von Endbenutzern am Arbeitsplatz des Endbenutzers durchgeführt werden. Es ermöglicht Benutzern, dem Entwicklungsunternehmen direkte Informationen über die Software zukommen zu lassen.
Frage Nr. 61. Was sind Adhoc-Tests?
Antwort: Adhoc-Tests sind unstrukturierte Tests, die ohne formale Dokumentation oder angemessene Planung durchgeführt werden.
Frage Nr. 62. Was sind Affentests?
Antwort: Monkey-Tests sind eine Art von Tests, die nach dem Zufallsprinzip ohne vordefinierte Testfälle oder Testeingaben durchgeführt werden.
Frage Nr. 63. Wie unterscheiden sich Affentests von Adhoc-Tests?
A: Bei Adhoc-Tests gibt es zwar keine vordefinierten oder dokumentierten Testfälle, aber die Tester haben dennoch einen Überblick über die Anwendung. Bei Affentests hingegen verstehen die Tester die Anwendung nicht.
Frage Nr. 64. Was sind Sondierungstests?
A: Exploratives Testen ist eine Art des Testens, bei der neue Testfälle hinzugefügt und aktualisiert werden, während das System erforscht wird oder Testfälle ausgeführt werden. Im Gegensatz zu skriptgesteuerten Tests finden beim explorativen Testen der Testentwurf und die Testausführung parallel statt.
Frage Nr. 65. Was sind Lasttests?
A: Lasttests sind eine Art von Leistungstests, die darauf abzielen, die Leistung einer Anwendung unter einer erwarteten Last zu ermitteln. Bei Lasttests bewerten wir die Reaktionszeit, den Durchsatz, die Fehlerquote usw. Anwendungsparameter.
Frage Nr. 66. Was ist ein Stresstest?
A: Stresstests sind eine Art von Leistungstests, bei denen das Verhalten einer Anwendung unter einer höheren als der erwarteten Last überwacht wird. Stresstests werden durchgeführt, um Speicherlecks und die Robustheit der Anwendung zu erkennen.
Frage Nr. 67. Was ist ein Volumentest?
A: Volumentests sind eine Art von Leistungstests, bei denen die Leistung einer Anwendung mit einer großen Menge an Daten bewertet wird. Es prüft die Skalierbarkeit der Anwendung und hilft bei der Identifizierung von Engpässen bei großen Datenmengen.
Frage Nr. 68. Was ist ein Dauertest oder ein Soak-Test?
Antwort: Ausdauertests sind eine Art von Leistungstests, die darauf abzielen, Probleme wie Speicherlecks zu finden, wenn eine Anwendung über einen längeren Zeitraum hinweg Stresstests unterzogen wird.
Frage Nr. 69. Was ist ein Spike-Test?
A: Spike-Tests sind eine Art von Leistungstests, bei denen die Leistung einer Anwendung gemessen wird, wenn die Anzahl der aktiven Benutzer während eines Stresstests plötzlich steigt.
Frage Nr. 70. Was sind UI-Tests?
Antwort: UI- oder Benutzeroberflächen-Tests sind eine Art von Tests, die darauf abzielen, GUI-Fehler in einer Anwendung zu finden und zu überprüfen, ob die GUI den Spezifikationen entspricht.
Frage Nr. 71. Was sind Usability-Tests?
Antwort: Usability-Tests sind eine Art von Tests, die darauf abzielen, die Benutzerfreundlichkeit einer Anwendung zu ermitteln. Sein Zweck ist es, Fehler in der Anwendung aufzuspüren, die die Benutzerfreundlichkeit beeinträchtigen.
Frage Nr. 72. Was sind Zugänglichkeitstests?
Antwort: Barrierefreiheitstests sind eine Art von Tests, die darauf abzielen, die Benutzerfreundlichkeit oder den Betrieb einer Anwendung speziell für Menschen mit Behinderungen zu ermitteln.
Frage 73. Was sind Kompatibilitätstests?
Antwort: Kompatibilitätstests sind die Überprüfung von Software, um festzustellen, wie kompatibel die Software mit einer bestimmten Umgebung – Betriebssystem, Plattform oder Hardware – ist.
Frage Nr. 74. Was ist ein Konfigurationstest?
Antwort: Konfigurationstests sind eine Art von Tests, mit denen die Anforderungen an die Softwarekonfiguration sowie die Auswirkungen von Änderungen der erforderlichen Konfiguration bewertet werden.
Frage Nr. 75. Was sind Lokalisierungstests?
A: Lokalisierungstests sind eine Art von Tests, bei denen wir die Anpassung einer Anwendung (eine lokalisierte Version der Anwendung) in einer bestimmten Kultur, einem bestimmten Ort oder Land bewerten.
Frage Nr. 76. Was ist ein Globalisierungstest?
A: Globalisierungstests sind eine Art von Tests, bei denen die Leistung einer Anwendung auf der ganzen Welt in verschiedenen Kulturen, Sprachen, Orten und Ländern bewertet wird.
Frage Nr. 77. Was ist ein negativer Test?
Antwort: Negative Tests sind eine Art von Tests, bei denen die Widerstandsfähigkeit einer Anwendung bewertet wird (elegantes Beenden oder Fehlerberichterstattung), wenn sie mit ungültigen Eingaben oder Testdaten versorgt wird.
Frage Nr. 78. Was sind Sicherheitstests?
Antwort: Sicherheitstests sind eine Art von Tests, die darauf abzielen, die Integrität, Authentifizierung, Autorisierung, Verfügbarkeit, Vertraulichkeit und Nicht-Abstreitbarkeit der zu testenden Anwendung zu bewerten.
Frage Nr. 79. Was sind Penetrationstests?
A: Penetrationstests oder Pen-Tests sind eine Art von Sicherheitstests, bei denen eine Anwendung auf verschiedene Arten von Schwachstellen untersucht wird, die von jedem Hacker ausgenutzt werden könnten.
Frage Nr. 80. Was sind Robustheitstests?
Antwort: Robustheitstests sind eine Art von Tests, die durchgeführt werden, um die Robustheit einer Anwendung zu bestimmen, d.h. j. die Fähigkeit des Systems, sich bei fehlerhaften Testschritten und Testeingaben sparsam zu verhalten.
Frage Nr. 81. Was sind Parallelitätstests?
Antwort: Gleichzeitigkeitstests sind Tests für mehrere Benutzer, bei denen eine Anwendung bewertet wird, indem das Verhalten der Anwendung analysiert wird, wenn Benutzer gleichzeitig auf dieselbe Funktion zugreifen.
Frage Nr. 82. Was sind Backend-Tests?
Antwort: Backend-Tests sind eine Art von Tests, bei denen das Backend des Systems getestet wird, d.h. die Datenbanken und APIs der Anwendung.
Frage Nr. 83. Was ist A/B-Testing?
Antwort: A/B-Tests sind eine Art von Tests, bei denen Endbenutzer zwei Varianten eines Softwareprodukts zu sehen bekommen. Auf der Grundlage einer Analyse des Benutzerverhaltens bei jeder Variante wird die bessere Variante ausgewählt und dann verwendet.
Frage Nr. 84. Was ist eine Risikoanalyse?
Antwort: Die Risikoanalyse ist die Analyse eines identifizierten Risikos und die Zuweisung einer angemessenen Risikostufe für einen Fehler auf der Grundlage seiner Auswirkungen auf die Anwendung.
Frage Nr. 85. Was ist der Unterschied zwischen Regressionstests und Wiederholungstests?
A: Beim Regressionstest wird eine Anwendung getestet, um sicherzustellen, dass eine neue Codeänderung keine Auswirkungen auf andere Teile der Anwendung hat. Beim erneuten Testen überprüfen wir, ob das behobene Problem gelöst ist oder nicht.
Frage Nr. 86. Was ist der Unterschied zwischen Blackbox- und Whitebox-Tests?
Antwort: Blackbox-Tests sind eine Art von Tests, bei denen die interne Architektur des Codes für die Tests nicht erforderlich ist. Es wird normalerweise bei Systemtests und Abnahmetests eingesetzt.
Während White-Box-Tests Kenntnisse über das interne Design und die Implementierung der zu testenden Anwendung erfordern. Es wird normalerweise für Unit-Tests und Integrationstests verwendet.
Frage Nr. 87. Was ist der Unterschied zwischen Rauch- und Unbedenklichkeitstests?
A: Der Unterschied zwischen Smoke Testing und Sanity Testing ist folgender.
- Smoke-Testing ist eine Art von Test, bei dem alle Hauptfunktionen einer Anwendung getestet werden, bevor ein umfassender Test durchgeführt wird. Sanity-Tests sind hingegen eine Untergruppe der Regressionstests, die durchgeführt werden, wenn in einem neuen Build kleinere Korrekturen an der Anwendung vorgenommen werden.
- Smoke-Tests sind in der Regel dokumentiert oder automatisiert. Sanity-Tests werden in der Regel nicht dokumentiert oder geskriptet.
Frage Nr. 88. Was ist der Unterschied zwischen Release und Build?
Antwort: Ein Build ist eine ausführbare Datei, die von den Entwicklern dem Testteam zum Testen der Anwendung zur Verfügung gestellt wird. Sie durchläuft verschiedene Iterationen von Korrekturen und Tests, bis die Anwendung wie erwartet funktioniert. Wenn die App stabil und für Endbenutzer bereit ist, wird sie auf den Markt gebracht.
Release hingegen ist installierbare Software, die den Endbenutzern zur Verfügung gestellt wird, nachdem sie vom Testteam zertifiziert wurde. Wenn eine Software für einen Kunden freigegeben wird, wird sie von Versionshinweisen begleitet, die die Anzahl der noch offenen Bugs, die abgedeckten User Stories, Änderungswünsche und die Release-Version enthalten.
Interviewfragen für fortgeschrittene manuelle Tests
Fragen nein. 89. Was ist der Unterschied zwischen Bug Leakage und Bug Release?
Antwort Ein Bug Leak ist, wenn eine getestete Software auf den Markt kommt und der Endbenutzer Fehler darin findet. Dazu gehören auch Fehler, die das Testteam während der Testphase übersehen hat.
Eine Fehlerveröffentlichung ist hingegen, wenn eine bestimmte Softwareversion mit einigen bekannten Fehlern auf den Markt gebracht wird, die in späteren Versionen behoben werden sollen. Diese Arten von Problemen sind von geringer Priorität und werden in den Versionshinweisen erwähnt, wenn sie an die Endbenutzer weitergegeben werden.
Frage Nr. 90. Was meinen Sie mit Defect Triage?
A: Die Fehlersichtung ist ein Prozess, bei dem Fehler auf der Grundlage verschiedener Faktoren wie Schweregrad, Risiko, Zeitaufwand für die Behebung des Fehlers usw. priorisiert werden. An dem Treffen nehmen verschiedene Beteiligte teil – Entwicklungsteam, Testteam, Projektmanager, BA usw. und entscheiden Sie über die Priorität der Fehlerbehebung.
Frage Nr. 91. Was ist ein Kabelbaumtest? Warum brauchen wir einen Kabelbaumtest?
Antwort: Ein Test-Harness ist eine Sammlung von Testskripten und Testdaten, die in der Regel mit Unit- und Integrationstests verbunden ist. Enthält Stubs und Treiber, die zum Testen von Softwaremodulen und integrierten Komponenten benötigt werden.
Frage Nr. 92. Was sind alles Paartests?
Antwort: Alle Paar-Tests sind eine Art von Tests, bei denen die Anwendung mit allen möglichen Kombinationen von Eingabeparameterwerten getestet wird.
Frage Nr. 93. Was sind Ausfallsicherungstests?
Antwort: Failover-Tests sind eine Art von Tests, die dazu dienen, die Fähigkeit einer Anwendung zu überprüfen, im Falle eines Ausfalls mehrere Ressourcen (mehrere Server) zuzuweisen und einen Teil der Verarbeitung auf ein Backup-System zu übertragen.
Frage Nr. 94. Was ist Fuzz-Testing?
A: Fuzz-Testing ist eine Art von Test, bei dem eine große Menge an Zufallsdaten als Eingabe in eine Anwendung gegeben wird, um Sicherheitslücken und andere Probleme in der Anwendung zu finden.
Frage Nr. 95. Was ist ein Pilotversuch?
A: Pilot-Tests sind Tests, die als Probelauf mit einer begrenzten Anzahl von Benutzern durchgeführt werden, die das System bewerten und vor der vollständigen Einführung Feedback geben.
Frage Nr. 96. Was sind Dev-Box-Tests?
A: Bei Dev-Box-Tests führt der Tester Tests auf dem System des Entwicklers durch, um zu überprüfen, ob die wichtigsten Funktionen der Anwendung stabil und testbereit sind.
Frage Nr. 97. Was sind Mutationstests?
Antwort: Mutationstests sind eine Art von White-Box-Tests, bei denen der Quellcode einer Anwendung verändert wird, um bestimmte Fehler im Betrieb zu verursachen. Die Testskripte werden dann ausgeführt, um ihre Korrektheit zu überprüfen, indem die durch den mutierten Code verursachten Fehler verifiziert werden.
Frage Nr. 98. Was ist eine Anforderungsnachvollziehbarkeitsmatrix (RTM)?
A: Beim Testen von Software ist eine Anforderungsnachvollziehbarkeitsmatrix eine Tabelle, die übergeordnete Anforderungen mit detaillierten Anforderungen, Testplänen oder Testfällen verbindet. RTM hilft, eine 100%ige Testabdeckung zu gewährleisten.
Frage Nr. 99. Was ist zyklomatische Komplexität?
A: Zyklomatische Komplexität ist ein Maß für die Anzahl der unabhängigen Pfade in einer Anwendung oder einem Programm. Diese Metrik gibt einen Hinweis auf den Aufwand, der für das Testen der gesamten Funktionalität erforderlich ist. Sie kann durch den Ausdruck – definiert werden.
L – N + 2P, wobei:
L ist die Anzahl der Kanten im Diagramm
N ist die Anzahl der Knotenpunkte
P ist die Anzahl der unverbundenen Teile
Frage Nr. 100. Was sind die Einstiegskriterien für Softwaretests?
Antwort Zu den Voraussetzungen, die für den Start einer Testaktivität erforderlich sind, gehören die Testumgebung, das Testwerkzeug, die Testdaten, die Datenbankverbindung und vieles mehr.
Frage Nr. 101. Was sind die Ausstiegskriterien für Softwaretests?
A: Exit-Kriterien sind eine formale Reihe von Bedingungen, die eine vereinbarte Eigenschaft oder einen Zustand einer Anwendung festlegen, um den Abschluss eines Prozesses oder Produkts anzuzeigen.
Frage Nr. 102. Was ist der Unterschied zwischen Testen und Debuggen (Testen und Fehlersuche)
Antwort: Das Testen wird in erster Linie vom Testteam durchgeführt, um Fehler im System zu finden. Das Debugging ist eine Aktivität, die vom Entwicklungsteam durchgeführt wird. Bei der Fehlersuche wird die Ursache des Fehlers erkannt und beseitigt. Dadurch wird der Fehler behoben und in Zukunft vermieden.
Ein weiterer Unterschied zwischen den beiden Aktivitäten ist, dass das Testen ohne interne Kenntnisse der Softwarearchitektur durchgeführt werden kann. Die Fehlersuche erfordert Kenntnisse der Softwarearchitektur und der Programmierung.
Frage Nr. 103. Erklären Sie die agile Methodik.
Antwort: Die agile Softwareentwicklungsmethodik basiert auf einem iterativen und inkrementellen Ansatz. Bei diesem Modell wird die Anwendung in kleinere Baugruppen unterteilt, an denen verschiedene funktionsübergreifende Teams gemeinsam arbeiten. So wird eine schnelle Lieferung bei gleichzeitiger Anpassung an sich ändernde Anforderungen gewährleistet.
Frage Nr. 104. Was ist Scrum?
A: Scrum ist der Prozess der Implementierung einer agilen Methodik. In einem Scrum wird die Zeit in Sprints eingeteilt und das Produkt wird geliefert, wenn diese abgeschlossen sind.
Frage Nr. 105. Was sind die verschiedenen Rollen im Scrum?
Antwort: Die verschiedenen Rollen in Scrum sind –
1 Product Owner – Der Product Owner ist für die gesamte Produktentwicklung zuständig, weist dem Team Aufgaben zu und fungiert als Schnittstelle zwischen dem Scrum-Team (Entwicklungsteam) und den Stakeholdern.
2. Scrum Master – Der Scrum Master sorgt dafür, dass das Team die Regeln einhält und leitet die Sitzungen.
3. Scrum-Team – Das Scrum-Team nimmt an den Scrum-Meetings teil und führt die zugewiesenen Aufgaben aus.
Frage Nr. 106. Was ist ein Scrum-Meeting?
A: Ein Scrum-Meeting ist ein tägliches Treffen im Rahmen des Scrum-Prozesses. Diese Besprechung wird vom Scrum Master geleitet. In dieser Besprechung wird ein Update der Arbeit des vergangenen Tages sowie die Aufgaben und der Kontext für den nächsten Tag festgelegt.
Frage Nr. 107. Erklären Sie das Konzept von TDD (Test Driven Development).
Antwort: Testgetriebene Entwicklung ist eine Softwareentwicklungsmethodik, bei der die Softwareentwicklung von Testfällen geleitet wird, die für die implementierte Funktionalität erstellt werden. Bei TDD werden zunächst Testfälle erstellt und dann wird der Code so geschrieben, dass er die Tests besteht. Später wird der Code entsprechend den Standards umgestaltet.
Frage Nr. 108. Was ist der Unterschied zwischen versteckten und maskierten Fehlern?
A: Ein latenter Fehler ist ein nicht identifizierter Fehler, der in der aktuellen Version vorhanden ist, aber nicht sichtbar ist, weil die Bedingungen, unter denen der Fehler gefunden werden könnte, nie erfüllt wurden. Diese Arten von Defekten erscheinen nur, wenn ein bestimmtes Ereignis ausgelöst wird, das ihr Vorhandensein verdeckt.
Ein verdeckter Fehler hingegen ist ein vorhandener Fehler, der noch keinen Ausfall verursacht hat, weil ein anderer Fehler ihn verdeckt oder verhindert hat, dass er entdeckt wird.
Frage Nr. 109. Was ist der PDCA-Zyklus beim Softwaretest?
A: Der PDCA-Zyklus ist der Schlüssel zur kontinuierlichen Prozessverbesserung in der Softwareentwicklung. Es umfasst die folgenden 4 Schritte –
- PLAN – Planen Sie Absichten, Ziele und Initiativen, die zur Kundenzufriedenheit beitragen werden.
- DO – Setzt den Plan in die Praxis um. Um den Kunden mit höherer Qualität und Zufriedenheit zu bedienen, ist es notwendig, einen guten Plan zur Umsetzung zu haben.
- CHECK – Überprüfung des Fortschritts bei der Umsetzung des Plans. Das Ergebnis wird genau zeigen, wie die Planung durchgeführt wurde.
- ACT – Auf die Ergebnisse reagieren, um weitere Verbesserungen vorzunehmen, die zur Erreichung der geplanten Ziele beitragen.
Frage Nr. 110. Was ist Defekt-Kaskadierung?
A: Die Defektkaskade ist die Auslösung eines Defekts durch einen anderen Defekt. Er tritt auf, wenn das Testteam einen Fehler nicht erkennt und dieser einen anderen Fehler auslöst.
Frage Nr. 111. Was ist eine Testmetrik?
Antwort: Testmetriken sind eine quantitative Analyse, die bei der Überwachung des Fortschritts eines Softwareprojekts hilft. Jedes Projekt hat seinen eigenen Zeitplan. Um eine termingerechte Projektabwicklung zu gewährleisten, müssen die Ergebnisse in unterschiedlichen Abständen festgelegt werden.
Frage Nr. 112. Was ist kontextabhängiges Testen?
Antwort: Kontextorientiertes Testen ist eine Art des Testens, bei der Testverfahren und -methoden übernommen und manchmal an den Kontext des Projekts angepasst werden.
Bei dieser Art des Testens folgen wir nicht den besten Praktiken, sondern dem, was für das Projekt am besten geeignet ist, basierend auf den Fähigkeiten, der Erfahrung und dem Urteil des Testteams.
Frage Nr. 113. Wie können Sie eine Anwendung ohne ein Anforderungsdokument testen?
Antwort: Eine Anwendung kann ohne ein formelles Anforderungsdokument getestet werden, indem man –
- Durch die Überprüfung von Bewerbungen, die sich in ihrer Art ähneln.
- Testen auf der Grundlage der idealen Benutzererfahrung. Auch ohne Anforderungen zu haben, kann der Tester die Benutzerfreundlichkeit der Anwendung testen.
- Sondierungstests verwenden. Da keine Dokumentation verfügbar ist, können die Tester explorative Tests durchführen und die Anwendung spontan und mit einem praxisorientierten Ansatz testen.
- Stellen Sie so viele Fragen wie möglich und führen Sie ein Brainstorming mit verschiedenen Interessengruppen durch – Produktmanager, Entwickler usw.
Frage Nr. 114. Wie schreibt man effektive Testfälle?
A: Wir können effektive Testfälle mit den folgenden Ansätzen schreiben.
- Durch die Anwendung von Testentwurfstechniken wie Grenzwertanalyse, Äquivalenzklassenpartitionierung, Entscheidungstabellentests usw.
- Indem Sie klare und prägnante Testfälle schreiben, die nicht zweideutig sind.
- Die Einhaltung einer einheitlichen Nomenklatur hilft auch bei der Erstellung effektiver Testfälle.
- Die Vermeidung von Redundanz führt zu einer Verschwendung von Ressourcen und Zeit. Gute Testfälle müssen also keine Redundanz aufweisen.
- Die Verwendung einer Matrix zur Rückverfolgbarkeit von Anforderungen hilft, eine maximale Testabdeckung zu gewährleisten.