25

Softwaretest (Fach) / Basiswissen (Lektion)

Basiswissen Softwaretest

Diese Lektion wurde von marcelmm erstellt.

Lektion lernen

Anzeige
  • Definieren Sie den Begriff Fehlerwirkung, Fehlerzustand,Fehlhandlung. Die Fehlhandlung ist die Ursache für einen Fehler/Fehlerzustand, die Fehlhandlung ist z.B. ein falsch eingegebener Code Abschnitt in einer Software. Ein Fehlerzustand resultiert aus einer Fehlhandlung, hierbei handelt es sich um den Fehler der sich z.B. im Programmcode befindet. Die Fehlerwirkung kann auf einen Fehlerzustand rückzuführen sein, die Fehlerwirkung ist das Ergebnis welches durch den Fehlerzustand ausgelöst wird
  • Was ist eine Fehlermaskierung? Ein vorhandener Fehlerzustand wird durch einen oder mehrere Fehlerzustände kompensiert, so das er momentan keine Fehlerwirkung hervorruft.
  • Erläutern sie den Unterschied zwischen testen und debugging Der Unterschied zwischen Debugging und Testen liegt darin, dass beim Debugging die Fehler im Programmcode gesucht und behoben werden. Beim Testen wird nach Fehlerwirkungen gesucht, welche auf einen Fehlerzustand aufgrund einer Fehlhandlung schließen.
  • Erläutern sie warum jeder Test eine Stichprobenartige Prüfung ist Jeder test ist eine Stichprobenartige prüfung, da keine Software komplett Fehlerfrei sein kann.
  • Nennen sie die Hauptmerkmale der Softwarequalität nach ISO9126 Funktionalität, Zuverlässigkeit, Benutzbarkeit, Effiziens, Änderbarkeit, Übertragbarkeit
  • Definieren sie den Begriff Zuverlässigkeit in einem System Als Zuverlässig gilt ein System das Fehlertollerant und Wiederherstellbar ist.
  • Erläutern sie die Phasen des Fundamentalen Testprozesses 1.Testplanung und Teststeuerung Aufgaben und Zielsetzung des Tests werden festgelegt.  Notwendige Werkzeugunterstützung wird organisiert. Bei der Testplanung und Steuerung werden Risiken abgeschätzt und Prioritäten gesetzt. Programm Komponenten die ein großes Risiko beherbergen werden am aufwendigsten überprüft. Komponenten die kein oder kein großes Risiko bilden werden gar nicht oder nur teilweise getestet. Dies wird aufgrund der geringen zur Verfügung stehenden Zeit so gehandhabt. Ziel ist die optimale Verteilung der Tests auf die richtigen Stellen des Softwaresystems. Logische Testfälle: x<15000 =0% Rabatt Konkreter Testfall:14500 = 0€ Rabatt 2. Analyse und Design Die Testbarkeit wird überprüft, es wird darauf geachtet ob eine Rückverfolgbarkeit zwischen den zu testenden Anforderungen und den Testfällen, logische und konkrete Testfälle werden definiert. Blackbox verfahren: Testfälle werden aus der Spezifikation von Testobjekten ermittelt. Whitebox verfahren: Testfälle werden auf Grundlage des Programmtextes definiert. Für jeden Testfall muss die Ausgangssituation beschrieben werden, es muss klar sein welche Randbedingungen für den Test festgelegt wurden. Außerdem wird vor der Testdurchführung festgelegt welches Verhalten der Software erwartet wird.     3. Realisierung und Durchführung Es wird der Ablauf der Testfälle festgelegt, es wird der konkrete Ablauf des Tests festgelegt. Testrahmen müssen programmiert sein und in der Testumgebung installiert sein. Danach kann mit der Durchführung begonnen werden, es wird damit begonnen die Software auf eventuelle Start und Ablauffähigkeiten zu überprüfen. Im Anschluss werden die Hauptfunktionen überprüft, wenn sich hier schon Fehler bemerkbar machen wird mit dem testen vorerst nicht fort gefahren,  erst nachdem diese Fehler korrigiert wurden kann es weiter gehen. Das ganze muss exakt Protokolliert werden, da der Test sonst sinnlos wäre. 4. Auswertung und Bericht In diesem Teil des Ablaufs wird bewertet ob die Testendkriterien der Planung erfüllt werden. Wurden alle Anforderungen erfüllt, kann dies zum Abschluss des Testvorgangs führen. 5. Abschluss Hier werden die Fragen beantwortet, welche geplanten Ergebnisse wann erreicht wurden, welche vorhergesehenen Ereignisse eingetreten sind, ob es offene Änderungswünsche gibt und warum diese nicht umgesetzt wurden und wie hoch die Akzeptanz beim Einsatz des Systems war.  
  • Was ist ein Testorakel? Ist eine Informationsquelle zur Ermittlung der Sollergebnisse, es kann ein bestehendes system oder ein Benutzerhandbuch sein.
  • Warum sollte ein Entwickler nicht seine eigenen Programme testen?   Menschen wollen Fehler die sie begangen haben nur sehr ungern zugeben, daher gibt es Dinge die beachtet werden müssen beim Hinweisen eines Entwicklers auf eine Fehlerwirkung. Ein Entwickler z.B. hat meist Probleme damit sein Programm selbst zu testen, da er voreingenommen ist und seinem eigenen Projekt immer optimistisch entgegen tritt. Hat er durch ein falsch verstehen der Aufgabenstellung Fehler im Design eingebaut so wird er diese Fehler auch beim Testen nicht bemerken, da sich an der Ausgangssituation, der Unwissenheit nichts geändert hat.
  • Deffinieren sie den Begriff Verifikation Prüfung ob die Ergebnisse die Vorgaben des Phaseneingangsdokuments erfüllen.
  • Anzeige
  • Deffinieren sie den Begriff Validierung Prüfung ob ein Entwicklungsergebniss die Individuellen Anforderungen bezüglich einer speziellen beabsichtigten Nutzung erfüllt.
  • Testziele eines Integrationstest Erfolgt nach erfolgreichen Komponententests und testet ob die einzelnen Komponenten richtig zusammenarbeiten
  • Zufallstest Blackbox-Testentwurfsverfahren, bei dem Testfälle zufällig ausgewählt werden. Zum test der Zuverlässigkeit und Perfomanz.
  • Zweigüberdeckung Prozentuale Anteil von allen Entscheidungen/zweigen eines Testobjekts, die durch eine Testsequenz abgedeckt wurden.
  • Zweigtest Kontrollflussbasiertes Whitebox-Testverfahren, das die mindestens einmalige Ausführung aller Ausgänge von entscheidungen des Testobjekts fordert.
  • Zustandsmodell Ein Modell das die Zustände beschreibt , die ein System oder eine Komponente annehmen kann.
  • Zustandsautomat Ein berechnungsmodell, bestehend aus einer endlichen Anzahl von Zuständen und zustandsübergängen.
  • Whitebox Verfahren Alle Verfahren , die zur Herleitung oder Auswahl der Testfälle Informationen über die innere Struktur des Testobjekts benötigen.
  • Zugriffssicherheitstest Test um die Sicherheit einer Software zu bestimmen.
  • Vorbedingung Zustand des Testobjekts der gegeben sein muss um den Testfall oder ine Testsequenz ablaufen zu lassen.
  • dead code Code der nicht zur Ausführung gebracht werden kann
  • Testzyklus Ausführen einer Reihe von Testfällen
  • Testverfahren Systematische kombination von Tätigkeiten zum erzeugen eines Testergebnisses
  • Testumgebung Hardware und Softwarekomponenten die notwendig sind um Testfälle durchzuführen.
  • Testszenario Zusammenstellung von Testsequenzen