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 19:45]
stefan
se:softwaretest [2008-04-13 13:13]
stefan
Zeile 1: Zeile 1:
 ====== Sofware-Test ====== ====== Sofware-Test ======
- 
  
 ===== Klausurvorbereitung ===== ===== Klausurvorbereitung =====
Zeile 8: Zeile 7:
   * Warum kann die Fehlerfreiheit eines Programms nicht nachgewiesen werden?   * Warum kann die Fehlerfreiheit eines Programms nicht nachgewiesen werden?
   * Test als Optimierungsproblem   * Test als Optimierungsproblem
 +
  
 ==== Test im Verlauf des Entwicklungsprozesses ==== ==== Test im Verlauf des Entwicklungsprozesses ====
Zeile 18: Zeile 18:
   * Regressionstest   * Regressionstest
     * Änderungsszenarien (5)     * Änderungsszenarien (5)
- * Strategien (5)+    ​* Strategien (5)
   * Arten von Tests (5)   * Arten von Tests (5)
   * Qualitätsmerkmale ISO 9126 (6)   * Qualitätsmerkmale ISO 9126 (6)
Zeile 29: Zeile 29:
  
 ==== Verfahren zur Ermittlung von Testfällen ==== ==== 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 ==== ==== Testautomatisierung ====
 +  * Motivation (8 Gründe)
 +  * Nachteile (5)  ​
 +  * Voraussetzungen (4)
 +  * Automatisierung von Kommandozeile/​GUI/​Messgeräten
 +
 +
 ==== Testprozess ==== ==== Testprozess ====
-  * Generischer Testprozess +  * Generischer Testprozess ​(7 Schritte) 
-  * Ziele und Schwerpunkte+  * 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 ====
  
Zeile 121: 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 202: 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 262: 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 272: 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 369: 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 465: 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)