53
SW Test (Fach) / Testen im Software- lebenszyklus (Lektion)
-Software Entwicklungsmodelle
-Teststufen
-Testarten
-Wartungstest
Diese Lektion wurde von ray1 erstellt.
Anzeige
- Was ist ein Fehler? Nichterfüllung der Anforderung. Oder Abweichung zwischen dem Ist- und dem Soll Verhalten.
- Was ist ein Mangel ? Eine Anforderung oder berechtigte Erwartung wird nicht ausreichend erfüllt.
- Was ist Fehlerhandlung (error), Fehlerzustand (defect), Fehlerwirkung (failure) ? Fehlerhandlung: Menschliche Handlung die zu einen Fehlerzustand in SW führt. Fehlerzustand: fehlerhafte Anweinsung/Datendefinition in Programm. Was zu einer Fehlerwirung führen kann. Oder auch, wenn zu hohe Belasung eine geforderte Funktion beeinträchtigt wird. Fehlerwirkung: Der Fehlerzustand wird nach "außen" sichtbar. Das spezifizierte Soll-Wert weicht von Ist-Wert ab.
- Was ist Validierung, Verifizierung ? Validierung: Erfülllt das Produkt die Anforderungen für die gewünschte Nutzung. Haben wir das richtige System realisiert ? (v-modell von rechts nach links) Verifizierung: Sind die Phaseneingangs-Dokumente erfüllt? Haben wir das System richtig realisiet ? Verifizierung ist im Gegensatz zur Validierung auf eine einzelne Entwicklungsphase( zb. Anforderungsdefinition, funktionaler Systementwurf usw.) bezogen und soll die Korrektheit und Vollständigkeit eines Phasenergebnisses relativ zu seiner direkten Spezifikation (Phaseneingangsdokumente) nachweisen. (v-modell von unten nach oben)Untersucht wird, ob die Spezifikationen korrekt umgesetzt wurden, unabhängig von einem beabsichtigten Zweck oder Nutzen des Produkts.
- Was ist SW-Qualität ? Das System, Komponente, Prozess erfüllt die Kundenerwartungen und bedürfnisse. Qualitätsmerkmale beziehen sich auf Funktionale und Nicht-Funktionale Anforderungen. -Der Grad, in dem ein System, eine Komponente oder ein Prozessdie Kundenerwartungen und -bedürfnisse erfüllt. [Nach IEEE 610]-Der Grad, in dem ein Satz inhärenter Merkmale Anforderungenerfüllt.
- SW-Qualität in Gebrauchsqualität merkmale ? - Effektivität (SW befindet sich in Genauigkeit und Vollständigkeitsgrenzen) - Produktivitäten (SW befindet sich innerhalb der Aufwandsgrenzen für Benutzer) -Sicherheit (innerhalb Risikogrenzen) -Zufriedenheit (Subjektive Zufriedenheit der Benutzer)
- SW - Qualität: Merkmale Äußere und innere Qualität ? Äußere: -Funktionalität (Richtigkeit, Angemessenheit, (Daten-) Sicherheit) -Zuverlässigkeit (Reife, Fehlertoleranz, Wiederherstellbarkeit) -Benutzbarkeit (Verständlichkeit, Erlernbarkeit, Bedienbarkeit) (wie intuitiv ist die UX) -Effizienz (Zeitverhalten, Verbrauchsverhalten) Innere: -Änderbarkeit (Analysieerbarkeit, Modifizierbarkeit, Stabilität) -Portierbarkeit (Anpassbarkeit, Installierbarkeit, Austauschbarkeit)
- Was sind Funktionale Anforderungen ? Fachlichkeit, Funktionen( SW tut nur das was Kunde benötigt) , Schnittstellen (was macht die SW? z.b. benuzter erstellen)
- Was sind Nicht-Funktionale Anforderungen ? Qualitäts- und Realisierungsanforderungen, Projektspezifische Anforderungen. ((Alles um die SW herum also wie macht die SW das) (Performanze gehört zu nicht..)) Zuverlässigkeit, Benutzbarkeit, Efizienz, Änderbarkeit, Portierbarkeit
- Warum testen ? -Erhöht indirekt die Qualität da Feher vor ausliefern entdeckt / korrigert werden. -Erhöht indirekt Prozessqualität, weil Fehler dokumentiert, analyiset und somit Fehlhandlungen vermieden werden können. -Erhöht das Vertrauen in die Qualität.
- Anzeige
- Wie misst testen die Qualität ? z.B. anhand der Anzahl gefundener Fehlerwirkungen.
- Merkmale SW -Qualität nach ISO 25010 ? -Funktionalität -Zuverlässigkeit -Benutzbarkeit -Sicherheit -Kompabilität (Verträglichkeit, Vereinbarkeit) -Portabilität -Wartbarkeit -Leistungsfähigkeit
- Wann ist ein Testaufwand gerechtfertigt ? solange die Kosten für das Finden und Beseitigen eines Fehlers im Test niedriger sind als die Kosten, die mit dem Auftreten eines Fehlers bei der Nutzung verbunden sind. Erfolgreiches Testen senkt die Kosten.
- Die 7 Grundsätze zum Testen -Testen zeigt die Anwesenheit von Fehlerzuständen. -Vollständiges Testen ist nicht möglich. -Mit dem Testen frühzeitig beginnen. -Häufung von Fehlern (Fehlercluster) -Wiederholungen haben keine Wirksamkeit -Testen ist abhängig von Umfeld -Trugschluss: kein Fehler heißt, dass System ist brauchbar.
- Nenne einige Kriterien zur Test Priorisierung Zeit und Personal ist beschränkt, dies erfordert das wichtige Testfälle zuerest durchgeführt werden. Kriterien: -Erwartete Fehlerschwere bzw. Höhe des Schadens- Eintrittswahrscheinlichkeit einer Fehlerwirkung- Kombinierte Betrachtung von Schwere und Eintrittswahrscheinlichkeit (Risiko = Schadenshöhe * Eintrittswahrscheinlichkeit)
- Welche Phasen und Teststufen beschreiben das V Model ? Anforderungsdefinition -------> Abnahmetest funktionaler Systementwurf -------> Systemtest technischer Systementwurf -------> Integrationstest Komponenten Spezifikation -------> Komponententest Programierung
- Welche Ziele werden mit Testen erreicht ? -Fehlerzustände aufdecken -Vertrauen bezüglich Qualitätsniveaus -Entscheidungsfindung durch die gewonnenen Informationen -Fehlerzuständen Vorbeugen
- Richtigkeit ? Merkmale von Software, die sich auf das Liefern der richtigen oder vereinbarten Ergebnisse oder Wirkungen beziehen.
- Rolle von Testen ? Risiko reduzieren Qualität erhöhen Fehler finden
- Was ist Sicherheit als Äußerlicher Qualitätsmerkmal ? Merkmal von SW die sich auf ihre Eignung bezieht unbereichtigter Zugriff (versehentlich, vorsätzlich) auf Prog. und Daten zu verhindern.
- Interoperabilität ? kann mit vorgegebenen Systemen zusammenarbeiten. Langfassung: Merkmale von Software, die sich auf ihre Eignung beziehen, mit vorgegebenen Systemen zusammenzuwirken.
- Reife ? SW ist fähig Fehlerwirkungen aufgrund von Fehlerzuständen in der Software vermeiden
- Zeitverhalten ? Merkmale von Software, die sich beziehen auf die Antwort- und Verarbeitungszeiten und auf den Durchsatz bei der Ausführung ihrer Funktionen.
- Konformität ? Normen oder Vereinbarungen zur Übertragbarkeit werden von SW erfüllt
- Was gehört zu Analyse und Design Phase ? Testziele werden hier verfeinert zu konkreten Testbedingungen und Testfällen -Review der Testbasis -Testbasis u. Testobjekte werden zur Testbarkeit bewertet -Identifizierung und Priorisierung der Testbedingungen -Entwurf u. Prior.. von abstrakten Testfällen -Testdaten identifizieren -Entwurf des Testumgebungsaufbaus
- Was gehört zu Realisierung und Durchführungs Phase ? Hier findet der eigentliche Test statt -kontrete Testfälle Entwurf und Ausführung -Erstellung von Testablauf (u. hier auch Prio), Testdaten, Testszenarien, Testsuiten, -ggf. Skriptentwicklung für Automatisierung -Konfiguration der Testumgebung -Protokollierung, Vergleich zwichen Ist-Ergebniss und soll, Analyse von gefundenen Fehlerwirkungen (also ohne genau den Fehlerzustand zu lokalisieren) -Fehernachtest, Regressionstest
- Was ist ein Fehlernachtest u. Regressionstest ? x Fehlernachtest: Die Wiederholung aller Testfälle, die vor der Fehlerkorrektur eine Fehlerwirkung erzeugt haben. Sie dient der Überprüfung, ob die Korrektur des ursächlichen Fehlerzustands erfolgreich war. Prüfen auf erfolgreiche Beseitigung eines Fehlers (Nachtest) Regressionstest: Erneutes Testen eines bereits getesteten Programms bzw. einer Teilfunktionalität nach deren Modifikation. Ziel ist es nachzuweisen, dass durch die vorgenommenen Änderungen keine Fehlerzustände eingebaut oder (bisher maskierte Fehlerzustände) freigelegt wurden.Anmerkung:Ein Regressionstest wird durchgeführt, wenn die Software oder ihreUmgebung verändert wurde. Prüfen auf unbeabsichtigte bzw. ungewollte Änderungen oder Seiteneffekte (Regressionstest)
- Was passiert in Auswertung und Bericht Phase ? Testprotokoll wir ausgewertet, ggf. weitere Tests und oder Anpassung der Endekriterien, Erstellung des Testabschlussberichts
- Was passiert in Abschluß Phase ? sind alle Dokumente, Berichte erstellt / versendet worden. -hier können Änderungsanforderungen gestellt werden. -Archivierung von Testmitteln -Lessons learned
- Pyramide in der Psychologie des Testens Unabhängigkeit Betriebsblindheit Vertrautheit
- Anzeige
- Was sind endekriterien/ausgangskriterien ? abgestimmte Bedingungen die von allen als Abschluß eines Prozesses akzeptiert wurden. -zb. Abgabedatum, Lieferdatum, wenn alle Tests erfolgreicht abgeschloßen wurden, Budge erschöpft.
- Was ist ein erschöpfender Test ? Testansatz, bei dem die Testsuite alle Kombinationen von Eingabewerten und Vorbedingungen umfasst.
- Was ist ein Mastertestkonzept ? Ein Testkonzept, das sich typischerweise auf mehrere Teststufen bezieht. -Wie gehe ich in teilprojekten vor, was gibt es für Testinstanzen, auf welche stuffe werden welche tests durchgeführt.
- was sollte man unter Reviews verstehen ? Eine Bewertung eines Produkts oder eines Projektstatus. Sie dient dazu, Diskrepanzen zu den geplanten Ergebnissen aufzudecken und Verbesserungspotenziale zu identifizieren. Review ist ein Oberbegriff für Management Review, informelles Review, technisches Review, Inspektion und Walkthrough.
- Testmittel ? Alle Artefakte, die während des Testprozesses erstellt werden und die erforderlich sind, um die Tests zu planen, zu entwerfen oder auszuführen.
- Testrichtlinie Ein Dokument, das auf hohem Abstraktionsniveau die Prinzipien, den Ansatz und die wichtigsten Ziele einer Organisation in Bezug auf das Testen zusammenfasst.
- Testüberdeckung ? wenn z.b. alle Code zeilen(z.b. Zweig) im code einmal überdeckt sind.
- Angemessenheit ? Merkmale von Software, die sich auf das Vorhandensein und die Eignung einer Menge von Funktionen für spezifizierte Aufgaben beziehen. Die Fähigkeit eines Softwareprodukts für spezifizierte Aufgaben und Zielsetzungen der Benutzer einen geeigneten Satz Funktionen zu liefern [ISO 9126].
- Ordnungsmäßigkeit ? Merkmale von Software, die bewirken, dass die Software anwendungsspezifische Normen oder Vereinbarungen oder gesetzliche Bestimmungen und ähnliche Vorschriften erfüllt.
- Fehlertoleranz ? Merkmale von Software, die sich auf ihre Eignung beziehen, ein spezifiziertes Leistungsniveau bei Software-Fehlern oder Nicht-Einhaltung ihrer spezifizierten Schnittstelle zu bewahren. Die Fähigkeit eines Softwareprodukts, ein spezifiziertes Leistungsniveau auch bei Fehlfunktionen oder trotz Fehleingaben (z.B. falsche Bedienung) aufrecht zu erhalten [ISO 9126].
- Wiederherstellbarkeit ? Merkmale von Software, die sich beziehen auf die Möglichkeit, bei einem Versagen ihr Leistungsniveau wiederherzustellen und die direkt betroffenen Daten wiederzugewinnen und auf die dafür benötigte Zeit und den benötigten Aufwand.
- Verständlichkeit ? Merkmale von Software, die sich auf den Aufwand für den Benutzer beziehen, das Konzept und die Anwendung zu verstehen.
- Erlernbarkeit ? Merkmale von Software, die sich auf den Aufwand für den Benutzer beziehen, die Anwendung zu erlernen
- Bedienbarkeit ? Merkmale von Software, die sich auf den Aufwand für den Benutzer bei der Bedienung und Ablaufsteuerung beziehen
- Verbrauchsverhalten ? Merkmale von Software, die sich darauf beziehen, wie viele Betriebsmittel bei der Erfüllung ihrer Funktionen benötigt werden und wie lange.
- Analysierbarkeit ? Merkmale von Software, die sich auf den Aufwand beziehen, der notwendig ist, um Mängel oder Ursachen von Versagen zu diagnostizieren oder um änderungsbedürftige Teile zu bestimmen.
- Modifizierbarkeit ? Merkmale von Software, die sich auf den Aufwand beziehen, der zur Ausführung von Verbesserungen, zur Fehlerbeseitigung oder zur Anpassung an Umgebungsänderungen notwendig ist.
- Stabilität ? Merkmale von Software, die sich auf das Risiko unerwarteter Wirkungen von Änderungen beziehen.Die Fähigkeit eines Softwareprodukts, unerwartete Auswirkungen von Änderungen zu vermeiden [ISO 9126].
- Testbarkeit ? Merkmale von Software, die sich auf den Aufwand beziehen, der zum Testen der geänderten Software notwendig ist.
- Anpassbarkeit ? Merkmale von Software, die sich auf die Möglichkeit beziehen, sie an verschiedene festgelegte Umgebungen anzupassen, wenn nur Schritte unternommen oder Mittel eingesetzt werden, die für diesen Zweck für die betrachtete Software vorgesehen sind.