AP2_FIAE - Software-Tests - Einführung in Software-Tests

Deck: AP2_FIAE Kategorie: Software-Tests Subkategorie: Einführung in Software-Tests Anzahl Karten: 33


Was ist ein Testfall (Test Case)?::Ein Testfall ist eine spezifische Situation oder Bedingung, unter der ein Test durchgeführt wird, um die Funktionsweise eines Softwareteils zu überprüfen.

Was ist eine Test Suite?::Eine Test Suite ist eine Sammlung von Testfällen, die zusammen gruppiert sind, um eine bestimmte Softwarefunktion oder -funktionalität umfassend zu testen.

Was ist eine Assertion?::Eine Assertion ist eine Prüfung, die während eines Tests vorgenommen wird, um zu bestätigen, dass das Software-Verhalten den Erwartungen entspricht.

Was ist ein Bug oder Fehler?::Ein Bug oder Fehler ist ein Problem in der Software, das dazu führt, dass sie nicht wie erwartet funktioniert.

Was sind Regressionstests?::Regressionstests stellen sicher, dass frühere Softwarefunktionen nach Änderungen oder Aktualisierungen weiterhin korrekt funktionieren.

Was ist Testabdeckung (Test Coverage)?::Die Testabdeckung misst, wie viel des Codes durch Tests überprüft wird.

Was ist testgetriebene Entwicklung (Test-Driven Development - TDD)?::Testgetriebene Entwicklung ist ein Softwareentwicklungsprozess, bei dem Tests geschrieben werden, bevor der Code entwickelt wird.

Was ist Continuous Integration (CI)?::Continuous Integration ist eine Softwareentwicklungspraxis, bei der Mitglieder eines Teams häufig Änderungen in einem gemeinsamen Repository integrieren und jede Integration automatisch gebaut und getestet wird.

Was ist Black-Box-Testing?::Black-Box-Testing bezieht sich auf eine Testmethode, bei der die interne Struktur oder der Code der zu testenden Anwendung nicht bekannt ist und der Fokus auf den Eingabe- und Ausgabewerten liegt.

Was ist White-Box-Testing?::White-Box-Testing ist eine Methode, bei der der Tester Kenntnisse über interne Strukturen, Design und Implementierung der Software hat und oft Pfade durch den Code und interne Schnittstellen geprüft werden.

Was ist Black-Box-Testing?::Black-Box-Testing fokussiert auf die externe Funktionalität und Anforderungen der Software, und der Tester kennt die internen Strukturen nicht.

Was ist White-Box-Testing?::White-Box-Testing fokussiert auf die interne Logik und Struktur der Software, und der Tester kennt interne Wege, Datenstrukturen und Algorithmen.

Was ist Grenzwertanalyse?::Die Grenzwertanalyse konzentriert sich auf die Grenzwerte von Eingabedaten mit dem Ziel, die robusten Grenzbedingungen der Software herauszufinden.

Was ist Äquivalenzklassenbildung?::Bei der Äquivalenzklassenbildung werden die Eingabedaten in Gruppen oder Klassen eingeteilt, die ähnliches Verhalten der Software provozieren, um die Testfälle zu minimieren.

Was ist zustandsbasiertes Testen?::Zustandsbasiertes Testen untersucht das Verhalten der Software basierend auf ihren möglichen Zuständen mit dem Ziel, Übergänge zwischen Zuständen und die damit verbundene Logik zu testen.

Was sind Entscheidungstabellen?::Entscheidungstabellen visualisieren Geschäftslogik und Entscheidungsprozesse in einer tabellarischen Form mit dem Ziel, komplexe Geschäftsregeln systematisch zu testen.

Was ist Pairwise-Testing?::Pairwise-Testing ist eine Testtechnik, die darauf abzielt, alle möglichen Kombinationen von Paaren von Eingabeparametern zu testen, um die Anzahl der Testfälle zu reduzieren.

Was sind explorative Tests?::Explorative Tests sind eine unstrukturierte Testmethode, bei der Testdesign und Testdurchführung parallel laufen mit dem Ziel, durch manuelle Exploration unbekannte Fehler zu finden.

Was ist erfahrungsbasiertes Testen?::Erfahrungsbasiertes Testen verlässt sich auf das Wissen und die Erfahrung des Testers, um kritische Bereiche der Software zu identifizieren und zu testen mit dem Ziel, sich auf Bereiche mit hoher Fehlerwahrscheinlichkeit zu fokussieren.

Welche Art von Tests werden von Entwicklern in der Entwicklungsphase durchgeführt?::In der Entwicklungsphase werden Unit-Tests von Entwicklern geschrieben und durchgeführt, um sicherzustellen, dass jede Komponente wie erwartet funktioniert.

Welche Tests werden in der Testphase durchgeführt?::Die Testphase fokussiert sich auf das Auffinden von Defekten und umfasst Systemtests, die das gesamte System in einer Umgebung testen, die der Produktionsumgebung ähnelt, und Akzeptanztests, die sicherstellen, dass die Software den Benutzeranforderungen entspricht.

Welche Tests werden nach dem Einsatz der Software durchgeführt?::Nach dem Einsatz der Software werden Regressionstests und Wartungstests durchgeführt, um sicherzustellen, dass neue Features oder Patches keine bestehenden Funktionen beeinträchtigen.

Was ist das Konzept des Continuous Testing?::Continuous Testing ist das Konzept, Tests kontinuierlich während des SDLC zu integrieren, um sofortiges Feedback zu Defekten und Problemen zu liefern.

Was ist ein Vorteil der frühen und kontinuierlichen Tests?::Ein Vorteil ist die frühe Fehlererkennung, da Fehler, die in frühen Phasen gefunden werden, kostengünstiger zu beheben sind.

Was ist ein weiterer Vorteil der frühen und kontinuierlichen Tests?::Ein weiterer Vorteil ist die bessere Softwarequalität, da kontinuierliche Tests die Qualität der Endprodukte verbessern.

Was ist ein dritter Vorteil der frühen und kontinuierlichen Tests?::Ein dritter Vorteil ist eine kürzere Markteinführungszeit, da durch die Reduzierung der Zeit für die Fehlerbehebung die Software schneller veröffentlicht werden kann.

Was sind Kostenfaktoren bei Software-Tests?::Kostenfaktoren bei Software-Tests sind Personal, Werkzeuge und Technologien, Testinfrastruktur und Zeit.

Welcher Nutzen ergibt sich aus Software-Tests in Bezug auf Fehler?::Ein Nutzen von Software-Tests ist die Fehlerfrüherkennung, durch die Kosten für spätere Korrekturen signifikant reduziert werden können.

Welchen Nutzen haben Software-Tests für die Softwarequalität?::Software-Tests verbessern die Softwarequalität, indem sie sicherstellen, dass die Software den Anforderungen entspricht und frei von kritischen Fehlern ist.

Welchen Nutzen haben Software-Tests für die Kundenzufriedenheit?::Hochwertige und zuverlässige Software, die durch Tests erreicht wird, führt zu einer höheren Zufriedenheit der Endnutzer.

Welchen Nutzen haben Software-Tests für die Risikominimierung?::Durch Tests können potenzielle Risiken, insbesondere bei sicherheitskritischen Anwendungen, frühzeitig identifiziert und gemindert werden.

Welchen Nutzen haben Software-Tests für die Marktreputation?::Fehlerfreie Software, die durch Tests erreicht wird, stärkt das Vertrauen der Nutzer und das Image des Unternehmens im Markt.

Was sollte bei der Kosten-Nutzen-Abwägung von Software-Tests berücksichtigt werden?::Bei der Kosten-Nutzen-Abwägung sollten eine Risikoanalyse, Budgetbeschränkungen und der Zeitrahmen berücksichtigt werden.