Benutzer-Werkzeuge

Webseiten-Werkzeuge


se:softwaretest

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste Überarbeitung Beide Seiten der Revision
se:softwaretest [2008-04-09 10:46]
stefan
se:softwaretest [2008-04-13 13:13]
stefan
Zeile 1: Zeile 1:
 ====== Sofware-Test ====== ====== Sofware-Test ======
- 
  
 ===== Klausurvorbereitung ===== ===== Klausurvorbereitung =====
-  * Beispiele für Softwarefehler + 
-  * Begriffe ​Test +==== Begriffe Test ==== 
-  * Test im Verlauf des Entwicklungsprozesses +  * Definition ​Test, Testbasis, System, Tester, Kunde, Benutzer 
-    * Qualitätsmerkmale ISO 9126 +  * Warum kann die Fehlerfreiheit eines Programms nicht nachgewiesen werden? 
-  * Verfahren zur Ermittlung von Testfällen +  * Test als Optimierungsproblem 
-  * Testautomatisierung + 
-  * Testprozess + 
-    * Generischer Testprozess +==== Test im Verlauf des Entwicklungsprozesses ​==== 
-    * Ziele und Schwerpunkte+  * Phasen des V-Modells 
 +    ​* Modultest 
 +    * Integrationstest 
 +      * Strategien (5) 
 +    * Systemtest 
 +    * Abnahmetest 
 +  * Regressionstest 
 +    * Änderungsszenarien (5) 
 +    * Strategien (5) 
 +  * Arten von Tests (5) 
 +  ​* Qualitätsmerkmale ISO 9126 (6) 
 +    Funktionalität (5) 
 +    * Zuverlässigkeit (3) 
 +    * Benutzbarkeit (3) 
 +    * Effizienz (2) 
 +    * Wartungsfreundlichkeit (3) 
 +    * Übertragbarkeit (4) 
 + 
 +==== Verfahren zur Ermittlung von Testfällen ​==== 
 +  * Ziele (3) 
 +  * Definition White-/​Black-Box-Test,​ formal/​nichtformal,​ Beispiele für Kategorien 
 +  * Definition Testabdeckung,​ Berechnungsbeispiele,​ Messung 
 +  * Grundlegende Vorgehensweise (6 Schritte) 
 +  * Verfahren 
 +    * funktionale Analyse (4 Eigenschaften) 
 +    * funktionale Wechselwirkungsanalyse ​     
 +    * Anwendungsanalyse/​Geschäftsprozessanalyse 
 +    * Äquivalenzklassen (4 Schritte, 3 Methoden zum Reduzieren der Testfälle) 
 +    * Grenzwertanalyse 
 +    * Real-Life-Test 
 +    * intuitiver Test 
 +    * Smoke-Test ​    
 +    * Anweisungsüberdeckung 
 +    * Zweigüberdeckung 
 +    * Bedingungsüberdeckung 
 +      * Definition atomare Teilbedingung 
 +      * einfache Bedingungsüberdeckung 
 +      * Mehrfachbedingungsüberdeckung 
 +      * minimale Mehrfachbedinungsüberdeckung 
 +    * Pfadanalyse,​ Definition Pfad 
 +    * Basispfadanalyse,​ Definition Basispfad 
 +    * Zustandsanalyse,​ Vorgehen (3 Schritte) 
 +    * Ursache-Wirkungs-Analyse und Entscheidungstabellen 
 +      * Vorgehensweise (6 Schritte) 
 +      * Umwandlung in Entscheidungstabelle (4 Schritte) 
 +    * Zufallswerte  ​        
 +    * Roman-Arches  
 + 
 +==== Testautomatisierung ​==== 
 +  * Motivation (8 Gründe) 
 +  * Nachteile (5)   
 +  * Voraussetzungen (4) 
 +  * Automatisierung von Kommandozeile/​GUI/​Messgeräten 
 + 
 + 
 +==== Testprozess ​==== 
 +  * Generischer Testprozess ​(7 Schritte) 
 +  * Testdokumente (8), Zuordnung zu Testphasen ​  
 +  * Testplanung 
 +    * Startbedingungen (4) 
 +    * Master-Testplan (5 Inhalte, Ziel) 
 +    * Beispiele für Testziele/​-schwerpunkte 
 +    * Prioritäten (3 Eigenschaften,​ 5 Ziele, 7 Kriterien) 
 +    * Sonstige Planungsthemen (7) 
 +    * Frühe Testaktivitäten (3)     
 +  * Testspezifikation (3 Schritte) 
 +  * Vorbereitung (2 Punkte) 
 +  * Durchführung 
 +    * Start (8 Kriterien) 
 +      * Ergebnisse der Akzeptanzprüfung (8) 
 +    * Interner Abnahmetest (6 Schritte)  ​  
 +    * Praktische Vorgehensweise 
 +      * Grundsätze intuitiver Tests (3) 
 +    * Protokollierung 
 +      * Möglichkeiten (5) 
 +      * Fehlerprotokoll (4 Prüfungen) 
 +      * Ziele (5) 
 +    * Änderungsprozess 
 +      * Gründe für Änderungen (4) 
 +      * Fehlerbericht (3 Regeln) 
 +        * Informationen (13) 
 +    * Testende (4 Kriterien)  ​              
 +  * Übergabe (3 Inhalte) 
 +  * Abschlussarbeiten (4)   
 + 
 +==== Beispiele für Softwarefehler ====
  
 ===== Beispiele für Softwarefehler ===== ===== Beispiele für Softwarefehler =====
Zeile 36: Zeile 120:
   * Komplette Tests sämtlicher Verzweigungen eines Programms sind nicht möglich (-> Kombinatorik)   * Komplette Tests sämtlicher Verzweigungen eines Programms sind nicht möglich (-> Kombinatorik)
   * Fehlerfreiheit kann nicht nachgewiesen werden.   * Fehlerfreiheit kann nicht nachgewiesen werden.
-  * Test ist ein Optimierungsproblem zwischen Zeit, Geld und Qualität -> Maßstab: Kundenzufriedenheit+  * Test ist ein Optimierungsproblem zwischen Zeit, Geld und Qualität -> **Maßstab: Kundenzufriedenheit**
  
 ===== Test im Verlauf des Entwicklungsprozesses ===== ===== Test im Verlauf des Entwicklungsprozesses =====
   * Produktentwicklung nach V-Modell   * Produktentwicklung nach V-Modell
     * konstruktive Phasen     * konstruktive Phasen
-      * Kundenanforderungen +      * Kundenanforderungen: aus verschiedenen Quellen (Kunden, Verträge, Wissenschaft) ​ 
-      * Systementwurf +      * Systementwurf: detaillierte Anforderungsbeschreibung,​ Schnittstellen,​ Parameter 
-      * Systemarchitektur +      * Systemarchitektur: Zerlegung in Systemkomponenten 
-      * Modulspezifikation +      * Modulspezifikation: Zerlegung in Module (kleinste Einheiten) 
-      * Implementierung+      * Implementierung: auf Basis der Modulspezifikation
     * analytische Phasen / Testphasen / -stufen     * analytische Phasen / Testphasen / -stufen
-      * Modultest +      * Modultest: Test der einzelnen Module gegen deren Spezifikation 
-      * Integrationstest +      * Integrationstest: Test der Architektur und der Schnittstellen 
-      * Systemtest +      * Systemtest: Test gegen Systemspezifikation/​Anforderungen,​ externe Schnittstellen,​ evtl. Verschmelzung mit Integrationstest 
-      * Abnahmetest +      * Abnahmetest: Nachweis, dass das System die Kundenanforderungen erfüllt 
-  * Modul- / Komponententest+  ​* **Modul-/​Komponententest**
     * Testbasis: Modulspezifikation     * Testbasis: Modulspezifikation
     * strenge Trennung der Module beim Test -> alle Module werden für sich allein getestet     * strenge Trennung der Module beim Test -> alle Module werden für sich allein getestet
  * Schnittstellen müssen simuliert werden -> Testtreiber  * Schnittstellen müssen simuliert werden -> Testtreiber
  * üblicherweise vom Entwickler selbst durchgeführt:​ Compiler, Debugger, Emulator/​Simulator,​ statische Analyse, Automatisierungswerkzeuge  * üblicherweise vom Entwickler selbst durchgeführt:​ Compiler, Debugger, Emulator/​Simulator,​ statische Analyse, Automatisierungswerkzeuge
-  * Integrationstest+  ​* **Integrationstest**
     * Testbasis: Systemarchitektur     * Testbasis: Systemarchitektur
     * Durchführung durch spezialisierte Testgruppe <> Entwickler     * Durchführung durch spezialisierte Testgruppe <> Entwickler
Zeile 66: Zeile 150:
         * Backbone (Erstellen eines Programmskeletts,​ in das die Komponenten nach Fertigstellung integriert werden)         * Backbone (Erstellen eines Programmskeletts,​ in das die Komponenten nach Fertigstellung integriert werden)
       * Big Bang (alle Komponenten werden gleichzeitig integriert)       * Big Bang (alle Komponenten werden gleichzeitig integriert)
-  * Systemtest+  ​* **Systemtest**
     * Testbasis: Systementwurf / Anforderungen / Normen etc.     * Testbasis: Systementwurf / Anforderungen / Normen etc.
     * Ziel: Prüfen, ob das System den Anforderungen entspricht     * Ziel: Prüfen, ob das System den Anforderungen entspricht
Zeile 72: Zeile 156:
     * Durchführung wieder durch spezialisiertes Testteam     * Durchführung wieder durch spezialisiertes Testteam
     * Evtl. Test bei Pilotkunden:​ Betatest, Feldtest, Pilotbetrieb,​ controlled introduction     * Evtl. Test bei Pilotkunden:​ Betatest, Feldtest, Pilotbetrieb,​ controlled introduction
-    * Qualitätsmerkmale nach ISO 9126+    ​* **Qualitätsmerkmale** nach ISO 9126/DIN 66272
       * Funktionalität (Functionality)       * Funktionalität (Functionality)
         * Angemessenheit,​ Richtigkeit,​ Interoperabilität,​ Ordnungsmäßigkeit,​ Sicherheit         * Angemessenheit,​ Richtigkeit,​ Interoperabilität,​ Ordnungsmäßigkeit,​ Sicherheit
Zeile 99: Zeile 183:
       * Kompletter Test vor Auslieferung neuer Versionen       * Kompletter Test vor Auslieferung neuer Versionen
       * Austausch der Testfälle für die nächste Produktversion       * Austausch der Testfälle für die nächste Produktversion
 +
  
 ===== Testprozess ===== ===== Testprozess =====
 +  * {{:​se:​generischertestprozess.jpg|}}
   * Testdokumentation   * Testdokumentation
     * notwendig zur internen/​externen Kommunikation,​ teils gesetzliche Aufbewahrungsfristen     * notwendig zur internen/​externen Kommunikation,​ teils gesetzliche Aufbewahrungsfristen
-    * Test Plan (Testplanung)  +    * {{:​se:​testdokumente.jpg|}}  ​
-    * Test Design/​Case/​Procedure Specification (Testspezifikation) +
-    * Test Incident Report (Fehlerbericht) +
-    * Test Log, Test Summary Report (Ergebnisdokumentation)  +
-    * Test Item Transmittal Report (Übergabeprotokoll)+
   * Testplanung   * Testplanung
     * Start zu Beginn des Projekts (Projekt ist genehmigt, Projektleiter benannt, Test-Projektleiter benannt, Mitarbeiter benannt)     * Start zu Beginn des Projekts (Projekt ist genehmigt, Projektleiter benannt, Test-Projektleiter benannt, Mitarbeiter benannt)
     * Nach Umfang des Projekts Testmanager für jede Phase oder Gesamtprojekt     * Nach Umfang des Projekts Testmanager für jede Phase oder Gesamtprojekt
-    * Master-Testplan+    ​* **Master-Testplan**
       * Testaktivitäten über alle Phasen hinweg       * Testaktivitäten über alle Phasen hinweg
       * zeitliche und logistische Abhängigkeiten       * zeitliche und logistische Abhängigkeiten
       * Ziele und Schwerpunkte der einzelnen Phasen (Abgrenzung)       * Ziele und Schwerpunkte der einzelnen Phasen (Abgrenzung)
-      * Ziel: Optimierung des zeitlichen Ablaufs und des personellen/​materiellen Aufwands 
-      * Beispiel: teures Messgerät 
       * Pläne der Testphasen werden aus Master-Testplan abgeleitet       * Pläne der Testphasen werden aus Master-Testplan abgeleitet
       * Rahmenbedingungen klären: Termine, Personal etc. -> Zeitplan       * Rahmenbedingungen klären: Termine, Personal etc. -> Zeitplan
-    ​* Testziele / -schwerpunkte+      * Ziel: Optimierung des zeitlichen Ablaufs und des personellen/​materiellen Aufwands 
 +      * Beispiel: teures Messgerät 
 +    ​* Testziele/​-schwerpunkte
       * Ableitung aus ISO 9126: z.B. Vollständigkeit,​ Verfügbarkeit,​ Fehlertoleranz,​ Ergonomie, Wartbarkeit       * Ableitung aus ISO 9126: z.B. Vollständigkeit,​ Verfügbarkeit,​ Fehlertoleranz,​ Ergonomie, Wartbarkeit
     * Prioritäten     * Prioritäten
Zeile 180: Zeile 262:
       * dann systematischer Test der einzelnen Module auf Basis der Testspezifikation       * dann systematischer Test der einzelnen Module auf Basis der Testspezifikation
       * weitere Tests je nach den ersten Ergebnissen,​ niedrige Priorität       * weitere Tests je nach den ersten Ergebnissen,​ niedrige Priorität
-      * Intution+      * Intuition
         * Fehler sind Herdentiere         * Fehler sind Herdentiere
         * Vertrauen Sie Ihrer Intuition         * Vertrauen Sie Ihrer Intuition
Zeile 240: Zeile 322:
  
 ===== Verfahren zur Ermittlung von Testfällen ===== ===== Verfahren zur Ermittlung von Testfällen =====
-  * Ziele+  ​* **Ziele**
     * wiederholbare,​ leicht wartbare Testfälle finden     * wiederholbare,​ leicht wartbare Testfälle finden
     * Begrenzung der Menge der Testfälle     * Begrenzung der Menge der Testfälle
     * hohe Testabdeckung erreichen     * hohe Testabdeckung erreichen
-  * White-Box-Tests+  ​* {{:​se:​testverfahren.jpg|}} 
 +  * **White-Box-Tests**
     * strukturorientiert     * strukturorientiert
     * basieren auf Quelltext/​Systembeschreibung     * basieren auf Quelltext/​Systembeschreibung
Zeile 250: Zeile 333:
     * Verwendung interner Schnittstellen     * Verwendung interner Schnittstellen
     * wichtig zu Beginn der Tests (Module) ​   ​     * wichtig zu Beginn der Tests (Module) ​   ​
-  * Black-Box-Tests+  ​* **Black-Box-Tests**
     * Interne Kenntnisse nicht erforderlich/​gewünscht     * Interne Kenntnisse nicht erforderlich/​gewünscht
     * nur Benutzer-/​Systemschnittstellen werden verwendet     * nur Benutzer-/​Systemschnittstellen werden verwendet
     * basieren auf Anforderungen/​Beschreibungen/​Spezifikationen     * basieren auf Anforderungen/​Beschreibungen/​Spezifikationen
     * wichtiger gegen Ende der Tests     * wichtiger gegen Ende der Tests
-  * Gray-Box-Tests+  ​* **Gray-Box-Tests**
     * Mischform     * Mischform
     * Beispiel: Kenntnis über Interna fließt in den Simulation externer Tests ein, Ausfall einer Komponente wird simuliert     * Beispiel: Kenntnis über Interna fließt in den Simulation externer Tests ein, Ausfall einer Komponente wird simuliert
-  * formal+  ​* **formal**
     * strikte Regeln zur Ermittlung von Testfällen     * strikte Regeln zur Ermittlung von Testfällen
     * kann automatisiert werden     * kann automatisiert werden
     * hohe Qualität der Testbasis erforderlich  ​   ​     * hohe Qualität der Testbasis erforderlich  ​   ​
-  * nichtformal ​  +  ​* **nichtformal**   ​
     * gestalterischer Spielraum     * gestalterischer Spielraum
     * keine Aussage über Testabdeckung möglich     * keine Aussage über Testabdeckung möglich
     * Tester braucht Erfahrung   ​     * Tester braucht Erfahrung   ​
-  * Testabdeckung+  ​* **Testabdeckung**
     * gibt an, welcher Teil der Testbasis durch Testfälle abgedeckt wird     * gibt an, welcher Teil der Testbasis durch Testfälle abgedeckt wird
     * Angabe der Testbasis     * Angabe der Testbasis
Zeile 347: Zeile 430:
     * Messung ebenfalls durch Werkzeuge, Testfälle können auch automatisch generiert werden     * Messung ebenfalls durch Werkzeuge, Testfälle können auch automatisch generiert werden
     * Minimaler Test für ein Modul, enthält automatisch Anweisungsüberdeckung,​ testet jedoch nicht unterschiedliche Bedingungen oder mehrfache Schleifendurchläufe     * Minimaler Test für ein Modul, enthält automatisch Anweisungsüberdeckung,​ testet jedoch nicht unterschiedliche Bedingungen oder mehrfache Schleifendurchläufe
-    ​* Bedingungsüberdeckung +  ​* Bedingungsüberdeckung 
-      * **atomare Teilbedingung**:​ Bedingung ohne logische Operatoren (nur vergleichende Symbole) ​    +    * **atomare Teilbedingung**:​ Bedingung ohne logische Operatoren (nur vergleichende Symbole) ​    
-      * einfache Bedingungsüberdeckung +    * einfache Bedingungsüberdeckung 
-        * Branch Condition Coverage ​      +      * Branch Condition Coverage ​      
-        * jede atomare Teilbedingung muss einmal wahr/falsch sein +      * jede atomare Teilbedingung muss einmal wahr/falsch sein 
-        * schwächer als Zweigüberdeckung (Gesamtbedingung muss nicht wahr/falsch sein) +      * schwächer als Zweigüberdeckung (Gesamtbedingung muss nicht wahr/falsch sein) 
-      * Mehrfachbedingungsüberdeckung +    * Mehrfachbedingungsüberdeckung 
-        * Branch Condition Combination Coverage ​      +      * Branch Condition Combination Coverage ​      
-        * alle möglichen Kombinationen der Teilbedingungen werden berücksichtigt +      * alle möglichen Kombinationen der Teilbedingungen werden berücksichtigt 
-        * schließt Anweisungs- und Zweigüberdeckung ein +      * schließt Anweisungs- und Zweigüberdeckung ein 
-        * führt schnell zu vielen Testfällen +      * führt schnell zu vielen Testfällen 
-      * minimale Mehrfachbedingungsüberdeckung +    * minimale Mehrfachbedingungsüberdeckung 
-        * Modified Branch Condition Decision Coverage +      * Modified Branch Condition Decision Coverage 
-        * jede Kombination von Wahrheitswerten,​ bei denen die Änderung einer Teilbedingung zur Änderung der Gesamtbedingung führt +      * jede Kombination von Wahrheitswerten,​ bei denen die Änderung einer Teilbedingung zur Änderung der Gesamtbedingung führt 
-        * bevorzugte Methode  ​  ​  ​  +      * bevorzugte Methode  ​  ​  ​  
  
 ==== Universelle Verfahren ==== ==== Universelle Verfahren ====
Zeile 443: Zeile 526:
       * Testprogrammierung       * Testprogrammierung
         * Problem: evtl. sind spezielle Bibliotheken nötig         * Problem: evtl. sind spezielle Bibliotheken nötig
-    * Automatisierung von Messgeräten und Testhilfsmitteln ​    +    * Automatisierung von Messgeräten und Testhilfsmitteln ​
  
 ===== ToDo ===== ===== ToDo =====
se/softwaretest.txt · Zuletzt geändert: 2014-04-05 11:42 (Externe Bearbeitung)