Beruflich Dokumente
Kultur Dokumente
Version 2007
Deutschsprachige Ausgabe
Urheberrecht () an der englischen Originalausgabe: International Software Testing Qualifications Board (nachfolgend ISTQB genannt). Mitglieder der Advanced Level Arbeitsgruppe: Bernard Homs (Leitung), Graham Bath, Rex Black, eder Sigrid Eldh, Jayapradeep Jiothis, Paul Jorgensen, Vipul Kocher, Judy McKay, Klaus Olsen, Randy Rice, Jrgen Richter, Eric Riou Du Cosquer, Mike Smith, Geoff Thompson, Erik Van Veenendaal; Erik 2006-2007. bersetzung des englischsprachigen Lehrplans des International Software Testing Qualifications Board (ISTQB), Originaltitel: Certified Tester, Advanced Level Syllabus. Urheberrecht 2007 der berarbeitung der englischen Originalausgabe 2007 besitzen die oben Originalausgabe genannten Autoren. Die Rechte sind bertragen auf das International Software Testing Qualifications Board (ISTQB). ISTQB ist ein eingetragenes Warenzeichen des International Software Testing Qualifications Board. bersetzung/bertragung in die deutsche Sprache, 2007/2008: Horst Pohlmann (GTB), Thomas rsetzung/bertragung Mller (STB), Graham Bath (GTB, Leitung) mit Untersttzung durch das bersetzungsbro: Elke Bath und der Technical Writerin: Dagmar Boedicker. Die Autoren danken den folgenden Reviewern: Petra Bukowski (GTB), Matthias Hamburg (GTB), lgenden Horst Pohlmann (GTB), Timea Illes-Seifert (GTB), Helmut Pichler (ATB), Thomas Mller (STB), Anton -Seifert Schlatter (GTB), Maud Schlich (GTB), Stephanie Ulrich (GTB), Sabine Uhde (GTB), Uwe Hehn (GTB (GTB), Martin Klonk (ATB), Wiltrud Breuss (ATB), Harry Sneed (ATB) und,Kurt Aigner (ATB). Die Autoren, GTB und ISTQB haben folgenden Nutzungsbedingungen zugestimmt: 1. Jede Einzelperson und jeder Seminaranbieter darf den Lehrplan als Grundlage fr Seminare verwenden, sofern die Inhaber der Urheberrechte als Quelle und Besitzer des Urheberrechts anerkannt und benannt werden. Des Weiteren darf der Lehrplan zu Werbungszwecken erst nach der Akkreditierung durch ein vom ISTQB anerkanntes Board verwendet werden. 2. Jede Einzelperson oder Gruppe von Einzelpersonen darf den Lehrplan als Grundlage fr Artikel, Bcher oder andere abgeleitete Verffentlichungen verwenden, sofern die Autoren und der ISTQB als Quelle und Besitzer des Urheberrechts genannt werden. 3. Jedes vom ISTQB anerkanntes nationale Board darf den Lehrplan bersetzen und den Lehrplan es (oder die bersetzung) an andere Parteien lizensieren. Das Werk einschlielich aller seiner Teile ist urheberrechtlich geschtzt. Die Verwertung ist - soweit sie nicht ausdrcklich durch das Urheberrechtsgesetz (UrhG) gestattet ist nur mit Zustimmung der Berechtigten zulssig. Dies gilt insbesondere fr Vervielfltigungen, Bearbeitungen, bersetzungen, Mikroverfilmung, Einspeicherung und Verarbeitung in elektronischen Systemen, ffentliche Zugnglichmachung.
Version 2007
Version 2007
Inhaltsverzeichnis
Inhaltsverzeichnis ................................ ................................................................................................................................ 4 .................................... Dank ................................................................ ........................................................................................................................ 8 ........................ 0. Einfhrung in den Lehrplan ................................ ................................................................................................ ............................................. 9 0.1 Das International Software Testing Qualifications Board ...................................................... 9 ftware ...................... 0.2 Erwartungen ................................ ......................................................................................................................... 11 ......................... 0.2.1 Testmanager Advanced Level ......................................................................................... 11 ......................... 0.2.2 Test Analyst Advanced Level .......................................................................................... 12 .......................... 0.2.3 Technical Test Analyst Advanced Level ................................................................ .......................................... 12 0.3 Lernziele/Kognitive Ebenen des Wissens ................................................................ ............................................ 13 0.4 Lernziele fr Testmanager ................................................................................................ 14 ................................... 0.5 Lernziele fr Test Analysts ................................................................................................ 21 ................................... 0.6 Lernziele fr Technical Test Analysts ................................................................ .................................................. 25 1. Grundlegende Aspekte des Softwaretestens ................................................................ ............................................... 30 1.1 Einfhrung ................................ ............................................................................................................................ 30 ............................ 1.2 Testen im Softwarelebenszyklus ......................................................................................... 30 ......................... 1.3 Spezifische Systeme ................................ ................................................................................................ ............................................ 32 1.3.1 Multisysteme ................................ .................................................................................................................... 32 .................... 1.3.2 Sicherheitskritische Systeme ........................................................................................... 33 ........................... 1.4 Metriken und Messung ................................ ................................................................................................ ......................................... 34 1.5 Ethische Leitlinien ................................ ................................................................................................ ................................................ 35 2. Testprozesse ................................ ................................................................................................................................ 36 ................................ 2.1 Einfhrung ................................ ............................................................................................................................ 36 ............................ 2.2 Testprozessmodelle ................................ ................................................................................................ ............................................. 36 2.3 Testplanung und -steuerung ................................................................................................ 37 steuerung ................................ 2.4 Testanalyse und Testentwurf ............................................................................................... 37 ............................... 2.4.1 Testbedingungen identifizieren ........................................................................................ 38 ........................ 2.4.2 Testflle entwerfen ................................ ................................................................................................ .......................................... 38 2.5 Testrealisierung und Testdurchfhrung ................................................................ ............................................... 39 2.5.1 Testrealisierung ................................ ................................................................................................ ............................................... 39 2.5.2 Testdurchfhrung ................................ ................................................................................................ ............................................. 40 2.6 Testauswertung und Bericht ................................................................................................ 42 ................................ 2.7 Abschluss der Testaktivitten .............................................................................................. 43 .............................. 3. Testmanagement ................................ .......................................................................................................................... 45 .......................... 3.1 Einfhrung ................................ ............................................................................................................................ 45 ............................ 3.2 Testmanagement-Dokumentation ........................................................................................ 45 Dokumentation ........................ 3.2.1 Testrichtlinie ................................ ..................................................................................................................... 45 ..................... 3.2.2 Teststrategie ................................ .................................................................................................................... 46 .................... 3.2.3 Mastertestkonzept ................................ ................................................................................................ ........................................... 47 3.2.4 Stufentestkonzept ................................ ................................................................................................ ............................................ 48 3.3 Dokumentvorlagen fr Testkonzepte ................................................................ ................................................... 48 3.4 Testaufwandsschtzung ................................................................................................ ...................................... 48 3.5 Zeitliche Testplanung ................................ ................................................................................................ ........................................... 50 3.6 Testfortschritt berwachen und steuern ................................................................ ............................................... 50 3.7 Geschftswert des Testens Testens................................................................................................ 52 .................................. 3.8 Verteiltes Testen, Outsourcing und Insourcin ................................................................ 53 Insourcing .................................... Version 2007 Seite 4 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
3.9 Risikoorientiertes Testen................................................................................................ ...................................... 53 3.9.1 Einfhrung in das risikoorientierte Testen ................................................................ ....................................... 53 3.9.2 Risikomanagement ................................ ................................................................................................ .......................................... 54 3.9.3 Risikomanagement im Softwarelebenszyklus ................................................................ 58 ................................. 3.10 FMEA (Fehler-Mglichkeits und Einfluss-Analyse) ............................................................ 59 Mglichkeits............................ 3.10.1 Anwendungsbereiche ................................................................................................ 59 .................................. 3.10.2 FMEA durchfhren ................................................................................................ ...................................... 59 3.10.3 Kosten und Nutzen ................................................................................................ ...................................... 60 3.11 Besonderheiten beim Testmanagement ................................................................ .............................................. 60 3.11.1 Testmanagement beim explorativen Testen ............................................................... 60 ............................... 3.11.2 Testmanagement bei Multisystemen Multisystemen................................................................ ........................................... 61 3.11.3 Testmanagement bei sicherheitskritischen Systemen ................................ ................................................ 61 3.11.4 Sonstige Besonderheiten beim Testmanagement ...................................................... 62 ...................... 4. Testverfahren ................................ ................................................................................................................................ 65 ................................ 4.1 Einfhrung ................................ ............................................................................................................................ 65 ............................ 4.2 Spezifikationsorientierte Testverfahren ................................................................ ................................................ 65 4.3 Strukturorientierte Testverfahren ......................................................................................... 67 ......................... 4.4 Fehlerbasierte und erfahrungsbasierte Testverfahren ......................................................... 69 erte ......................... 4.4.1 Fehlerbasierte Testverfahren........................................................................................... 69 ........................... 4.4.2 Erfahrungsbasierte Testverfahren ................................................................ ................................................... 70 4.5 Statische Analyse ................................ ................................................................................................ ................................................. 71 4.5.1 Statische Analyse des Programmcodes ................................................................ .......................................... 72 4.5.2 Statische Analyse der Softwarearchitektur ................................................................ ische ...................................... 72 4.6 Dynamische Analyse ................................ ................................................................................................ ............................................ 73 4.6.1 bersicht ................................ .......................................................................................................................... 73 .......................... 4.6.2 Speicherengpsse aufdecken ......................................................................................... 73 ......................... 4.6.3 Fehlerhafte Zeiger aufdecken .......................................................................................... 74 .......................... 4.6.4 Systemleistung analysieren ............................................................................................. 74 ............................. 5. Test der Softwareeigenschaften ................................................................................................ 75 ................................... 5.1 Einfhrung ................................ ............................................................................................................................ 75 ............................ 5.2 Qualittsmerkmale bei fachlichen Tests ................................................................ .............................................. 75 5.2.1 Tests auf Richtigkeit ................................ ................................................................................................ ........................................ 76 5.2.2 Tests auf Angemessenheit .............................................................................................. 76 .............................. 5.2.3 Interoperabilittstests ................................ ................................................................................................ ....................................... 76 5.2.4 Funktionale Sicherheitstests ............................................................................................ 76 erheitstests ............................ 5.2.5 Benutzbarkeitstests ................................ ................................................................................................ ......................................... 76 5.2.6 Zugnglichkeitstests ................................ ................................................................................................ ........................................ 78 5.3 Qualittsmerkmale bei technischen Tests ................................................................ ........................................... 79 5.3.1 Technische Sicherheitstests ............................................................................................ 79 chnische ............................ 5.3.2 Zuverlssigkeitstests ................................ ................................................................................................ ....................................... 81 5.3.3 Effizienztests ................................ .................................................................................................................... 82 .................... 5.3.4 Wartbarkeitstests ................................ ................................................................................................ ............................................. 84 5.3.5 Portabilittstests................................ ................................................................................................ ............................................... 84 6. Review ................................................................ ................................................................................................ .......................................... 87 6.1 Einfhrung ................................ ............................................................................................................................ 87 ............................ 6.2 Grundstze von Reviews ................................................................................................ ..................................... 87 6.3 Review-Arten ................................ ........................................................................................................................ 88 ........................ 6.3.1 Management-Review und Audit Review Audit....................................................................................... 88 ....................... 6.3.2 Reviews von bestimmten Arbeitsergebnissen ................................................................ 89 ................................. 6.3.3 Formales Review durchfhren ......................................................................................... 89 ......................... Version 2007 Seite 5 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
6.4 Einfhrung von Reviews ................................................................................................ ...................................... 89 6.5 Erfolgsfaktoren fr Reviews ................................................................................................ 90 ................................. 7. Fehler- und Abweichungsmanagement ........................................................................................ 92 ........................ 7.1 Einfhrung ................................ ............................................................................................................................ 92 ............................ 7.2 Wie lsst sich ein Fehlerzustand aufdecken? ................................................................ ...................................... 92 7.3 Fehlerlebenszyklus ................................ ................................................................................................ .............................................. 92 7.3.1 Schritt 1: Erkennung (Recognition) ................................................................ .................................................. 93 7.3.2 Schritt 2: Analyse (Investigation) ..................................................................................... 93 ..................... 7.3.3 Schritt 3: Bearbeitung (Action) ......................................................................................... 93 ......................... 7.3.4 Schritt 4: Abschluss (Disposition) .................................................................................... 93 .................... 7.4 Pflichtfelder fr die Erfassung von Fehlern und Abweichungen ................................ .......................................... 93 7.5 Metriken und Abweichungsmanagement ................................................................ ............................................. 94 7.6 Abweichungen kommunizieren ............................................................................................ 94 ............................ 8. Standards in der Testprozess-Verbesserung ................................................................ ............................................... 95 8.1 Einfhrung ................................ ............................................................................................................................ 95 ............................ 8.2 Normen und Standards ................................ ................................................................................................ ........................................ 95 8.2.1 Allgemeine Aspekte von Standards ................................................................ ................................................. 96 8.2.2 Internationale Standards ................................................................................................ 96 .................................. 8.2.3 Nationale Standards ................................ ................................................................................................ ........................................ 97 8.2.4 Branchenspezifische Standards ...................................................................................... 97 ...................... 8.2.5 Sonstige Standards ................................ ................................................................................................ ......................................... 98 8.3 Testverbesserungs-Prozess ................................................................................................ 99 Prozess ................................ 8.3.1 Einfhrung in die Prozessverbesserung ................................................................ .......................................... 99 8.3.2 Arten der Prozessverbesserung .................................................................................... 100 .................... 8.4 Testprozess verbessern ................................ ................................................................................................ ..................................... 100 8.5 Testprozess mit TMM verbessern ...................................................................................... 101 ...................... 8.6 Testprozess mit TPI verbessern ........................................................................................ 102 ........................ 8.7 Testprozess mit CTP verbessern ....................................................................................... 103 ....................... 8.8 Testprozess mit STEP verbessern .................................................................................... 104 .................... 8.9 Capability Maturity Model Integration, CMMI ................................................................ ..................................... 104 9. Testwerkzeuge und Automatisierung ......................................................................................... 106 ......................... 9.1 Einfhrung ................................ .......................................................................................................................... 106 .......................... 9.2 Testwerkzeugkonzepte ................................ ................................................................................................ ...................................... 106 9.2.1 Kosten, Nutzen und Risiken von Testwerkzeugen und Automatisierung ...................... 107 9.2.2 Testwerkzeugstrategien ................................................................................................ 108 ................................. 9.2.3 Integration und Informationsaustausch zwischen Werkzeugen ................................ 108 .................................... 9.2.4 Automatisierungssprachen: Skripte, Skriptsprachen ..................................................... 109 ..................... 9.2.5 Konzept der Testorakel................................................................................................ 109 .................................. 9.2.6 Testwerkzeuge in Betrieb nehmen ................................................................ ................................................ 109 9.2.7 Open Source-Testwerkzeuge verwenden ................................................................ 110 Testwerkzeuge ................................... 9.2.8 Eigene Testwerkzeuge entwickeln ................................................................ ................................................ 110 9.2.9 Testwerkzeuge klassifizieren ......................................................................................... 111 ......................... 9.3 Testwerkzeugkategorien ................................................................................................ 111 .................................... 9.3.1 Testmanagementwerkzeuge ......................................................................................... 111 ......................... 9.3.2 Testausfhrungswerkzeuge........................................................................................... 112 erkzeuge ........................... 9.3.3 Debugging und Fehleranalysewerkzeuge ................................................................ ..................................... 113 9.3.4 Fehlereinpflanzungs- und Fehlerinjektionswerkzeuge .................................................. 113 .................. 9.3.5 Simulations- und Emulationswerkzeuge ................................................................ ........................................ 114 9.3.6 Statische und dynamische Analysewerkzeuge ............................................................. 114 atische ............................. 9.3.7 Schlsselwortgetriebene Testautomatisierung .............................................................. 115 .............................. Version 2007 Seite 6 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
9.3.8 Performanztestwerkzeuge ............................................................................................. 115 ............................. 9.3.9 Hyperlink-Testwerkzeuge .............................................................................................. 116 Testwerkzeuge .............................. 10. Soziale Kompetenz und Teamzusammensetzung ................................................................ 117 ................................ 10.1 Einfhrung ................................ .......................................................................................................................... 117 .......................... 10.2 Individuelle Fhigkeiten................................ ................................................................................................ ...................................... 117 10.3 Dynamik im Testteam ................................ ................................................................................................ ........................................ 118 10.4 Testen in der Organisationsstruktur etablieren ................................................................ 118 .................................. 10.5 Motivieren ................................ ........................................................................................................................... 119 ........................... 10.6 Kommunizieren ................................ .................................................................................................................. 120 .................. 11. Referenzen ................................ ............................................................................................................................. 121 ............................. 11.1 Standards ................................ ........................................................................................................................... 121 ........................... 11.1.1 Nach Kapiteln ................................ ................................................................................................ ............................................ 121 11.1.2 Alphabetisch ................................ ................................................................................................ .............................................. 121 11.2 Literatur ................................ .............................................................................................................................. 122 .............................. 11.3 Sonstige Referenzen ................................ ................................................................................................ .......................................... 124 12. Anhang A Hintergrundinformationen zum Lehrplan ............................................................ 125 ............................ 13. Anhang B Hinweise fr die Leser ........................................................................................ 126 ........................ 13.1 Prfungsinstitutionen ................................ ................................................................................................ .......................................... 126 13.2 Prfungskandidaten und Ausbildungsanbieter ................................................................ 126 .................................. 14. Anhang C Hinweise fr die Ausbildungsanbieter ................................................................ 127 ................................ 14.1 Module................................ ................................................................................................................................ 127 ................................ 14.2 Ausbildungszeiten ................................ ................................................................................................ .............................................. 127 14.2.1 Ausbildung je Modul ................................................................................................ 127 .................................. 14.2.2 Gemeinsamkeiten................................ ................................................................................................ ...................................... 127 14.2.3 Quellen ................................ ...................................................................................................................... 127 ...................... 14.3 Praktische bungen ................................ ................................................................................................ ........................................... 127 15. Anhang D Empfehlungen ................................................................................................ 129 .................................... 15.1 Empfehlungen fr die Industrialisierung ................................................................ ............................................. 129 16. Index ................................................................ ................................................................................................ ....................................... 132
Version 2007
Dank
Dieses Dokument wurde von einem Kernteam der Arbeitsgruppe Advanced Level Syllabus (Lehrplan Aufbaukurs) des International Software Testing Qualifications Board erstellt. Dieser Arbeitsgruppe gehrten an: Bernard Homs (Vorsitzender), Graham Bath, Rex Black, Sigrid Eldh, Jayapradeep Jiothis, Paul Jorgensen, Vipul Kocher, Judy McKay, Thomas Mueller, Klaus Olsen, Randy Rice, Olsen, Jrgen Richter, Eric Riou Du Cosquer, Mike Smith, Geoff Thompson, Erik Van Veenendaal. Die Mitglieder der Arbeitsgruppe bedanken sich beim Reviewteam und bei den nationalen Testing TestingBoards fr die konstruktiven Verbesserungsvorschlge und Beitrge. Bei Fertigstellung des Advanced Level Lehrplans hatte die Arbeitsgruppe Advanced Level die folgenden Mitglieder (in alphabetischer Reihenfolge): Graham Bath, Robert Bender, Rex Black, Chris Carter, Maria Clara Choucair, Sigrid Eldh, Dorothy Graham, Bernard Homs (Vorsitzender), Jayapradeep Jiothis, Vipul Kocher, Anastasios aham, Kyriakopoulos, Judy McKay, Thomas Mueller, Klaus Olsen, Avinoam Porat, Meile Posthuma, Erkki Pyhnen, Jrgen Richter, Eric Riou Du Cosquer, Jan Sabak, Hans Schaefer, Maud Sc Schlich, Rajesh Sivaraman, Mike Smith, Michael Stahl, Geoff Thompson, Erik Van Veenendaal. Folgende Personen haben an Review, Kommentierung und der Abstimmung ber diesen Lehrplan mitgearbeitet: Bernard Homs (Leitung) Reto Armuzzi Phillip Isles Horst Pohlmann Sue Atkins Pr. Paul C. Jorgensen Meile Posthuma Graham Bath Vipul Kocher Eric Riou Du Cosquer Paul Beekman Anastasios Kyriakopoulos Stefan Ruff Armin Beer Junfei Ma Hans Schaefer Rex Black Fergus McClachlan Maud Schlich Francisca Blunschi Judy McKay Rajesh Sivaraman Armin Born Don Mills Mike Smith Con Bracke Katja Stalder Gary Mogyorodi Chris Carter Richard Morgan Neil Thompson Maria Clara Choucair Silvio Moser Benjamin Timmerma Timmermans Robert Dankanin Ernst Mller Chris van Bael Reto Mller Piet de Roo Jurian van de Laar Thomas Mller Marnix van den Ent Sigrid Eldh Tim Edmonds Peter Mullins Mark van der Zwan Erwin Engelsma Beat Nagel Stephanie van Dijck Richard Neeve Jan van Moll Graham Freeburn Erik Van Veenendaal Dorothy Graham Klaus Olsen Dale Perry Roland Weber Brian Hambling Phillip Whettlock Jeff B Higgott Helmut Pichler Jrg Pietzsch Derek Young Bernard Homs Mike Young Rob Hendriks Avionam Porat Dr Suhaimi Ibrahim Iris Pinkster Wenqiang Zheng. Dieses Dokument wurde von der Hauptversammlung des ISTQB am 12. Oktober 2007 offiziell ISTQB freigegeben.
Version 2007
Version 2007
Lernziele/Kognitive Ebenen
Die Lernziele der jeweiligen Kapitel dieses Lehrplans sind so unterteilt, dass sie den einzelnen Modulen eindeutig zugeordnet werden knnen. Weitere Details und Beispiele fr Lernziele enthlt Weitere Abschnitt 0.3. Der Inhalt des Lehrplans, die Begriffe und die wichtigsten Elemente aller aufgefhrten Normen und Standards sollen zumindest wiedergegeben werden knnen (K1), auch wenn dies in den Lernzielen nicht ausdrcklich erwhnt wird.
Prfung
Alle Prfungen fr das Advanced Level Certificate mssen sich auf den vorliegenden Lehrplan und den Foundation-Level-Lehrplan beziehen. Antworten auf die Prfungsfragen knnen Stoff aus mehreren Kapiteln dieses Lehrplans und des Foundation-Level-Lehrplans voraussetzen. s Grundstzlich knnen alle Kapitel beider Lehrplne geprft werden. Das Format der Prfung ist in den Richtlinien Advanced Exam Guidelines des ISTQB festgelegt. Einzelne nationale Boards knnen auf Wunsch auch andere Prfungsformate anwenden. ationale Die Prfungen knnen im Rahmen eines akkreditierten Ausbildungslehrgangs abgelegt werden oder kursunabhngig, beispielsweise in einem Prfungszentrum. Die Prfungen knnen in Papierfor oder Papierform elektronisch absolviert werden, jedoch auf jeden Fall mit Prfungsaufsicht (d.h. berwachung der Prfung durch eine vom nationalen Board oder von der Prfungsinstitution beauftragte Person).
Akkreditierung
Ausbildungsanbieter, deren Ausbildungsunterlagen auf diesem Lehrplan basieren, mssen durch ein Ausbildungsunterlagen vom ISTQB anerkanntes nationales Testing Board akkreditiert werden. Die entsprechenden Testing-Board Akkreditierungsrichtlinien knnen vom zustndigen nationalen Testing Board angefordert werden oder Testing-Board von der Organisation, die die Akkreditierung im Auftrag des nationalen Boards erteilt. Akkreditierte ation, Kurse sind als zu diesem Lehrplan konform anerkannt und drfen als Bestandteil des Lehrgangs die ISTQB Prfung enthalten. Weitere Anleitungen enthlt Anhang C Hinweise fr die Ausbildungsanbieter
Detaillierungsgrad
Der Detaillierungsgrad dieses Lehrplans erlaubt konsistentes Lehren und Prfen auf internationaler Ebene. Um dieses Ziel zu erreichen, enthlt der vorliegende Lehrplan allgemeine Lernziele, die die Absicht des Advanced Level (Aufbaustufe) beschreiben, Lernziele fr jeden Wissensbereich, die das zu erzielende kognitive Lernergebnis und und die zu erzielende Einstellung der Teilnehmer beschreiben, ende eine Liste zu lehrender Inhalte mit ihrer Beschreibung und, wo notwendig, Verweise auf weiterfhrende Quellen, eine Liste mit Begriffen, die die Teilnehmer wiedergeben knnen und verstanden haben mssen, eine Beschreibung der wichtigsten zu lehrenden Konzepte, einschlielich der Quellen, wie schreibung anerkannte Fachliteratur oder Normen und Standards. Der vorliegende Lehrplan ist keine vollstndige Beschreibung des Wissensgebiets Softwaretesten. Er gibt an, wie detailliert der Stoff in den Lehrgngen des Advanced Level zu behandeln ist. t
Version 2007
Testanstze
Es gibt verschiedene Anstze fr das Testen von Software, die auf vorliegenden Spezifikationen, Programmstrukturen, Daten, Risiken, Prozessen, Normen und Standards und Taxonomien basieren. Unterschiedliche Prozesse und Werkzeuge untersttzen die Testprozesse; darber hinaus existieren Werkzeuge Methoden fr die Verbesserung bestehender Prozesse. Der vorliegende Advanced Level Lehrplan ist gem den in ISO 9126 vorgegebenen Anstzen aufgebaut, mit einer klaren Trennung zwischen funkti funktionalen, nicht-funktionalen und untersttzenden funktionalen Anstzen. Er nennt untersttzende Prozesse und einige Verbesserungsmethoden. Organisation und Prozesse wurden nach freiem Ermessen ausgewhlt und sollen Testern und Testmanagern eine gute Grundlage liefern.
0.2 Erwartungen
Prfung und Zertifizierung in der Aufbaustufe (Advanced Level) sind im vorliegenden Lehrplan nach einer Gliederung in drei Hauptaufgabenbereiche beschrieben. Jede Aufgabenbeschreibung steht fr bestimmte grundlegende Zustndigkeiten und Erwartungen in einer Organisation. Die Zustndigkeiten gkeiten und die damit verbundenen Aufgaben knnen in einer Organisation auf mehrere Personen verteilt sein oder alle von einer einzelnen Person wahrgenommen werden. Die folgenden Abschnitte skizzie skizzieren diese Zustndigkeiten.
Version 2007
Version 2007
Version 2007
Kognitive Ebene 4: Analysieren (K4) Der oder die Lernende kann Informationen zu bestimmten Testszenarien oder Testverfahren zum besseren Verstndnis in ihre Bestandteile zerlegen und zwischen Sachverhalten und abgeleiteten e Schlussfolgerungen unterscheiden. Typische Anwendungen sind die Analyse eines Dokuments, einer 1 Software oder Projektsituation und der Vorschlag angemessener Manahmen zur Problemlsung. Schlsselbegriffe: analysieren, auswhlen, beurteilen, bewerten, entwerfen, erstellen, fokussieren, generieren, Hypothesen aufstellen, konstruieren, koordinieren, planen, produzieren, strukturieren, synthetisieren, berwachen, unterscheiden, zerlegen, zurc zurckfhren. Beispiele: Analysieren Sie Produktrisiken und schlagen Sie vorbeugende oder korrigierende Manahmen vor. Beschreiben Sie, welche Teile eines Abweichungsberichts einen Sachverhalt darstellen und bei welchen es sich um Schlussfolgerungen aus den Erg Ergebnissen handelt. Literatur (zum Thema Kognitive Ebenen von Lernzielen) Bloom, B. S. (1956). Taxonomy of Educational Objectives, Handbook I: The Cognitive Domain, David McKay, Co. Inc. Anderson, L. W. and Krathwohl, D. R. (Hg.) (2001). A Taxonomy for Learning, Teaching, and rning, Assessing: A Revision of Bloom's Taxonomy of Educational Objectives Allyn & Bacon. Objectives,
Die kognitive Ebene K4 wird hier in einem erweiterten Sinn verwendet und schliet Fhigkeiten des Beurteilens (Evaluate) und Erschaffens (Create) mit ein. Dies im Gegensatz zur angegebenen (Create) Literatur, die diese Fhigkeiten gesondert ausweist. Version 2007 Seite 14 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
1.3 Spezifische Systeme LO-1.3.1 (K2) LO-1.3.2 (K2) Sie knnen anhand von Beispielen die spezifischen Aspekte beim Testen von Multisystemen erklren. Sie knnen erklren, weshalb die drei wichtigsten Ergebnisse beim Testen von sicherheitskritischen Systemen die Einhaltung der Vorschriften (Konformitt) (Konformitt nachweisen mssen.
1.4 Metriken und Messung LO-1.4.1 (K2) LO-1.4.2 (K3) Sie verstehen testbezogene Standardmetriken und knnen sie miteinander e vergleichen. Sie knnen Testaktivitten durch Messung des Testobjekts oder der Testobjekte und des Testprozesses berwachen.
Kapitel 2: Testprozess [120 Minuten] 2.3 Testplanung und Teststeuerung tplanung LO-2.3.1 (K2) LO-2.3.2 (K2) Sie knnen anhand von Beispielen erlutern, wie sich Teststrategien auf die Testplanung auswirken. Sie knnen Testarbeitsergebnisse vergleichen und anhand von Beispielen die Zusammenhnge zwischen Arbeitsergebnissen in der Entwicklung und beim Test erlutern. Sie knnen die Aktivitten zur Teststeuerung klassifizieren, mit denen nachgewiesen werden soll, ob bergeordnete Testzielsetzung, Teststrategien und Testziele erreicht wurden.
LO-2.3.3 (K2)
2.5 Testrealisierung und Testdurchfhrung LO-2.5.1 (K2) LO-2.5.2 (K2) Sie knnen die Voraussetzungen fr die Testdurchfhrung erlutern. Sie knnen anhand von Beispielen die Vor und Nachteile einer frhzeitigen VorTestrealisierung erlutern, und dabei unterschiedliche Testmethoden (wie in Kapitel 4 unterschiedliche aufgefhrt) bercksichtigen. Sie knnen erlutern, warum Nutzer und/oder Kunden an der Durchfhrung der Tests teilnehmen knnen. Sie knnen darstellen, wie der Umfang der Testprotokollierung je nach Teststufe Testprotokollierung variieren kann.
2.6 Testauswertung und -bericht LO-2.6.1 (K2) Sie knnen zusammenfassen, welche Informationen im Lauf des Testprozesses fr eine korrekte Testberichterstattung und Bewertung der Testendekriterien zu sammeln sind.
2.7 Abschluss der Testaktivitten LO-2.7.1 (K2) Sie knnen die vier Gruppen von Testabschlussaktivitten zusammenfassen.
Version 2007
LO-2.7.2 (K3)
Sie knnen die in der Testabschlussphase gewonnenen Erkenntnisse verallgemeinern, um die Bereiche fr eine Verbesserung oder Wiederholung zu Verbesserung identifizieren.
Kapitel 3: Testmanagement [1120 Minuten] 3.2 Testmanagement-Dokumentation Dokumentation LO-3.2.1 (K4) LO-3.2.2 (K2) Sie knnen einige Testmanagement Dokumente erlutern, wie Testkonzept, Testmanagement-Dokumente Testentwurfsspezifikation und Testvorgehen gem IEEE Standard 829. gem Sie knnen mindestens vier wichtige Elemente einer Teststrategie oder eines Testansatzes darstellen und angeben, welche Dokumente gem IEEE Standard 829 Teststrategieelemente enthalten. Sie knnen darstellen, wie und warum Abweichungen von der Teststrategie in den ellen, anderen Testmanagement Testmanagement-Dokumenten behandelt werden.
LO-3.2.3 (K2)
3.3 Dokumentvorlagen fr Testkonzepte LO-3.3.1 (K2) LO-3.3.2 (K2) Sie knnen den Aufbau eines Mastertestkonzepts gem IEEE Standard 829 zusammenfassen. Sie knnen die Themen eines gem IEEE Standard 829 aufgebauten Testkonzepts umschreiben und interpretieren. Dabei knnen Sie eingehen auf die Anpassung des Testkonzepts an ein Unternehmen/eine Organisation, auf das Produktrisiko sowie auf Risiko, Gre und Formalitt eines Projekts.
3.4 Testschtzung LO-3.4.1 (K3) Sie knnen den Testaufwand fr ein kleines Beispielsystem unter Anwendung einer metrikbasierten und einer erfahrungsbasierten Vorgehensweise schtzen; dabei knnen Sie die Einf Einflussfaktoren aus Kosten, Aufwand und Zeitdauer bercksichtigen. Sie knnen anhand von Beispielen die im Lehrplan aufgefhrten Faktoren erlutern, die zu ungenauen Testschtzungen fhren knnen.
LO-3.4.2 (K2)
3.5 Zeitliche Testplanung LO-3.5.1 (K2) Sie knnen anhand von Beispielen die Vorteile einer frhzeitigen und iterativen Erstellung eines Testkonzepts erlutern.
3.6 Testfortschritt berwachen und steuern LO-3.6.1 (K2) LO-3.6.2 (K2) Sie knnen die verschiedenen Verfahren zur Steuerung des Testfortschritts vergleichen. Sie knnen mindestens fnf konzeptionell unterschiedliche Beispiele nennen, wie die Ergebnisse der Testfortschrittsberwachung den Verlauf des Testprozesses beeinflussen. Sie knnen Ergebnisse aus der berwachung und Steuerung des Testfortschritts dazu verwenden, Manahmen und einen Aktionsplan auszuarbeiten, mit denen der aktuelle Testprozess verbessert werden kann. Sie knnen Verbesserungen vorschlagen.
LO-3.6.3 (K4)
Version 2007
LO-3.6.4 (K4)
Sie knnen Testergebnisse analysieren und den Testfortschritt beurteilen, wie er mit Testfortschritt allen Berichtsdimensionen in Testfortschrittsbericht und Testabschlussbericht dokumentiert ist.
3.7 Geschftswert des Testens LO-3.7.1 (K2) LO-3.7.2 (K3) Sie knnen Beispiele (Manahmen) fr alle vier Kategorien nennen, die di die Qualittskosten bestimmen. Sie knnen die relevanten quantitativen und/oder qualitativen Werte fr einen gegebenen Kontext nennen.
3.8 Verteiltes Testen, Outsourcing und Insourcing LO-3.8.1 (K2) Sie knnen Risiken, Gemeinsamkeiten und U Unterschiede der drei Personalorganisations-Modelle Personalorganisations Modelle (verteiltes Testen, Outsourcing, Insourcing) nennen.
3.9 Risikoorientiertes Testen 3.9.1 Einfhrung in das risikoorientierte Testen LO-3.9.1.1 (K2) Sie knnen anhand von Beispielen erlutern, auf welche unterschiedliche Art und 3.9.1.1 welche Weise risikoorientiertes Testen auf Risiken reagiert. LO-3.9.1.2 (K4) Sie knnen die Risiken eines Projekts und eines Produkts identifizieren und eine 3.9.1.2 geeignete Teststrategie und ein Testkonzept fr diese Risiken bestimmen. 3.9.2 Risikomanagement 3.9.2.1 LO-3.9.2.1 (K3) Sie knnen eine Risikoanalyse fr ein Produkt aus Sicht der Tester durchfhren und dabei die FMEA-Vorgehensweise befolgen. Vorgehensweise LO-3.9.2.2 (K4) Sie knnen Ergebnisse aus der Sicht verschiedener wichtiger Betroffener 3.9.2.2 zusammenfassen. Sie knnen deren kollektive Beurteilung dazu nutzen, geeignete fassen. Testaktivitten zur Risikobeherrschung zu skizzieren. 3.9.3 Risikomanagement im Softwarelebenszyklus LO-3.9.3.1 (K2) Sie knnen die Merkmale des Risikomanagements darstellen, die urschlich dafr 3.9.3.1 urschlich sind, dass Risikomanagement ein iterativer Prozess ist. LO-3.9.3.2 (K3) Sie knnen eine gegebene risikoorientierte Teststrategie in konkrete Testaktivitten 3.9.3.2 umsetzen und deren Auswirkungen beim Testen berwachen. LO-3.9.3.3 (K4) Sie knnen die Testergebnisse analysieren und dokumentieren und Restrisiken bestimmen oder benennen, um so dem Projektmanagement intelligente Release ReleaseEntscheidungen zu ermglichen. 3.10 FMEA (Fehler-Mglichkeits- und Einfluss Einfluss-Analyse) LO-3.10.1 (K2) Sie knnen das Konzept der FMEA beschreiben und anhand von Beispielen ihre Anwendung in Projekten und den Nutzen fr die Projekte erlutern. Version 2007 Seite 17 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
3.11 Besonderheiten beim Testmanagement LO-3.11.1 (K2) Sie knnen die Besonderheiten des Testmanagements beim explorativen Test Testen, beim Test von Multisystemen und beim Test sicherheitskritischer Systeme vergleichen bezglich Teststrategie, Vor und Nachteilen und Angemessenheit und Vorbezglich der Auswirkungen auf Testplanung, berdeckung, berwachung und Steuerung. Kapitel 4: Testverfahren [0 Minuten] Kein Lernziel dieses Kapitels (auf keiner der kognitiven Ebenen) betrifft die Rolle Testmanager. Kapitel 5: Test der Softwareeigenschaften [0 Minuten] Kein Lernziel dieses Kapitels (auf keiner der kognitiven Ebenen) betrifft die Rolle Testmanager. Kapitel 6: Review [120 Minuten] 6.2 Grundstze von Reviews LO-6.2.1 (K2) Sie knnen die Vorteile von Reviews im Vergleich zu dynamischen und weiteren statischen Testverfahren erlutern. 6.4 Einfhrung von Reviews LO-6.4.1 (K2) Sie knnen Review-Arten miteinander vergleichen und deren relative Strken, -Arten Schwchen und Einsatzbereiche aufzeigen. LO-6.4.2 (K3) Sie knnen ein Review Team durch ein formales Review mit den notwendigen in Review-Team Schritten fhren. LO-6.4.3 (K4) Sie knnen einen R Review-Plan als Teil des Qualitts-/Testkonzepts eines Projekts /Testkonzepts skizzieren, der die Review Techniken unter Bercksichtigung der aufzudeckenden Review-Techniken Fehler und der Fhigkeiten des verfgbaren Personals einsetzt und auf die geeigneten dynamischen Testanstze absti abstimmt. 6.5 Erfolgsfaktoren fr Reviews LO-6.5.1 (K2) Sie knnen die mglichen Risiken erlutern, wenn technische, organisatorische und personenbezogene Faktoren beim Durchfhren von Reviews nicht bercksichtigt werden. Kapitel 7: Fehler- und Abweichungsman Abweichungsmanagement [80 Minuten] LO-7.1 (K3) LO-7.2 (K3) LO-7.3 (K4) 1993 Sie knnen einen Abweichung nach dem in IEEE Standard 1044-1993 festgelegten Abweichungsmanagement-Lebenszyklusmodell bearbeiten. Abweichungsmanagement Sie knnen Fehlerberichte auf Basis des IEEE Standard 1044 1993 und der 1044-1993 angewendeten Fehlertaxonomie bewerten, um deren Qualitt zu verbessern. wendeten Sie knnen die im Lauf der Zeit erstellten Fehlerberichte analysieren und die Fehlertaxonomie aktualisieren.
Kapitel 8: Standards im Testverbesserungs Testverbesserungs-Prozess [120 Minuten] LO-8.1 (K2) Sie knnen Quellen der Softwarestandards zusammenfassen und Sie knnen die Ntzlichkeit der Softwarestandards fr das Softwaretesten erklren.
8.4 Testverbesserungs-Prozess
Version 2007
LO-8.4.3 (K2)
Sie knnen einen Testverbesserungsplan erstellen und testen und dabei die inen und allgemeinen Prozessschritte einsetzen und die richtigen Personen beteiligen. Sie knnen die in den Modellen TMM, TPI, CTP, STEP definierten Testverbesserungs-Prozesse zusammenfassen sowie die Prozessbereiche -Prozesse Verifizierung und Validierung nach CMMI. ung Sie knnen die Bewertungskriterien der Testverbesserungs Testverbesserungs-Modelle TMM, TPI, CTP, e STEP und die Prozessbereiche Verifizierung und Validierung nach CMMI erklren.
Kapitel 9: Testwerkzeuge und Automatisierung [90 Minuten] 9.2 Testwerkzeugkonzepte LO-9.2.1 (K2) Sie knnen die Grundgedanken und Wesensmerkmale in jedem der folgenden berlegungen zu Testwerkzeugen miteinander vergleichen: Kosten, Nutzen und Kosten, Risiken von Testwerkzeugen und Automatisierung Testwerkzeugstrategien Automatisierung, erkzeugstrategien, Integration und Informationsaustausch, Automatisierungssprachen, Testorakel, Integration Informationsaustausch, Testwerkzeuge in Betrieb nehmen Open Source-Werkzeuge, Eigene Testwerkzeuge nehmen, Eigene Testwerkzeuge entwickeln sowie Testwerkzeuge klassifizieren. entwickeln Sie knnen beschreiben, warum und wann es wichtig ist, eine Strategie fr den eschreiben, Einsatz von Testwerkzeugen zu erstellen. Sie verstehen die verschiedenen Phasen der Testwerkzeug Implementierung. ie Testwerkzeug-Implementierung.
9.3 Testwerkzeugkategorien LO-9.3.1 (K2) LO-9.3.2 (K2) Sie knnen die Testwerkzeugkategorien nach Zielsetzung, Verwendungszweck, estwerkzeugkategorien Strken, Risiken und mit Beispielen zusammenfassen. Sie knnen die spezifischen Anforderungen an Testwerkzeuge und Open Source ie SourceTestwerkzeuge zusammenfassen, die beim Testen sicherheitskritischer Systeme sicherheitskritischer eingesetzt werden. Sie knnen wichtige Aspekte und Konsequenzen unterschiedlicher Testwerkzeuge ichtige und deren Implementierung, Verwendung und ihre Auswirkung auf den Testprozess beschreiben. eschreiben, Sie knnen beschreiben, wann und warum die Entwicklung eines eigenen Werkzeugs in Frage kommt, sowie die damit verbundenen Vorteile, Risiken und Folgen.
LO-9.3.3 (K2)
LO-9.3.4 (K2)
Kapitel 10: Soziale Kompetenz und Teamzusammensetzung [240 Minuten] 10.2 Individuelle Fhigkeiten LO-10.2.1 (K3) Sie knnen einen vorgegebenen Fragebogen anwenden, um Strken und Schwchen von Teammitgliedern festzustellen bezogen auf die Anwendung von Softwaresystemen, Kenntnissen des Geschftsbereichs/der Branche, den Bereich der Systementwicklung, des Softwaretestens und den zwischenmenschlichen Softwaretestens Fhigkeiten. 10.3 Dynamik im Testteam
Version 2007
LO-10.3.1 (K3) Sie knnen eine Soll/Ist Analyse durchfhren, um die bentigten technischen ine Soll/Ist-Analyse Fhigkeiten oder erforderliche soziale Kompetenz fr die offenen Positionen einer Organisation zu bestimmen. nisation 10.4 Testen in der Organisationsstruktur etablieren LO-10.4.1 (K2) Sie knnen die verschiedenen organisatorischen Optionen bzgl. der Unabhngigkeit ie des Testens charakterisieren und mit Insourcing, Outsourcing und Off Shoring Off-Shoring vergleichen.
10.5 Motivieren LO-10.5.1 (K2) Sie knnen Beispiele anfhren fr die Tester motivierende und demotivierende Faktoren. 10.6 Kommunizieren LO-10.6.1 (K2) Sie knnen anhand von Beispielen eine professionelle, objektive und effektive nhand Kommunikation in einem Projekt aus Sicht des Testers beschreiben Stellen Sie d ation beschreiben. dabei auch Risiken und Chancen dar.
Version 2007
2.5 Testrealisierung und Testdurchfhrung LO-2.5.5 (K2) Sie knnen die Voraussetzungen fr die Testdurchfhrung beschreiben, einschlielich Testdurchfhrung Testmitteln, Testumgebung, Konfigurationsmanagement und Abweichungsmanagement.
2.6 Testendekriterien auswerten, Bericht LO-2.6.2 (K3) Sie knnen mit vorgegebenen Metriken bewerten, ob ein bestimmtes Testendekriterium erfllt ist.
Kapitel 3: Testmanagement [120 Minuten] 3.9.2 Risikomanagement LO-3.9.2.3 (K3) Sie knnen die Auswahl von Testfllen, Testberdeckung und Testdaten auf Basis 3.9.2.3 des Risikos priorisieren und das angemessen in einem Testkonzept und einer Testspezifikation dokumentieren. LO-3.9.2.4 (K2) Sie knnen die Aktivitten bei einem risikoorientierten Testansatz fr Planung und 3.9.2.4 Durchfhrung von fachlichen Tests umreien.
Version 2007
Kapitel 4: Testverfahren [1080 Minuten] 4.2 Spezifikationsorientierten Testverfahren LO-4.2.1 (K2) Sie knnen Beispiele fr typische Fehlerzustnde anfhren, die sich mit den jeweiligen spezifikationsorientierten Testverfahren identifizieren lassen, und den entsprechenden berdeckungsgrad angeben. Sie knnen Testflle aus vorgegebenen Softwaremodellen erstellen und dabei n folgende Testentwurfsverfahren anwenden. Die Tests sollen dabei eine gegebene Modellberdeckung erzielen: quivalenzklassenbildung Grenzwertanalyse Entscheidungstabellentest Zustandsbasiert Test Zustandsbasierter Klassifikationsbaumverfahren Paarweises Testen Anwendungsfallbasierte Testen Anwendungsfallbasiertes Sie knnen ein System oder dessen Anforderungsspezifikation analysieren und festlegen, welche spezifikationsorientierten Testverfahren fr bestimmte Zielsetzungen anzuwenden sind, und Sie knnen eine Testspezifikation nach IEEE setzungen Standard 829 skizzieren, mit dem Schwerpunkt auf funktionalen und fachlichen Testfllen und Testverfahren.
LO-4.2.2 (K3)
LO-4.2.3 (K4)
4.4 Fehlerbasierte und erfahrungsbasierte Testverfahren LO-4.4.1 (K2) Sie knnen Prinzip und Grnde fr das fehlerbasierte Testentwurfsverfahren beschreiben und gegen den Einsatz spezifikationsorientierter und strukturorientierter Testverfahren abgrenzen abgrenzen. Sie knnen anhand von Beispielen Fehlertaxonomien und deren Einsatz erlutern. Sie knnen das Prinzip der erfahrungsbasierten Testentwurfsverfahren und die Grnde fr ihren Einsatz verstehen und wann sie genutzt werden. Sie knnen Tests nach dem explorativen Testentwurfsverfahren spezifizieren, durchfhren und darber berichten. Sie knnen Fehlerzustnde gem den Zielen verschiedener Fehlerangriffe klassifizieren. Sie knnen ein System analysieren um festzulegen, welche analysieren, spezifikationsorientierten, spezifikationsorientierte fehlerbasierten oder erfahrungsbasierten Testverfahren fr bestimmte Ziele einzusetzen sind.
LO-4.4.2 (K2) LO-4.4.3 (K2) LO-4.4.4 (K3) LO-4.4.5 (K2) LO-4.4.6 (K4)
Kapitel 5: Test der Softwareeigenschaften [210 Minuten] 5.2 Qualittsmerkmale bei fachlichen Tests LO-5.2.1 (K4) Sie knnen anhand von Beispielen erlutern, welche der in Kapitel 4 erwhnten welche Testverfahren geeignet sind, um Richtigkeit, Angemessenheit, Interoperabilitt, funktionale Sicherheit und Zugnglichkeit eines Systems zu testen.
Version 2007
LO-5.2.2 (K3)
Sie knnen Benutzbarkeitstests skizzieren, entwerfen, spezifizieren und durchfhren spezifizieren durchfhren. Sie knnen dabei die geeigneten Verfahren einsetzen und vorgegebene Testziele und zu findende Fehlerzustnde bercksichtigen.
5.3 Qualittsmerkmale beim technischen Testen LO-5.3.1 (K2) Sie knnen erklren, warum Effizienztests, Zuverlssigkeitstests und technische Sicherheitstests Teil einer Teststrategie sein sollten, und Beispiele fr Fehlerzustnde anfhren, die damit gefunden werden sollen. Sie knnen nicht-funktionale Testarten fr das technische Testen anhan typischer funktionale anhand Fehlerzustnde charakterisieren, die gezielt angegriffen werden (Fehlerangriffe) die typische Anwendung im Lebenszyklus einer Anwendung, und die fr das Testdesign geeigneten Testverfahren.
LO-5.3.2 (K2)
Kapitel 6: Review [180 Minuten] 6.5 Erfolgsfaktoren fr Reviews LO-6.5.1 (K3) LO-6.5.2 (K3) LO-6.5.3 (K2) Sie knnen eine Review Review-Checkliste verwenden, um Programmcode und Architektur erwenden, aus Sicht eines Testers zu verifizieren. Sie knnen eine Review Review-Checkliste verwenden, um Anforderungen und erwenden, Anwendungsflle aus Sicht d Testers zu verifizieren. des Sie knnen Review-Arten miteinander vergleichen und deren relative Strken, Schwchen und Einsatzbereiche aufzeigen.
Kapitel 7: Fehler- und Abweichungsmanagement [120 Minuten] 7.4 Pflichtfelder fr die Erfassung von Fehler und Abweichungen ng FehlerLO-7.4.1 (K4) Sie knnen funktionale und nicht funktionale Fehlerwirkungen analysieren, unktionale nicht-funktionale klassifizieren, in verstndlichen Abweichungsberichten und beschreiben.
Kapitel 8: Standards im Testverbesserungs Testverbesserungs-Prozess [0 Minuten] Kein Lernziel dieses Kapitel (auf keiner der kognitiven Ebenen) betrifft die Test Analysts. Kapitel 9: Testwerkzeuge und Automatisierung [90 Minuten] 9.2 Testwerkzeugkonzepte Sie knnen die Elemente und Aspekte in jedem der folgenden Testwerkzeugkonzepte folgenden vergleichen: Kosten, Nutzen und Risiken von Testwerkzeugen und Automatisierung Kosten, Automatisierung, Testwerkzeugstrategien Integration und Informationsaustausch, Testwerkzeugstrategien, Automatisierungssprachen, Testorakel, Testwerkzeuge in Betrieb nehmen Open Testwerkzeuge nehmen, Source-Werkzeuge, Werkzeuge, Eigene Testwerkzeuge entwickeln sowie Testwerkzeuge Testwerkzeuge klassifizieren. 9.3 Testwerkzeugkategorien LO-9.2.1 (K2)
Version 2007
Sie knnen die Testwerkzeugkategorien nach Zielsetzung, Verwendungszweck, estwerkzeugkategorien Strken und Risiken zusammenfassen sowie Beispiele nennen. zusammenfassen, Sie knnen die Werkzeuge der verschiedenen Werkzeugkategorien den unterschiedlichen Teststufen und Testarten zuordnen.
Kapitel 10: Soziale Kompetenz und Teamzusammensetzung [30 Minuten] 10.6 Kommunizieren LO-10.6.1 (K2) Sie knnen anhand von Beispielen eine professionelle, objektive und effektive nhand Kommunikation in einem Projekt aus Sicht des Testers beschreiben Stellen Sie dabei Risiken und Chancen dar.
Version 2007
2.5 Testrealisierung und Testdurchfhrung LO-2.5.5 (K2) Sie knnen die Voraussetzungen fr die Testdurchfhrung beschreiben, einschlielich oraussetzungen Testmittel, Testumgebung, Konfigurationsmanagement und Abweichungsmanagement.
2.6 Testendekriterien auswerten, Bericht LO-2.6.2 (K3) Sie knnen mit vorgegebenen Metriken bewerten, ob ei bestimmtes ein Testendekriterium erfllt ist.
Kapitel 3: Testmanagement [120 Minuten] 3.9.2 Risikomanagement LO-3.9.2.5 (K2) Sie knnen die Aktivitten bei einem risikoorientierten Testansatz fr Planung und Durchfhrung von fachlichen Tests umreien.
Version 2007
Kapitel 4: Testverfahren [930 Minuten] 4.2 Spezifikationsoriente Verfahren LO-4.2.1 (K2) LO-4.2.2 (K3) Sie knnen Beispiele fr typische Fehlerzustnde anfhren, die sich mit den jeweiligen spezifikationsorientierten Testverfahren identifizieren lassen. Sie knnen Testflle aus vorgegebenen Softwaremodellen erstellen und dabei folgende Testentwurfsverfahren anwenden, wobei die Tests eine gegebene Modellberdeckung erzielen sollen: quivalenzklassenbildung Grenzwertanalyse Entscheidungstabellentes Entscheidungstabellentest Zustandsbasierter Test Sie knnen ein System oder dessen Anforderungsspezifikation analysieren und festlegen, welche spezifikationsorienten Testverfahren fr bestimmte Zielsetzungen anzuwenden sind, und Sie knnen eine Testspezifikation nach IEEE Standard 829, nach mit dem Schwerpunkt auf Testfllen fr Komponententests und nicht-funktionale funktionale Tests und Testverfahren skizzieren skizzieren.
LO-4.2.3 (K4)
4.3 Strukturorientierte Testverfahren LO-4.3.1 (K2) LO-4.3.2 (K3) Sie knnen Beispiele fr typische Fehler anfhren, die sich mit den jeweiligen strukturorientierten Testverfahren identifizieren lassen. Sie knnen mit den folgenden Testentwurfsverfahren echte Testflle entwerfen, wobei die Tests eine vorgegebene Modellberdeckung erzielen sollen: Anweisungs Anweisungsberdeckungstest Entscheidungsberdeckungstest Definierter Bedingungs Bedingungsberdeckungstest Mehrfachbedingungsberdeckungstest Sie knnen ein System analysieren, um festzulegen, welches strukturorientierte Testverfahren fr bestimmte Zielsetzungen anzuwenden ist. Sie knnen jedes der strukturorientierten Testentwurfsverfahren und die zugehrigen berdeckungsgrade verstehen sowie, wann welches Verfahren verwendet wird. Sie knnen vergleichen und analysieren, welches strukturorienti strukturorientierte Testentwurfsverfahren in unterschiedlichen Situationen einzusetzen ist.
4.4 Fehlerbasierte und erfahrungsbasierte Testverfahren LO-4.4.1 (K2) Sie knnen Prinzip und Grnde fr das fehlerbasierte Testentwurfsverfahren beschreiben und gegen den Einsatz spezifikationsorientierter und strukturorientierter Einsatz Testverfahren abgrenzen abgrenzen. Sie knnen anhand von Beispielen Fehlertaxonomien und deren Einsatz erlutern. Sie knnen Prinzip und Grnde fr den Einsatz erfahrungsbasiert erfahrungsbasierter Testentwurfsverfahren verstehen und wann sie genutzt werden. Sie knnen Tests unter Nutzung explorativen Testens spezifizieren, durchfhren und darber berichten. Sie knnen Tests nach den Zielen verschiedener Fehlerangriff spezifizieren Fehlerangriffe spezifizieren.
Version 2007
LO-4.4.7 (K4)
Sie knnen ein System analysieren um festzulegen, welche analysieren, spezifikationsorientierten, spezifikationsorientierte fehlerbasierten oder erfahrungsbasierten Testverfahren fr bestimmte Ziele anzuwenden sind.
4.5 Statische Analyse LO-4.5.1 (K3) Sie knnen die Algorithmen Kontrollflussanalyse und Datenflussanalyse nnen anwenden, um zu verifizieren, dass der Programmcode keine Kontroll oder KontrollDatenflussanomalie hat. Sie knnen die Ergebnisse der Kontrollfluss und Datenflussanalyse interpret Kontrollflussinterpretieren, die ein Werkzeug liefert, und bewerten, ob eine Kontroll oder Datenflussanomalie Kontrollvorliegt. Sie knnen den Einsatz von Aufrufgraphen zur Bewertung der Architekturqualitt erklren. Dazu gehren die zu identifizierenden Fehlerzustnde, die Anwendung fr Testentwurf und Testplanung und die mglicherweise eingeschrnkte Gltigkeit der Ergebnisse.
LO-4.5.2 (K4)
LO-4.5.3 (K2)
4.6 Dynamische Analyse LO-4.6.1 (K2) Sie knnen erklren, wie eine dynamische Analyse des Programmcodes durchgefhrt wird, und zusammenfassen, welche Fehlerzustnde mit diesem Verfahren aufgedeckt zusammenfassen, werden knnen und wo die Grenzen dieses Verfahrens liegen.
Kapitel 5: Test der Softwareeigenschaften [240 Minuten] 5.3 Qualittsmerkmale beim technischen Testen LO-5.3.2 (K2) Sie knnen nicht-funktionale Testarten fr das technische Testen anhand typischer nktionale Fehlerzustnde charakterisieren, die gezielt angegriffen werden (Fehlerangriffe), die typische Anwendung im Lebenszyklus einer Anwendung, und die fr das Testdesign geeigneten Testverfahren. Sie knnen verstehen und erklren, in welchen Lebenszyklusphasen einer Software oder eines Systems Sicherheits Zuverlssigkeits- und Effizienztests angewendet Sicherheits-, werden (einschlielich der entsprechenden Teilmerkmale nach ISO 9126) Sie knnen die Arten von Fehlern unterscheiden, die durch Sicherheits-, SicherheitsZuverlssigkeits- und Effizienztests aufgedeckt werden (einschlielich der entsprechenden Teilmerkmale nach ISO 9126) Sie knnen Testanstze fr das Testen auf Sicher Sicherheits-, Zuverlssigkeits und , ZuverlssigkeitsEffizienzmerkmale und deren entsprechende Teilmerkmale nach ISO 9126 charakterisieren. Sie knnen Testflle fr das Testen auf Sicherheits Zuverlssigkeits- und Sicherheits-, Effizienzmerkmale und deren entsprechende Teilme Teilmerkmale nach ISO 9126 spezifizieren. Sie knnen verstehen und erlutern, warum Wartbarkeit, Portabilitt und Zugnglichkeitstest Teil einer Teststrategie sein sollten. Sie knnen Testflle fr nicht nicht-funktionale Tests auf nderbarkeit und Portabilitt arkeit spezifizieren.
LO-5.3.3 (K2)
LO-5.3.4 (K2)
LO-5.3.5 (K2)
LO-5.3.6 (K3)
Kapitel 6: Review [180 Minuten] 6.4 Einfhrung von Reviews Version 2007 Seite 27 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
LO-6.4.1 (K2)
Sie knnen Review-Arten miteinander vergleichen und deren relative Strken, -Arten Schwchen und Einsatzbereiche aufzeigen.
6.5 Erfolgsfaktoren fr Reviews LO-6.5.3 (K4) Sie knnen eine Review Checkliste skizzieren, um typische Fehlerzustnde Review-Checkliste aufzudecken, die bei Reviews von Code und Architektur gefunden werden.
Kapitel 7: Fehler- und Abweichungsmanagement [120 Minuten] 7.4 Pflichtfelder fr die Erfassung von Fehler und Abweichungsmeldungen FehlerLO-7.4.2 (K4) Sie knnen nicht-funktionale Abweichungen in verstndlichen Abweichungsberichten funktionale analysieren, klassifizieren und beschreiben.
Kapitel 8: Standards und Testverbesserungs Testverbesserungs-Prozess [0 Minuten] Kein Lernziel dieses Kapitel (auf keiner der kognitiven Ebenen) betrifft die Technical Test Analysts. Kapitel 9: Testwerkzeuge und Automatisierung [210 Minuten] 9.2 Testwerkzeugkonzepte LO-9.2.1 (K2) Sie knnen die Elemente und Aspekte in jedem der folgenden Testwerkzeugkonzepte der vergleichen: Kosten, Nutzen und Risiken von Testwerkzeugen und Automatisierung Kosten, Automatisierung, Testwerkzeugstrategien Integration und Informationsaustausch, Testwerkzeugstrategien, Automatisierungssprachen, Testorakel, Testwerkzeuge in Betrieb nehmen Open Testwerkzeuge nehmen, Source-Werkzeuge, Werkzeuge, Eigene Testwerkzeuge entwickeln sowie Testwerkzeuge Testwerkzeuge klassifizieren.
9.3 Testwerkzeugkategorien LO-9.3.1 (K2) LO-9.3.5 (K2) estwerkzeugkategorien Sie knnen die Testwerkzeugkategorien nach Zielsetzung, Verwendungszweck, Strken, Risiken und mit Beispielen zusammenfassen. Sie knnen die Werkzeuge der verschiedenen Werkzeugkategorien den unterschiedlichen Teststufen und Testarten zuordnen.
9.3.7 Schlsselwortgetriebene Testautomatisierung Schlsselwort-/Aktionswort-Tabellen mit Hilfe des Schlsselwort bellen SchlsselwortLO-9.3.7.1 (K3) Sie knnen Schlsselwort Algorithmus erstellen, den ein Testausfhrungs Werkzeug verwenden wird. Testausfhrungs-Werkzeug 9.3.8 Performanztestwerkzeuge LO-9.3.8.1 (K3) Sie knnen Performanztests entwerfen und planen, um Systemmerkmale messen zu K3) knnen. Kapitel 10: Soziale Kompetenz und Teamzusammensetzung [30 Minuten] ale 10.6 Kommunizieren
Version 2007
LO-10.6.1 (K2) Sie knnen anhand von Beispielen eine professionelle, objektive und effektive nhand Kommunikation in einem Projekt aus Sicht des Testers beschreiben. Stellen Sie dabei beschreiben. Risiken und Chancen dar. iken
Version 2007
1.1 Einfhrung
Dieses Kapitel enthlt zentrale Testthemen, die von allgemeiner Relevanz fr alle Mitarbeiter im Bereich Testen sind, d.h. fr Testmanager, Test Analysts und Technical Test Analysts. Die Ausbildungsanbieter werden diese allgemeinen Themen im Kontext des jeweiligen Moduls behandeln und durch relevante Beispiele ergnzen. Im Modul Technical Test Analyst gibt es beispielsweise zum allgemeinen Thema Metriken und Messung (Abschnitt 1.4) Beispiele fr technische Metriken, w ) wie Performanzmessungen. Abschnitt 1.2 betrachtet den Testprozess als Teil des gesamten Softwarelebenszyklus. Das Thema baut auf den grundlegenden Konzepten auf, wie sie im Foundation-Level-Lehrplan eingefhrt wurden. Es legt besonderen Wert auf das Angleichen des Testprozesses an den Softwarelebenszyklus und sonderen andere IT-Prozesse. Systeme knnen verschiedene Ausprgungen annehmen, die die Vorgehensweise beim Testen erheblich beeinflussen knnen. Abschnitt 1.3 stellt zwei spezifische Systemtypen vor, die allen Testern bekannt sein mssen: Multisysteme und sicherheitskritische Systeme. Fortgeschrittene Tester sind mit einigen schwierigen Aufgaben konfrontiert, wenn sie die in diesem Lehrplan beschriebenen unterschiedlichen Testaspekte in ihren Organisationen, Teams und Aufgabenbereichen einfhren.
Version 2007
In sequenziellen Softwareentwicklungs Modellen steht die frhzeitige Testplanung in e Softwareentwicklungs-Modellen einem engen Zusammenhang mit der spteren Testdurchfhrung. Die Testaktivitten knnen sich zeitlich berlappen und/oder gleichzeitig stattfinden. nderungs- und Konfigurationsmanagement sind wichtige untersttzende Aufgaben beim Softwaretesten. Ohne geeignetes nderungsmanagement lassen sich die Auswirkungen von netes nderungen auf das System nicht beurteilen. Ohne Konfigurationsmanagement besteht die Gefahr, dass parallele Entwicklungen verloren gehen oder schlecht verwaltet werden. Abhngig vom Projektkontext knnen zustzlich zu den im Lehrplan definierten Teststufen noch t weitere definiert werden, beispielsweise: Hardware-Software Integrationstest Software Systemintegrationstest Interaktionstest der Funktionen t Produktintegrationstest beim Kunden ntegrationstest Jede Teststufe lsst sich wie folgt kennzeichnen: Testziele Testumfang Rckverfolgbarkeit zur Testbasis Eingangsbedingungen und Testendekriterien nd Test-Arbeitsergebnisse und Berichterstattung Arbeitsergebnisse Testverfahren Mae und Metriken Testwerkzeuge Einhaltung von organisationsinternen oder anderen Standards Je nach Kontext lassen sich Ziele und Umfang der Teststufen isoliert oder auf Proje Projektebene betrachten (beispielsweise, um unntiges Wiederholen hnlicher Tests in unterschiedlichen Teststufen zu vermeiden). Testaktivitten mssen an das ausgewhlte Softwarelebenszyklusmodell angepasst werden, das sequenziell sein kann (beispielsweise Was Wasserfall, V-Modell, W-Modell), iterativ (beispielsweise Rapid Modell), Application Development (RAD), Spiralmodell) oder inkrementell (beispielsweise evolutionre und , agile Methoden) . Im V-Model lsst sich beispielsweise der fundamentale Testprozess des ISTQB auf der Stufe Model Systemtest folgendermaen anpassen: Der Systemtest wird gleichzeitig mit dem Projekt geplant, und die Teststeuerung und -berwachung dauert an, bis die Testdurchfhrung und der Abschluss der Testaktivitten berwachung erfolgt sind. Systemtestanalyse und -entwurf finden parallel zum Erstellen von Anforderungsspezifikation, entwurf System- und (abstraktem) Architekturentwurf statt, und auf einer niedrigeren Ebene Architekturentwurf gleichzeitig mit dem Komponentenentwurf. Die Bereitstellung der Testumgebung (beispielsweise Testrahmen) kann whrend des funktionalen Systementwurfs beginnen, obwohl der grte Aufwand normalerweise gleichzeitig mit der Implementierung und dem Komponententest anfllt. Die Arbeit an der eitig Testrealisierung dauert dagegen oft bis wenige Tage vor Beginn der Testdurchfhrung. Die Testdurchfhrung beginnt, wenn alle Eingangsbedingungen fr den Systemtest erfllt sin sind (oder auf sie verzichtet wird), was normalerweise bedeutet, dass mindestens der Komponententest und oft auch der Integrationstest abgeschlossen sind. Die Testdurchfhrung dauert, bis die Testendekriterien erfllt sind. Seite 31 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
Version 2007
Whrend der gesamten Testdurchfhrung werden die Testendekriterien bewertet und die Testdurchfhrung Testergebnisse berichtet, normalerweise mit grerer Hufigkeit und Dringlichkeit, je nher der Projektendtermin rckt. Die Testabschlussaktivitten folgen, wenn die Testendekriterien erfllt sind und die Testdurchfhrung als abgeschlossen erklrt wird. Sie knnen aber manchmal verschoben estdurchfhrung werden, bis auch der Abnahmetest abgeschlossen ist und alle Projektaktivitten beendet sind. Fr jede Teststufe und fr jede ausgewhlte Kombination von Softwarelebenszyklus und Testprozess Softwarelebenszyklus muss der Testmanager diese Anpassung whrend der Testplanung und/oder Projektplanung vornehmen. Bei besonders komplexen Projekten, beispielsweise Multisystem Projekten (verbreitet Multisystem-Projekten beim Militr und in Grofirmen), mssen die Testprozesse nicht nur angepasst, sondern auch je nach nicht dem Kontext des Projekts modifiziert werden (beispielsweise wenn es einfacher ist, einen Fehlerzustand auf einer hheren Teststufe aufzudecken als auf einer niedrigeren).
1.3.1.1 Management und Testen von Multisystemen Die hhere Komplexitt von Projektmanagement und Konfigurationsmanagement ist Multisystemen gemeinsam. Zu komplexen Systemen und Multisystemen gehren meist eine strkere Einflussnahme der Qualittssicherung und definierte Prozesse. Oft sind mit Multisystemen formelle Entwicklungs EntwicklungsLebenszyklen, Meilensteine und Reviews verbunden.
Version 2007
1.3.1.2 Merkmale des Lebenszyklus von Multisystemen Zu jeder Teststufe eines Multisystems gehren neben den in Abschnitt 1.2 Testen im Softwarelebenszyklus beschriebenen Merkmalen noch die folgenden: lebenszyklus mehrstufiges Integrations- und Versionsmanagement, lange Projektdauer, formale Weitergabe von Informationen zwischen den Pro Projektmitgliedern, nicht-gleichzeitige Entwicklung der Komponenten und die Notwendigkeit, Regressionstests gleichzeitige auf Multisystem-Ebene durchzufhren, Ebene Wartungstests, weil Einzelkomponenten wegen Veralterung oder Erweiterung ersetzt werden. Teststufen mssen bei Multisystemen sowohl mit ihrem eigenen Detaillierungsgrad als auch auf einer tisystemen hheren Integrationsstufe bercksichtigt werden. So lsst sich der Systemtest fr ein Subsystem als Komponententest fr die bergeordnete Komponente betrachten. Normalerweise wird jede Einzelkomponente eines Multisystems auf jeder Teststufe getestet, bevor sie de in das Multisystem integriert wird, wobei weitere Tests erforderlich sind. Spezielle Managementaspekte von Multisystemen enthlt Abschnitt 3.11.2.
erfllt ist. Der Weg von der Anforderung zu ihrer Umsetzung muss sich vollstndig verfolgen lassen, um die Konformitt zu beweisen. Das beeinflusst whrend des gesamten Entwicklungspr Entwicklungsprozesses Management, Entwicklungslebenszyklus, Testaktivitten und Qualifizierung oder Zertifizierung (durch eine dafr zugelassene Stelle). 1.3.2.2 Sicherheitskritische Systeme und Komplexitt Viele komplexe Systeme und Multisysteme haben sicherheitskritische Komponenten. Der Sicherheitsaspekt ist nicht immer auf System oder Teilsystemebene ersichtlich, sondern auf der Systemhheren Ebene, auf der komplexe Systeme implementiert werden (beispielsweise Avioniksysteme fr implementiert Luftfahrzeuge oder Flugsicherungs-Systeme). Ein Router beispielsweise ist an sich kein sicherheitskritisches System, aber er kann dazu werden, kein wenn lebenswichtige Daten bertragen werden, wie im Fall von Telemed Telemedizin. Risikomanagement, das die Eintrittswahrscheinlichkeit und/oder die Auswirkungen von Risiken reduziert, ist unverzichtbar fr sicherheitskritische Entwicklungen und den Testkontext (siehe Kapitel 3 Testmanagement). Hufig werden auerdem FMEA (siehe Abschnitt 3.10) und Software Common ). ) Cause Failure Analysis (Analyse der gemeinsamen Ursachen von Ausfllen) in diesem Analyse Zusammenhang eingesetzt.
Version 2007
Metriken berichten: Ziel ist es, die Information fr das Management unmittelbar verstndlich darzustellen. Prsentationen knnen eine Momentaufnahme der Metrik zu einem bestimmten Zeitpunkt wiedergeben oder die zeitliche Entwicklung der Metrik(en), sodass sich Tendenzen einschtzen lassen.
Version 2007
2. Testprozesse
Begriffe:
Abschluss der Testaktivitten, BS 7925/2 , 7925/2, IEEE 829, Testbedingungen, Testbericht , Testbericht, Testdurchfhrung, , Testendekriterien, Testendekriterien Testentwurf, Testfall, Testplanung, , Testprotokoll, Testprotokoll Testrealisierung, Testskript, Teststeuerung Testszenario, Testvorgehen. , Teststeuerung,
2.1 Einfhrung
Im ISTQB Foundation-Level-Lehrplan sind folgende Aktivitten eines grundlegenden Testprozesses Lehrplan beschrieben: Testplanung und -steuerung steuerung Testanalyse und Testentwurf Testrealisierung und Testdurchfhrung Testauswertung und Bericht Abschluss der Testaktivitten Diese Aktivitten knnen sequenziell oder teilweise auch parallel ablaufen. So knnen sich beispielsweise Testanalyse und Testentwurf mit Testrealisierung und Testdurchfhrung zeitlich berlappen, whrend die anderen Aktivitten sequenziell durchgefhrt werden. Da das Testmanagement in einem grundlegenden Zusammenhang mit dem Testprozess steht, mssen Testmanager in der Lage sein, den gesamten Inhalt dieses Kapitels im konkreten Kapitels Testmanagement eines spezifischen Projekts umzusetzen. Das im ISTQB Foundation Level erworbene Wissen dagegen ist weitgehend ausreichend fr Testanalysts und Technische Testanalysts, mit Ausnahme der oben angefhrten Aufgaben in der Testentwicklung. Das dafr ntige Testentwicklung. Wissen wird in diesem Kapitel allgemein abgehandelt und in den Kapiteln 4 Testverfahren und 5 Test der Softwareeigenschaften vertieft.
2.2 Testprozessmodelle
Prozessmodelle sind Annherungen und Abstraktionen. Sie knnen nicht den gesamten Testprozess in all seiner Komplexitt abdecken, mit all den Nuancen und Aktivitten, die in realen Projekten oder Vorhaben vorkommen. Ein Testprozessmodell sollte nicht als starres Korsett aufgefasst werden werden, sondern als Leitfaden, mit dessen Hilfe Testprozesse sich besser verstehen und organisieren lassen lassen. Dieser Lehrplan verwendet den im ISTQB Foundation-Level-Lehrplan beschriebenen Testprozess als Beispiel (siehe oben), es gibt aber auch andere wichtige Testprozessmodelle. Drei Beispiele folgen. Bei den drei Modellen handelt es sich um Testprozessmodelle und Modelle zur Verbesserung des Testprozesses. Alle drei Modelle (Practical Software Testing enthlt das Test Maturity Model) sind elle im Hinblick auf die Reifestufen definiert, die sie untersttzen. Weitere Informationen zu den drei Testprozessmodellen und TPI enthlt Abschnitt 8.3 Testverbesserungs-Prozess. Practical Software Testing Test Maturity Model [Burnstein03] Critical Testing Processes [Black03] Systematic Test and Evaluation Process (STEP)
Version 2007
Version 2007
Version 2007
Bei der Entwicklung der Testbedingungen und Testflle entstehen in der Regel v verschiedene Arbeitsergebnisse aus der begleitenden Dokumentation. IEEE Standard 829 enthlt Vorgaben fr diese Dokumentation und erlutert die wichtigsten Dokumente zu Testanalyse und -entwurf, Testentwurfs- und Testfallspezifikation sowie Testrealisierung. In der Praxis gibt es jedoch groe Testfallspezifikation Unterschiede bei Umfang und Detaillierungsgrad der Dokumentation von Arbeitsergebnissen. Dies wird beispielsweise beeinflusst durch: Projektrisiken (was muss dokumentiert werden und was nicht) den Mehrwert, den die Dokumentation fr das Projekt schafft Normen und Standards, die eingehalten werden mssen das Lebenszyklusmodell (bei agilen Methoden wird der Umfang der Dokumentation beispielsweise weitgehend durch enge und hufige Kommunikation im Projektteam minimiert) die Anforderung an Rckverfolgbarkeit von der Testbasis ber die Testanalyse bis hin zu Testentwurf, Testfllen und Testdurchfhrung (inklusive der Testergebnisse) Je nach Testumfang knnen sich Testanalyse und Testentwurfsphase auch mit den M TestanalyseMerkmalen des Testobjekts befassen. ISO 9126 bietet dafr eine ntzliche Referenzgrundlage. Beim Testen von Hardware-/Softwaresystemen knnen weitere Merkmale relevant sein. /Softwaresystemen Der Testanalyse- und Testentwurfs Testentwurfs-Prozess lsst sich durch eine Verknpfung mit Reviews und rch statischer Analyse qualitativ verbessern Die Durchfhrung des Testanalyse- und entwurfsprozesses verbessern. entwurfsprozesses basierend auf der Anforderungsspezifikation ist beispiel weise eine ausgezeichnete Vorbereitung auf beispielsweise die Review-Sitzung fr die Anforderungsspezifikation. Auch die Arbeitsergebnisse von Tests, r Risikoanalysen und Testplnen sollten Reviews und statischen Analysen unterzogen werden. In der Testentwurfsphase lassen sich Anforderungsdetails an die Testinfrastruktur definieren; i der in Praxis werden sie aber erst zu Beginn der Testrealisierung endgltig festgelegt. Hinweis: Zur Testinfrastruktur gehrt mehr als nur Testobjekte und Testmittel (Beispiele sind Rumlichkeiten, Ausrstungen, Personal, Software, Werkzeuge, Peripheriegerte, Kommunikationseinrichtungen, Peripheriegerte, Zugriffsberechtigungen, und alles was sonst zum Durchfhren des Test ntig ist). Metriken fr die berwachung von Testanalyse und -entwurf sind prozentualer Anteil der Anforderungen, die von Testbedingungen abgedeckt werde werden prozentualer Anteil der Testbedingungen, die von Testfllen abgedeckt werden Anzahl der Fehlerzustnde, die whrend der Testanalyse und Testentwurfsphase aufgedeckt Testanalysewurden
Tests mssen den Nachweis erbringen, dass die gltigen Normen und Standards tats tatschlich erfllt sind, wie die fr den Flugzeugbau von der United States Federal Aviation Administration definierte Norm DO-178B/ED 12B. Wie in Abschnitt 2.4 angefhrt, sind Testdaten fr das Testen ntig, und diese Datenmengen knnen ziemlich umfangreich sein. Whrend der Testrealisierungsphase erzeugen die Tester Eingabe und EingabeUmgebungsdaten, die in Datenbanken oder anderen Repositories abgelegt werden. Sie erstellen Skripte und andere Datengeneratoren fr die Daten, die dann beim Durchfhren des Tests als eingehende Last an das System gesendet werden. In der Testrealisierungsphase sollten die Tester die Reihenfolge der durchzufhrenden manuellen und automatisierten Tests endgltig festlegen. Bei einer Automatisierung der Tests gehrt zur Automatisierung Testrealisierungsphase auch das Erstellen von Testrahmen und Testskripten. Dabei sind Einschrnkungen genau zu beachten, die mglicherweise eine bestimmte Reihenfolge der Tests vorgeben. Abhngigkeiten von bestimmten Testumgebungen oder Testdaten mssen bekannt sein Testumgebungen und berprft werden. Die Testrealisierung befasst sich auerdem mit der Testumgebung oder den umgebungen. In dieser umgebungen. Phase und noch vor der Testdurchfhrung sollten sie vollstndig vorhanden und verifiziert sein. E Eine zweckdienliche Testumgebung ist unverzichtbar: Sie sollte so beschaffen sein, dass sich vorhandene Fehlerzustnde unter definierten Rahmenbedingungen aufdecken lassen; sie sollte normal operieren, Rahmenbedingungen solange keine Fehlerwirkungen auftreten, und schlielich sollte sie bei Bedarf in den hheren schlielich Teststufen beispielsweise die Produktions oder Anwendungsumgebung angemessen abbilden. ProduktionsIn der Testrealisierungsphase mssen die Tester bzw. muss der Testmanager sicherstellen, dass die fr Erzeugung und Wartung der Testumgebung zustndigen Personen bekannt und verfgbar sind, und dass die Testmittel und Werkzeuge zur Testuntersttzung sowie die zugehrigen Prozesse einsatzbereit sind. Das schliet ein: Konfigurationsmanagement, FehlerFehler und Abweichungsmanagement, Testprotokollierung und Testmanagement. Auerdem mssen die protokollierung Verfahren verifiziert werden, mit denen die Daten fr Testendekriterien und fr Berichte ber die Testergebnisse gesammelt werden. Fr die Testrealisierung empfiehlt sich ein ausgewogener Ansatz. Risikoorientierte, analytische Risikoorientierte, Teststrategien werden beispielsweise oft mit dynamischen Teststrategien kombiniert. In diesem Fall wird ein Teil des Testdurchfhrungsaufwands fr das Testen ohne Skripte verwendet. Testen ohne Testskripte sollte aber nicht ad hoc oder ziellos sein, da der Zeitaufwand schwer hoc einzuschtzen ist, falls keine zeitliche Eingrenzung erfolgt (siehe SBTM, Abschnitt 3.11.1 Im Laufe 3.11.1). der Zeit haben Tester verschiedene erfahrungsbasierte Verfahren entwickelt, wie Fehlerangriffe (siehe Abschnitt 4.4 und [Whittaker03]), intuitive Testfallermittlung (Fehlerraten) [Myers79] und exploratives Testen. Dabei kommen Testanalyse, Testentwurf und Testrealisierung immer noch vor, allerdings vorwiegend beim Durchfhren des Tests und nicht vorab. Wenn solche dynamischen Teststrategien fhren verfolgt werden, dann beeinflussen die Testergebnisse jedes einzelnen Tests Analyse, Entwurf und Realisierung der nachfolgenden Tests. Diese Teststrategien sind leicht und oft sehr effektiv beim Auffinden von Fehlern, sie bentigen aber erfahrene Tester. Auch ist ihre Dauer schwer abzuschtzen, sie liefern oft nicht die notwendigen Informationen zur Testberdeckung, und ohne ein spezifisches Werkzeug fr Regressionstests knnen sie s schwierig zu wiederholen sein.
2.5.2 Testdurchfhrung
Die Testdurchfhrung beginnt, sobald das Testobjekt zur Verfgung steht und die Eingangsbedingungen fr die Testdurchfhrung erfllt sind. Die Tests sollten gem den Testszenarien (Testablaufspezifikation) durchgefhrt werden, obwohl den Testern ein gewisser enarien Spielraum eingerumt werden kann, damit sie zustzliche interessante Testszenarien und Version 2007 Seite 40 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
Testverhalten verfolgen knnen, die sich erst whrend des Testens ergeben. Werden bei einer Abweichung vom festgelegten Testvorgehen Fehlerwirkungen aufgedeckt, mssen die nderungen der Testvorgehen so dokumentiert werden, dass sich die Fehlerwirkungen reproduzieren lassen. Automatisierte Tests laufen ohne Abweichung von den definierte Vorgaben ab. definierten Kernstck der Testdurchfhrung ist der Vergleich zwischen tatschlichen und erwarteten Testergebnissen. Diese Aufgabe verlangt allergrte Aufmerksamkeit und Sorgfalt, denn alle Arbeit bei Entwurf und Realisierung des Tests kann umsonst gewesen sein, wenn Fehlerwirkungen gewesen bersehen werden (falsch positives Ergebnis), oder wenn korrektes Verhalten irrtmlicherweise als inkorrekt gedeutet wird (falsch negatives Ergebnis). Wenn erwartete und tatschliche Testergebnisse nicht bereinstimmen, dann liegt eine Abweichung vor. Abweichungen mssen sorgfltig berprft werden, um die Ursachen festzustellen (und ob es sich dabei um einen Fehlerzustand im Testobjekt handelt), und um die Daten zum Beheben der Abweichung zu sammeln. Weitere Informationen zu zum Abweichungsmanagement enthlt Kapitel 7. Wird eine Fehlerwirkung entdeckt, sollte zunchst die Testspezifikation einer genauen Bewertung unterzogen werden, um deren Richtigkeit sicherzustellen. Testspezifikationen knnen aus verschiedenen Grnden inkorrekt sein: bei Problemen mit den Testdaten, bei Fehlern im chiedenen Testdokument, oder wenn der Test falsch ausgefhrt wurde. Stellt sich heraus, dass die Testspezifikation inkorrekt war, muss sie korrigiert und der Test wiederholt werden. n nderungen an Testbasis und Testobjekt knnen dazu fhren, dass eine Testspezifikation nicht mehr stimmt, obwohl sie schon mehrmals erfolgreich abgearbeitet wurde. Es sollte den Testern deshalb immer bewusst sein, dass beobachtete Testergebnisse auch auf einem inkorrekten Test beruhen knnten. einem Whrend der Testdurchfhrung mssen die Testergebnisse angemessen protokolliert werden. Wenn ein Test durchgefhrt wurde, die Ergebnisse aber nicht aufgezeichnet wurden, muss er eventuell wiederholt werden, um das korrekte Ergebnis festzustellen. Das ist ineffizient und fhrt zu korrekte Verzgerungen. (Hinweis: Adquate Protokollierung kann aber die Vorbehalte bezglich berdeckungsgrad und Wiederholbarkeit bei dynamischen Teststrategien entkrften.) Da sich Testobjekt, Testmittel und Testumgebungen weiterentwickeln knnen, muss aus der Protokollierung el hervorgehen, welche Version getestet wurde. Die Testprotokollierung liefert eine chronologische Aufzeichnung aller relevanten Details der Testdurchfhrung. Die Testergebnisse sind sowohl bei einzelnen Tests als auch bei Ereignissen zu protokollieren. Jeder Test sollte eindeutig gekennzeichnet und sein Status im Verlauf der Testdurchfhrung protokolliert werden. Ereignisse, die sich auf das Durchfhren des Tests auswirken, sind zu protokollieren. Die protokollieren. Testprotokollierung sollte ausreichende Informationen aufzeichnen, um die Testberdeckung zu messen und Grnde fr Verzgerungen oder Unterbrechungen im Testbetrieb zu dokumentieren. Darber hinaus mssen Informationen protokolliert werden, die fr Teststeuerung, werden, Testfortschrittsberichte, Messung der Testendekriterien und fr Verbesserungen des Testprozesses von Nutzen sind. Je nach Teststufe und -strategie ist die Protokollierung unterschiedlich. Bei automatisierten strategie Komponententests zeichnen beispielsweise die automatisierten Tests den grten Teil der chnen Protokolldaten selbst auf. Bei manuellen Abnahmetests kann der Testmanager das Testprotokoll erstellen. In manchen Fllen, wie bei der Testrealisierung, beeinflussen Vorschriften oder Audi AuditAnforderungen die Testprotokollierung. IEEE Standard 829 Standard for Software Testing Documentation beschreibt die Informationen, die in einem Testprotokoll festzuhalten sind Testprotokoll-ID (eindeutige Kennung des Testpr ID Testprotokolls) Beschreibung Seite 41 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
Version 2007
Aktivitts- und Ereigniseintrge Auch der britische Standard BS 7925 ritische 7925-2 enthlt eine Beschreibung der zu protokollierenden Informationen. In manchen Fllen sind Nutzer oder Kunden am Durchfhren des Tests beteiligt, was dazu dienen beteiligt, kann, ihr Vertrauen in das System zu strken. Voraussetzung ist dann aber, dass die Tests im Auffinden von Fehlern weitgehend erfolglos bleiben. Eine derartige Annahme trifft in den frhen Teststufen selten zu, kann whrend der Abn Abnahmetests aber durchaus gelten. Mgliche Metriken fr die berwachung der Testrealisierung und Testdurchfhrung sind prozentualer Anteil der konfigurierten Testumgebungen prozentualer Anteil der geladenen Testdatenstze prozentualer Anteil der durchgefhr durchgefhrten Testbedingungen und Testflle prozentualer Anteil der automatisierten Testflle
Version 2007
Die Testberichte knnen jeweils nach Abschluss einer Teststufe erstellt werden, aber auch zum Abschluss der gesamten Testarbeiten.
Version 2007
All diese Aufgaben sind wichtig, auch wenn sie oft vergessen werden, und sie sollten explizit ein Teil des Testkonzepts sein. Oft werden eine oder mehrere dieser Aufgaben ausgelassen, meist weil das Testteam zu frh aufgelst wird, weil Zeit oder Ressourcen fr nachfolgende Projekte bentigt werden, oder weil das Team berarbeitet und erschpft ist. Bei Vertragsprojekten, beispielsweise kundenindividuellen itet Entwicklungsauftrgen, sollten die notwendigen Aufgaben im Vertrag spezifiziert sein. Mgliche Metriken fr den Abschluss der Testaktivitten sind prozentualer Anteil der bei der Testdurchfhrung ausgefhrten Testflle (berdeckung) i prozentualer Anteil der Testflle, die in das Repository fr wiederverwendbare Testflle aufgenommen wurden Anteil der automatisierten gegenber den zu automatisierenden Testfllen prozentualer Anteil der Testflle, die als Regressionstests gelten teil prozentualer Anteil ungelste Fehlerberichte, die geschlossen wurden (beispielsweise ungelster verschoben, keine weiteren Manahmen, nderungsanforderung usw.) prozentualer Anteil der identifizierten und archivie archivierten Arbeitsergebnisse.
Version 2007
3. Testmanagement
Begriffe:
FMEA, Mastertestkonzept, Produktrisiko Projektrisiko, Risikobeherrschung bzw. -steuerung, , Produktrisiko, , Risikoanalyse, Risikoidentifizierung, Risikomanagement risikoorientierter Test, Risikostufe Risikotyp, , Risikomanagement, , Risikostufe, session-based Testmanagement, Stufentestkonzept, Testfortschrittsbericht, Testmanagement , Stufentestkonzept, Testmanagement, Testpunktanalyse (TPA), Testrichtlinie Testschtzung, Teststeuerung, Teststrategie, Teststufe , Testrichtlinie, , Teststufe, Testberwachung, zeitliche Testplanung Wideband Delphi. , Testplanung,
3.1 Einfhrung
Dieses Kapitel deckt die Wissensgebiete ab, die speziell fr Testmanager relevant sind.
3.2.1 Testrichtlinie
Die Testrichtlinie beschreibt die Unternehmensphilosophie fr das Testen (mglicherweise auch fr die Qualittssicherung). Verschiedentlich wird die Testrichtlinie auch als Testpolitik bezeichnet. Sie liegt entweder in schriftlicher Form vor oder als eine Managementanweisung und beschreibt die allgemeinen Ziele, die das Unternehmen durch das Testen erreichen mchte. Die Richtlinie kann
Version 2007
durch die Abteilungen IT, Forschung und Entwicklung oder Produktentwicklung erstellt werden und Produktentwicklung sollte die unternehmerischen Werte und Ziele hinsichtlich des Testens darstellen. Die Testrichtlinie kann entweder eine Ergnzung zur allgemeinen Qualittsrichtlinie des Unternehmens sein oder ein Teil davon. Die Qualittsrichtlinie legt fest, welche Werte und Ziele das Qualittsrichtlinie Management in Bezug auf die Qualittsansprche des Unternehmens anstrebt. Wenn eine Testrichtlinie vorliegt, kann sie ein kurzes abstraktes Dokument sein, das das Testen definiert, im Sinne einer vertrauensbildenden Manahme, dass das System wie vertrauensbildenden beabsichtigt funktioniert, oder dass Fehler aufgedeckt werden. einen fundamentalen Testprozess festschreibt, der beispielsweise bestehen kann aus: Testplanung und -steuerung, Testanalyse und -entwurf, Testrealisierung und steuerung, entwurf, Testdurchfhrung, Testauswertung der Testendekriterien und Berichterstattung sowie Abschluss der Testaktivitten. beschreibt, wie Wirksamkeit und Effizienz des Testens zu bewerten sind, beispielsweise die Fehlerfindungsrate und die Kosten von im Test gefundenen Fehlern im Gegensatz zu den gefundenen Kosten, die Fehlerzustnde nach der Freigabe verursachen. gewnschte Qualittsziele definiert, wie Zuverlssigkeit (beispielsweise gemessen an der Ausfallrate) oder Benutzbarkeit. Aktivitten fr die Testprozessverbesserung vorgibt, beispielsweise Einsatz des Test Maturity Testprozessverbesserung Modells (TMM) oder des Test Process Improvement Modells (TPI), oder die Umsetzung von Erkenntnissen aus abgeschlossenen Projekten. Die Testrichtlinie kann sich sowohl auf Testaktivitten fr Neuentwicklungen als auch auf die Wartung Neuentwicklungen beziehen. Sie kann auerdem ein verbindlicher unternehmensweiter Standard fr Testterminologie sein.
3.2.2 Teststrategie
Die Teststrategie beschreibt die Testmethoden des Unternehmens. Beschrieben werden auch des Produkt- und Projekt-Risikomanagement, die Aufteilung des Testens in Teststufen oder Testphasen komanagement, sowie die bergeordneten testbezogenen Aktivitten. Der in der Teststrategie beschriebene Testprozess und die Testaktivitten sollten der Tes richtlinie entsprechen. Die Teststrategie sollte die itten Testrichtlinie allgemeinen Testerfordernisse fr das Unternehmen oder fr ein oder mehrere Pr jekte liefern. Projekte Wie im Foundation-Level-Lehrplan beschrieben, lassen sich generelle Teststrategien und vorgehensweisen) nach dem Beginn der Testentwurfsphase klassifizieren: ) Eine vorbeugende Strategie entwirft den Test frhzeitig, um Fehler zu verhindern. Eine reagierende Strategie entwirft den Test, nachdem die Software oder das System erstellt wurde. Typische Teststrategien und Testvorgehensweisen sind u.a.: analytische Strategien, wie das risikoorientierte Testen modellorientierte Strategien, wie das am Anwendungsprofil orientierte Testen methodische Strategien, beispielswe beispielsweise auf Qualittsmerkmalen basierend prozesskonforme oder standardkonforme Strategien, beispielsweise auf dem Standard IEEE 829 basierend dynamische und heuristische Strategien, wie die Nutzung fehlerbasierter Angriffe beratende Strategien, wie das anwende anwendergesteuerte Testen Regressionstest-Strategien, beispielsweise weitgehende Automatisierung Strategien, Seite 46 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
Version 2007
Verschiedene Strategien lassen sich kombinieren. Die ausgewhlte Strategie sollte sich an den Erfordernissen und Mitteln des Unternehmens orientieren, und Unternehmen knnen die Strategien auf ihre eigenen speziellen Ablufe und Projekte zuschneiden. Oft erlutert eine Teststrategie die Projekt und Produktrisiken, und wie im Testprozess mit diesen ProjektRisiken umzugehen ist. Der Zusammenhang zwischen Test und Risiken sollte ausdrcklich erklrt sollte werden, wie auch die Mglichkeiten fr Risikominderung und -management. den, Die Teststrategie kann die auszufhrenden Teststufen beschreiben. Sie sollte dann eine grobe Leitlinie fr die Eingangs- und Ausgangsbedingungen jeder Teststufe sowie fr die Beziehungen zwischen den Teststufen (beispielsweise Aufteilung Testberdeckungsziele) vorgeben. stufen Die Teststrategie kann auerdem beschreiben Vorgehensweise fr die Integration Testspezifikationsverfahren Unabhngigkeit des Testens (kann je nac Teststufe variieren) nach Verpflichtend oder freiwillig einzuhaltende Normen/Standards Testumgebungen Testautomatisierung Wiederverwendbarkeit von Software und Arbeitsergebnissen des Testens Fehlernachtest und Regressionstests Teststeuerung und -berichte berichte Testmae und -metriken Abweichungsmanagement Konfigurationsmanagement der Testmittel Es sollten sowohl kurz- als auch langfristige Teststrategien definiert werden, entweder in einem oder mehreren Dokumenten. Unterschiedliche Teststrategien eignen sich fr unte ren unterschiedliche Unternehmen und unterschiedliche Projekte. Wenn es beispielsweise um sicherheitsrelevante oder sicherheitskritische Anwendungen geht, dann sind intensivere Strategien geeigneter. tische
3.2.3 Mastertestkonzept
Das Mastertestkonzept beschreibt die Anwendung der generellen Teststrategie fr ein spezifisches Projekt. Dazu gehren die auszufhrenden Teststufen und die Beziehungen zwischen ihnen. Das Mastertestkonzept sollte mit der Testrichtlinie und der Teststrategie konsistent sein. Falls es in bestimmten Bereichen davon abweicht, sollten die Abweichungen und Ausnahmen erklrt werden. Das Mastertestkonzept sollte den Projektplan oder das Betriebshandbuch ergnzen und den Testaufwand beschreiben, der Teil eines greren Projekts oder einer gr eren Operation ist. greren Inhalt und Aufbau des Mastertestkonzepts knnen je nach Unternehmen, den im Unternehmen verwendeten Dokumentationsstandards und der im Projekt gelebten Formalitt variieren. Typische Themen fr ein Mastertestkonzept sind en Objekte, die getestet oder nicht getestet werden sollen Qualittsmerkmale, die getestet oder nicht getestet werden sollen Testplan und Budget fr das Testen (in Anlehnung an das Projekt oder Betriebsbudget) ProjektTestdurchfhrungszyklen und deren Beziehung zum Release Plan fr die Software ngszyklen Release-Plan wirtschaftliche Begrndung fr das Testen und Geschftswert des Testens Beziehungen und Arbeitsergebnisse der Testabteilung zu anderen Personen oder Abteilungen definierte Abgrenzungen zwisch Testobjekten in den jeweiligen Teststufen zwischen
Version 2007
Spezifikation der Eingangsbedingungen, Unterbrechungs und Wiederaufnahmekriterien Unterbrechungssowie Ausgangsbedingungen fr jede Teststufe und der Beziehungen zwischen den Teststufen Testprojektrisiken In kleineren Projekten oder Unternehmen, in denen nur eine Teststufe formal getestet wird, werden en Mastertestkonzept und Testkonzept fr diese Teststufe oft in einem Dokument zusammengefasst. Ist der Systemtest die einzige formale Teststufe, mit einem informellen, von den Entw Entwicklern durchgefhrten Komponenten- und Integration test und einem informellen Abnahmetest, der vom Integrationstest Kunden als Teil eines Beta-Tests durchgefhrt wird, so knnen all diese Elemente im Tests Systemtestkonzept enthalten sein. Meist hngt das Testen von anderen Aktivitten im Projekt ab. Wenn diese Aktivitten nicht Aktivitten ausreichend dokumentiert sind, vor allem was ihren Einfluss auf und ihre Beziehung zum Testen reichend betrifft, dann kann dies im Mastertestkonzept (oder im entsprechenden Stufentestkonzept) abgedeckt werden. Ist beispielsweise der Konfigurationsmanagement t Konfigurationsmanagement-Prozess nicht dokumentiert, dann sollte im Mastertestkonzept festgehalten werden, wie Tes objekte an das Testteam geliefert werden. Testobjekte
3.2.4 Stufentestkonzept
Das Stufentestkonzept beschreibt die in jeder Teststufe auszufhrenden Aktivitten. Wenn ntig, kann es das Mastertestkonzept fr die dokumentierte Teststufe erweitern und beispielsweise Details zu Terminplan, Aufgaben und Meilensteinen spezifizieren, die im Mastertestkonzept nicht dokumentiert spezifizieren, sind. Wenn unterschiedliche Standards und Dokumentvorlagen fr die Spezifikation der Tests in verschiedenen Teststufen gelten, werden sie im Stufentestkonzept dokumentiert. In weniger formalen Projekten oder Unternehmen entsteht oft ein Stufentestkonzept mit nur einer Unternehmen Stufe als einziges Testmanagementdokument. Es kann dann einige der in den Abschnitten 3.2.1, mentdokument. 3.2.2 und 3.2.3 erwhnten Informationen enthalten enthalten.
3.4 Testaufwandsschtzung
Aufwandsschtzungen als Managementaktivitt fhren zu einem ungefhren Kosten und Terminplan Kostenfr die Aktivitten in einem bestimmten Unternehmen oder Projekt. Die besten Aufwandsschtzungen Aufwandsschtzungen: reprsentieren die kollektive Erfahrung von erfahrenen Praktikern und werde von allen werden Betroffenen getragen liefern detaillierte Aufstellungen der Kosten, Ressourcen, Aufgaben und beteiligten Mitarbeiter zeigen die wahrscheinlichen Kosten, Aufwand und Dauer fr jede geschtzte Aktivitt.
Version 2007
Die Schtzung von Aufgaben in der Sof Software- und Systementwicklung ist bekanntermaen schwierig, sowohl technisch als auch politisch, obwohl es im Projektmanagement Best Practice Verfahren fr die Practice-Verfahren Schtzung gibt. Die Testschtzung ist die Anwendung dieser Verfahren auf die Testaktivit Testaktivitten in einem Projekt oder Unternehmen. Die Testschtzung sollte alle Aktivitten im Testprozess einschlieen, von Testplanung und Teststeuerung ber Testanalyse und Testentwurf, Testrealisierung und -durchfhrung, abschlieende durchfhrung, Testauswertung und Berichte bis zum Abschluss der Testaktivitten. Geschtzte Kosten, Aufwand Abschluss und vor allem Dauer der Testdurchfhrung interessieren das Management oft besonders, weil die Testdurchfhrung typischerweise auf dem kritischen Pfad des Projekts liegt. Schtzungen der Testdurchfhrung sind aber schwierig und tendenziell unzuverlssig, wenn die Gesamtqualitt der Software schlecht ist oder nicht bekannt. Es ist gngige Praxis, die Anzahl von erforderlichen Testfllen zu schtzen. Die getroffenen Annahmen bei der Aufwandschtzung sollten immer als Teil zen. der Aufwandsschtzung dokumentiert we werden. Die Testschtzung sollte alle Faktoren bercksichtigen, die Kosten, Aufwand und Dauer der Testaktivitten beeinflussen knnen. Dazu gehren: tivitten erforderliches Qualittsniveau des Systems Gre des zu testenden Systems estenden historische Daten aus frheren Testprojekten (auch Benchmark Benchmark-Daten) Prozessfaktoren, wie die Entwicklung der Teststrategie; Wartungslebenszyklus und Prozessreife; Richtigkeit der Projektschtzung Materialfaktoren, wie Testautomatisierung und Testwerkzeuge, Testumgebung, Testdaten, und Entwicklungsumgebung(en); Projektdokumentation (beispielsweise Anforderungen, Entwrfe, usw.) und wiederverwendbare Arbeitsergebnisse are Personalfaktoren, wie Manager und Technische Leiter; Engagement und Erwartungen der Geschftsleitung und des oberen M nagements; fachliches Knnen, Erfahrung und Motivation Managements; im Projektteam, Stabilitt des Projektteams, Beziehungen der Projektmitglieder untereinander; Hilfe bei der Nutzung der Test und Debuggingumgebung; Verfgbarkeit qualifizierter TestAuftragnehmer und Berater; Fachwi Fachwissen. Weitere Faktoren knnen die Testaufwandsschtzung beeinflussen: Komplexitt des Testprozesses; Technik, Organisation; Anzahl der Betroffenen beim Testen; viele rumlich getrennte Teilteams, auergewhnlicher Aufwand fr den Aufbau der Testmannschaft, Training und Einarbeitung; licher , Anpassung oder Entwicklung von neuen Testwerkzeugen, Verfahren, kundenspezifische Hardware, Anzahl der Testmittel; Anforderungen fr eine auergewhnlich detaillierte Testspez Testspezifikation, besonders bei Anwendung eines nicht vertrauten Dokumentationsstandards; komplexe Terminierung der Komponentenbeschaffung, besonders fr Integrationstest und Testentwicklung; und vernderliche nentenbeschaffung, Testdaten (beispielsweise Daten mit Lschfristen). Die Testaufwandsschtzung lsst sich Bottom staufwandsschtzung Bottom-Up oder Top-Down durchfhren, dabei knnen die Down folgenden Testaufwandsschtzverfahren eingesetzt werden: aufwandsschtzverfahren Intuition und Raten Erfahrungen aus frheren Projekten Aufteilen in Aufgabenblcke und Erstellung eine Projektstrukturplans (WBS, Work Breakdown Projektstrukturplans Structures) gemeinsame Schtzungen im Team (beispielsweise Wideband Delphi) Drei-Punkt-Schtzung Testpunktanalyse (TPA) [Pol02] Unternehmensstandards und Normen
Version 2007
prozentualer Anteil am Gesamtprojekt oder an bestimmten Mitarbeitergruppen (beispielsweise Mitarbeitergruppen das Verhltnis von Testern zu Entwicklern) Modelle, basierend auf gemessenen Werten, zum Schtzen der Anzahl von Fehlerwirkungen, Testzyklen, Testfllen; des durchschnittlichen Aufwands je Test und der Anzahl von Regressionstestzyklen Durchschnittswerte der Branche und Vorhersagemodelle, wie Testpunkte (test points), Funktionspunkte (function points), Anzahl der Codezeilen, geschtzter Aufwand der tion Entwicklerinnen und Entwickler oder andere Projektpar Projektparameter Wenn die Testaufwandsschtzung erstellt ist, muss sie meist mit einer B grndung (siehe Abschnitt schtzung Begrndung 3.7) dem Management vorgelegt werden. Oft folgen Verhandlungen, die nicht selten zu einer ) berarbeitung der vorgelegten Zahlen fhren. Im Id Idealfall ist die endgltige Version der t Testaufwandsschtzung der beste mgliche Kompromiss zwischen Unternehmenszielen und Projektzielen hinsichtlich Qualitt, Zeitplan, Budgetierung und erwarteter Funktionalitt.
Version 2007
Whrend des Betriebs oder eines Projekts werden Produktrisiken, Fehlerzustnde, Testflle und Fehlerzustnde, berdeckungsgrad auf spezielle Art und Weise gemessen und berichtet (Testfortschrittsbericht). Die Messungen sollten mit den im Testkonzept definierten Testendekriterien verknpft sein. Vertrauen in der Softwarequalitt, auch wenn es durch Umfragen messbar ist, wird normalerweise subjektiv , berichtet. Mgliche Metriken fr Produktrisiken sind Anzahl der Restrisiken einschlielich Art des Risikos und Risikostufe Anzahl der geminderten Risiken einschlielich Art des Risikos und Risikostu Risikostufe Mgliche Metriken fr Fehler sind Gesamtzahl der gemeldeten (identifizierten) gegenber der Gesamtzahl behobener (abgeschlossener) Fehlerzustnde durchschnittliche Zeit zwischen dem Auftreten von Fehlerwirkungen Analyse der Anzahl Fehlerzustnde, bezogen auf bestimmte Testobjekte oder Komponenten; bezogen Ursachen, Quellen; Testversionen; Phasen, in denen sie eingefhrt, festgestellt oder entfernt wurden, und in einigen Fllen Eigentmer der Fehlermeldung Trends bei der Dauer zwischen Eingehen der Fehlermeldung und Behebung Mgliche Metriken fr Tests sind Gesamtzahl geplanter, spezifizierter (entwickelter), durchgefhrter, bestandener/nicht bestandener, blockierter und ausgelassener Tests Status der Regressions- und Fehlernachtests Anzahl fr das Testen geplanter gegenber tatschlich geleisteten Stunden pro Tag geplanter Mgliche Metriken fr die Testberdeckung sind Anforderungsberdeckung und berdeckung der entwickelten Komponenten Risikoberdeckung Testumgebungs-/Konfigurationsberdeckung /Konfigurationsberdeckung Die Messungen knnen in Textform, tabellarisch oder graphisch berichtet werden, und lassen sich fr orm, verschiedene Zwecke nutzen, beispielsweise: Analysen, um anhand der Testergebnisse herauszufinden, was mit dem Produkt, im Projekt oder Prozess geschieht Berichte, um die Testergebnisse an Projektmitglieder und Betroffene zu kommunizieren Teststeuerung, um den Verlauf eines Tests oder auch des Projekts als Ganzes zu ndern und um die Ergebnisse der Kurskorrektur zu berwachen Wie die Messwerte der Tests geeignet gesammelt, analysiert und berichtet werden, hngt vom und spezifischen Informationsbedarf ab, sowie den Zielen und den Fhigkeiten der Adressaten, die diese , Messungen nutzen. Wenn der Steuerungsaufwand eines Projekts anhand der Testergebnisse gemessen oder beeinflusst werden soll, bestehen folgende Mglichkeiten: stehen Qualittsrisikoanalyse, Testprioritten und/oder Testkonzepte berarbeiten weitere Ressourcen bereitstellen oder den Testaufwand der vorhandenen Ressourcen erhhen Auslieferungstermin verschieben Testendekriterien abschwchen oder verschrfen Die Umsetzung erfordert normalerweise Konsens unter den Projektmitarbeitern und Betroffenen im Unternehmen sowie die Zustimmung von Projektmanagern oder Geschftsfhrung. Version 2007 Seite 51 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
Wie der Testbericht strukturiert ist, hngt weitgehend von den Adressaten ab, beispielsweise Adressaten Projektmanagement oder Geschftsfhrung. Projektmanagerin oder Projektmanager interessieren sich wahrscheinlich fr ausfhrliche Informationen zu Fehlerzustnden, whrend das Hauptinteresse der Geschftsfhrung bei Informationen ber den Status der Produktrisiken liegen drfte. ber IEEE Standard 829 Standard for Software Test Documentation liefert eine Dokumentvorlage fr einen zusammenfassenden Testbericht. Bei Abweichungen vom Testkonzept sollte die Teststeuerung auf Basis des Testfortschrittsberichts Testfortschrittsberichts eingreifen, um Abweichungen zu minimieren. Folgende Steuerungsmanahmen sind mglich: Testfallpriorisierung berdenken zustzliche Ressourcen beschaffen Release-Termin verschieben ermin Projektumfang (Funktionalitt) ndern Testendekriterien berdenken (nur mit Zustimmung der Betroffenen) n Betroffenen).
Version 2007
Beim risikoorientierten Testen begegnet man dem Risiko auf drei verschiedene Arten: Der Aufwand muss der Risikostufe der identifizierten Produkt oder Qualittsrisiken Produktangemessen sein. Es sind Umfang des Testaufwands, Wahl der Testverfahren, Ablauf d . der Testaktivitten und Beheben der Fehlerzustnde zu beachten. Planung und Management der Testaktivitten mssen geeignet sein, jedes wesentliche identifizierte Projekt- oder Planungsrisiko zu beherrschen und auch auf unerwartete Ereignisse angemessen zu reagieren. Testergebnisse und Projektstatus in den Berichten mssen auf die Restrisiken verweisen; wenn beispielsweise Tests noch nicht durchgefhrt oder ausgelassen wurden, oder wenn Fehler noch nicht behoben oder noch nicht nachgetestet wurden. Tester sollten dem Risiko mit diesen drei Reaktionen nicht nur zu Beginn und Ende des Projekts, llten sondern whrend des gesamten Softwarelebenszyklus begegnen. Im Verlauf des Projekts sollten sie vor allem dadurch die Risiken reduzieren, dass sie die wichtigsten Fehler (bei Produktrisiken) entdecken, und dass sie geeignete Manahmen zur Risikobeherrschung und Vorkehrung gegen Risiken so umsetzen, wie in der Teststrategie und im Mastertestkonzept vorgesehen; und Auswirkungen Risiken so bewerten, dass sie Wahrscheinlichkeit oder Auswirkungen der bereits identifizierten und analysierten Risiken so erhhen oder vermindern, wie es Informationen und Erkenntnisse aus dem Projektverlauf nahe legen. In beiden Fllen beeinflussen die Manahmen, wie das Testen auf das Risiko reagiert. Risikoorientiertes Testen hat vieles gemeinsam mit einer Versicherung. Man kauft dann eine entiertes Versicherung, wenn man sich Sorgen ber ein potentielles Risiko macht, und man ignoriert Risiken, ber die man sich keine Sorgen macht. Quantitative Analysen, wie sie im Versicherungsgeschft Versicherungsgeschft blich sind, knnen anwendbar sein, beim risikoorientierten Testen verlassen die Tester sich aber meist auf qualitative Analysen. Fr fachgerechtes risikoorientiertes Testen sollten die Tester typische Produkt und Projektrisiken Produktidentifizieren, analysieren und beherrschen knnen, sei es im Zusammenhang mit der zieren, Betriebssicherheit, geschftlichen und wirtschaftlichen Aspekten, System und Datensicherheit sowie Systemmit technischen und geschftspolitischen Faktoren.
3.9.2 Risikomanagement
Das Risikomanagement besteht aus drei Hauptaktivitten: 1. Risikoidentifikation 2. Risikoanalyse und bewertung 3. Risikobeherrschung (auch als Risikosteuerung bezeichnet) An sich folgen diese Aktivitten aufeinander. Weil aber ein kontinuierliche Risikomanagement Risikomanagement notwendig ist, wie in den vorigen und nachfolgenden Abschnitten erwhnt, sollten alle drei Arten von Risikomanagement iterativ fast whrend des ganzen Projekts eingesetzt werden. Risikomanagement ist am effektivsten, wenn alle Betroffenen im Projekt daran beteiligt werden. Manchmal werden Betroffene auch vertreten. Bei der Entwicklung von Standard-Software fr den Software Massenmarkt kann es beispielsweise eine kleine Gruppe mglicher Kunden sein, die dabei hilft, die Fehler auszumachen, die ihre Nutzung der Software am meisten beeintrchtigen wrden. Diese Nutzung Gruppe mglicher Kunden steht dann fr den gesamten mglichen Kundenkreis. Wegen ihres speziellen Fachwissens sollten die Test Analyst Analystes aktiv an Risikoidentifikation und Risikoanalyse beteiligt werden. Version 2007 Seite 54 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
3.9.2.1 Risikoidentifikation Tester knnen sowohl die Produktrisiken als auch die Projektrisiken durch ein oder mehrere der folgenden Verfahren identifizieren: Experten-Interviews unabhngige Bewertungen Verwendung von Risiko-Vorl Vorlagen Erfahrungen aus dem Testen (beispielsweise Besprechungen beim Projektabschluss) Risiko-Workshops (beispielsweise mit Fehler-Mglichkeits- und Einfluss-Analyse ( Workshops Analyse (FMEA), siehe Abschnitt 3.10) Brainstorming Checklisten Erfahrungen aus der Vergangenheit ngen Je breiter die Basis der Betroffenen im Risikoidentifikations-Prozess ist, desto hher die Prozess Wahrscheinlichkeit, dass dabei die grtmgliche Menge an wichtigen Risiken auf deckt wird. aufgedeckt Bei manchen Vorgehensweisen zur Risikoidentifikation endet der Prozess schon mit Identifizierung Risikoidentifikation des eigentlichen Risikos. Andere Verfahren, beispielsweise die Fehler-Mglichkeits- und Einfluss-Analyse (FMEA), gehen weiter. Hier mssen fr jede potenzielle Fehlerwirkung die Auswirkungen auf das rest restliche System (einschlielich bergeordneter Systeme bei Multisystemen) und auf mgliche Anwender des Systems identifiziert werden. Wieder andere Verfahren, beispielsweise die Gefhrlichkeitsanalyse, erfordern eine Annahme ber die Risikoquelle. Weitere Informationen zu Fehler Fehler-Mglichkeits- und Einfluss-Analyse (FMEA) sowie SoftwareFehlermglichkeits-, Einfluss- und Kritikalitts Kritikalitts-Analyse (FMECA) enthalten Abschnitt 3.10 sowie [Stamatis95], [Black02], [Craig02], [Gerrard02]. 3.9.2.2 Risikoanalyse und -bewertung bewertung Whrend es bei der Risikoidentifikation darum geht, mglichst viele vorhandene Risiken zu identifizieren, befasst sich die Risikoanalyse mit der Untersuchung der identifizierten Risiken. Sie kategorisiert das Risiko und legt Eintrittswahrscheinlichkeit und -wirkungen fest. ko Risiken zu kategorisieren bedeutet eine Einteilung in Risikotypen. ISO Standard 9126 fr Qualittsmerkmale behandelt typische Qualittsrisiken die eine Klassifizierung von Risiken Qualittsrisiken, untersttzen. Manche Organisationen arbeiten mit eigenen Qualittsmerkmalen. Hinweis: Bei einer Risikoidentifikation auf Basis von Checklisten wird oft beim Identifizieren das Risiko einem bestimmten Risikotyp zugeordnet. Fr die Festlegung der Risikostufe werden fr jedes einzelne Risiko die Eintrittswahrscheinlichkeit und jedes die Auswirkung (Schadenshhe, damit verbundener Schaden) eingeschtzt. Eintrittswahrscheinlichkeit (Wahrscheinlichkeit des Auftretens, Auftrittswahrscheinlichkeit) bezeichnet oft die Wahrscheinlichkeit, dass das potenzielle Problem im getesteten System vorhanden ist. Es geht t, also um ein technisches Risiko. Folgende Faktoren beeinflussen das technische Risiko: Komplexitt der Technologie und des Teams Ausbildung und Erfahrung der Testbeteiligten (z.B. Mitarbeiter von Fachbereichen, Systementwickler, Programmierer Konflikte im Team vertragliche Probleme mit Zulieferern Seite 55 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
Version 2007
rumlich verteilte Entwicklungsorganisation Altsysteme versus neue Herangehensweisen Werkzeuge und Technologie schlechte organisatorische oder technische Leitung che Zeitdruck, knappe Ressourcen, Druck durch das Management Fehlen eines bisherigen Qualittsmanagements hufige nderungen hohe bisherige Fehlerraten Schnittstellen-/Integrationsproblematik /Integrationsproblematik Die Auswirkung bezeichnet oft das Ausma der Wirkung auf Anwender, Kunden oder andere Ausma Betroffene. Es geht also um ein Geschftsrisiko. Folgende Faktoren beeinflussen das geschftliche Risiko: Hufigkeit der Nutzung bei einer betroffenen Funktion Schaden fr die Reputation entgangene Geschfte mgliche finanzielle, kologische oder soziale Verluste oder Haftungsansprche zivil- oder strafrechtliche Manahmen Aberkennung der Lizenz fehlende vernnftige Lsungsalternativen das negative Erscheinungsbild, wenn Mngel bekannt werden Die Risikostufe lsst sich entweder quantitativ oder qualitativ betrachten. Wenn e Risikowahrscheinlichkeit und auswirkungen quantitativ bestimmt werden knnen, ergibt ein einfaches auswirkungen Multiplizieren der beiden die Kosten einer Gefhrdung, also den erwarteten Verlust bei ei einem bestimmten Risiko. In der Regel lsst die Risikostufe sich aber nur qualitativ bestimmen. Dabei kann die Wahrscheinlichkeit zwar mit sehr hoch, hoch, mittel, gering oder sehr gering angegeben werden; aber es lsst sich nicht genau sagen, ob sie bei 90%, 75%, 50%, 25%, oder 10% liegt. Trotzdem ist diese 90%, Vorgehensweise nicht weniger wertvoll als die quantitative Methode. Wenn das quantitative Vorgehen nicht fachgerecht eingesetzt wird; knnte es vielmehr die Betroffenen darber tuschen, inwieweit Risiko sich tatschlich verstehen und managen lsst. Informelle Vorgehensweisen, wie in [vanVeenendaal02], [Craig02] und [Black07b] beschrieben, sind oft qualitativ und weniger rigoros. Wenn die Risikoanalyse nicht auf umfangreichen und statistisch korrekten Risikodaten beruht, wie im Risikodaten Versicherungsbereich, dann wird sie, ob quantitativ oder qualitativ, immer auf der jeweiligen Wahrnehmung von Risikowahrscheinlichkeit und -auswirkungen basieren. Persnliche Wahrnehmung auswirkungen und Auffassungen ber die Faktoren werden die Einstufung des Risikos beeinflussen. Projektmanager, Programmierer, Anwender, Fachanalytiker, Systemarchitekten und Tester haben unterschiedliche Wahrnehmungen und deshalb vielleicht auch ganz andere Ansichten ber die Risikostufe des jeweiligen Risikos. Die Risikoanalyse sollte deshalb Wege vorsehen, wie Konsens zu Die erreichen ist, oder im ungnstigsten Fall die gltige Risikostufe anzuordnen ist. Nur dann knnen die Risikostufen eine Richtschnur fr die Aktivitten zur Risikobeherrschung bieten. 3.9.2.3 Risikobeherrschung Nachdem ein Risiko identifiziert und analysiert wurde, gibt es vier Mglichkeiten damit umzugehen:
2
Gebruchliche Synnonyme in diesem Kontext: Risikovermeidung, Risikosteuerung und bewltigung, Risikoberwachung Version 2007 Seite 56 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
1. das Risiko durch vorbeugende Manahmen beherrschen, um Risikowahrscheinlichkeit und/oder auswirkungen zu minimieren auswirkungen 2. Notfallplne, um die mglichen Auswirkungen bei einem Auftreten des Risikos zu reduzieren 3. das Risiko an eine andere Partei auslagern 4. das Risiko akzeptieren und nicht weiter beachten Welche dieser Optionen tatschlich gewhlt wird, hngt sowohl von den Vorteilen und Chancen jeder Vorteilen Option, als auch von ihren Kosten und mglichen Folgerisiken ab. Strategien zur Risikobeherrschung Grundlage des Mastertestkonzepts und anderer Testplne bei den meisten risikoorientierten Teststrategien sind Risikoidentifizierung, Risikoanalyse und das Festlegen von Aktivitten zur Risikobeherrschung. Die Risikostufe fr das jeweilige Risiko entscheidet ber den Umfang des Testaufwands, der zur Risikobeherrschung verwendet wird. An der Sicherheit orientierte Standards, icherheit wie FAA DO-178B/ED 12B oder IEC 61508, schreiben Testverfahren und Grad der berdeckung je nach Risikostufe vor. Beherrschung von Projektrisiken Wenn Projektrisiken identifiziert wurden, mssen die Projektmanager eventuell darber informiert Projektmanager werden und handeln. Nicht alle Risiken lassen sich innerhalb der Testorganisation durch entsprechende Manahmen reduzieren. Es gibt aber auch Projektrisiken, die die Testmanager erfolgreich steuern knnen: einsatzbereite Testumgebung und Werkzeuge te Verfgbarkeit und Qualifikation des Testpersonals schlechte Testbasis zu hohe nderungsrate an der Testbasis fehlende Standards, Regeln und vorgeschriebene Verfahren fr das Testen Zum Vorgehen bei der Risikobeherrschung gehren eine frhe Vorbereitung der Testmittel, gehren Vorabtests der Testausstattung, Vorabtests frherer Produktversionen, strengere Testeingangsbedingungen, Anforderungen an die Testbarkeit, Teilnehmen an Reviews frherer Projektergebnisse, Teilnehmen am Problem und nderungsmanagement, berwachung des Problem- nd Projektfortschritts und der Qualitt. Beherrschung von Produktrisiken Das Testen ist eine Art der Risikobeherrschung fr Produkt und Qualittsrisiken. Wenn die Tester ProduktFehler finden, reduzieren sie das Risiko, weil sie das Bewusstsein fr vorhandene Fehler schrfen sie und die Mglichkeit schaffen, sie vor Release des Systems zu beheben. Wenn die Tester keine Fehler finden, reduzieren sie beim Testen das Risiko, denn sie stellen sicher, dass das System unter bestimmten (den getesteten) Bedingungen richtig funktioniert. en Produkt- oder Qualittsrisiken lassen sich auch durch Aktivitten steuern, die nicht im eigentlichen Sinne Testaktivitten sind. Wird beispielsweise festgestellt, dass die Anforderungen nicht gut spezifiziert sind, dann sind grndliche Reviews sicher ein geeignetes Mittel zur Risikobeherrschung. t Sie sind weitaus effizienter als das Entwerfen und Priorisieren von Tests, die erst dann durchgefhrt werden, wenn eine schlecht spezifizierte Software entwickelt und in Code umgesetzt wurde. Die Risikostufe wird auch fr die Priorisierung der Tests verwendet. Manchmal werden alle hohen Risikostufen vor den niedrigeren Risikostufen getestet, und die Tests erfolgen streng nach der Reihenfolge der Risikos (Depth-first, d.h. Testen in die Tiefe). In anderen Fllen machen die Tester first, d.h. Stichproben von identifizierten Risiken aller Risikostufen, gewichten die Risiken und whlen Tests aus, wobei sie dafr sorgen, dass jedes Risiko mindestens einmal abgedeckt wird (Breadth (Breadth-first, d.h. Testen in die Breite). Version 2007 Seite 57 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
Weitere Aspekte der Risikobeherrschung sind die Auswahl eines geeigneten Testentwurfsverfahrens Reviews und Inspektionen Review des Testentwurfs Unabhngigkeitsgrad der Testorganisation die erfahrenste Person wird eingesetzt wie Fehlernachtests durchgefhrt werden e Regressionstests In [Gerrard02] wird das Konzept der Testeffektivitt als (prozentualer) Indikator dafr eingefhrt, wie effektiv das Testen fr die Risikobeherrschung eingeschtzt wird. Demnach wrde man das Testen nicht als eine Manahme zur Risikobeherrschung einsetzen, wenn es nur wenig effektiv ist. icht Unabhngig davon, ob beim risikoorientierten Testen in die Tiefe oder in die Breite getestet wird, ist es mglich, dass die Zeit fr das Testen abluft, ohne dass alle Tests durchgefhrt wurden. Beim risikoorientierten Testen knnen die Tester in solchen Fllen das Management ber das verbleibende Restrisiko informieren, und das Management kann entscheiden, ob dieses Restrisiko an die Anwender, Kunden, Helpdesks oder technische Untersttzung und/oder an das Bedienpersonal technische weitergegeben wird. Anpassung des Testens an weitere Testzyklen Wenn noch Zeit fr weitere Tests zur Verfgung steht, dann sollten zustzliche Testzyklen auf Basis einer neuen Risikoanalyse erfolgen. W ichtige Faktoren dafr sind mgliche neue oder deutlich Wichtige vernderte Produktrisiken, instabile oder fehleranfllige Bereiche des Systems, die im Laufe des Testens identifiziert wurden, Risiken als Folge behobener Fehler, eine Konzentration auf Fehler, die sich beim Testen als typische Fehler herausgestellt haben, sowie nicht ausreichend getestete ch Bereiche des Systems (Bereiche mit niedriger Testberdeckung). Die Planung neuer oder zustzlicher Testzyklen sollte auf einer Analyse derartiger Risiken basieren. Es ist auerdem sehr empfehlenswert, Es zu jedem Meilenstein eine aktualisierte Risikoeinschtzung zu erstellen.
gefunden wurden als erwartet, dann kann man annehmen, dass die Fehlerwahrscheinli Fehlerwahrscheinlichkeit in diesem Bereich hher ist als angenommen und Wahrscheinlichkeit und Risikostufe nach oben korrigieren. Fr diese Komponente knnte das zu einem erhhten Testaufwand fhren. Nachdem die Risikoidentifikation und analyse abgeschlossen sind und Mana analyse Manahmen zur Risikobeherrschung greifen, ist messbar, wie weit die Risiken reduziert wurden. Dazu werden die Testflle und aufgedeckten Fehlerzustnde auf die dazugehrigen Risiken zurckverfolgt Die Tester zurckverfolgt. knnen whrend der Tests und beim Aufdecken von Fehlern das Restrisiko feststellen Damit Fehlern feststellen. untersttzt das risikoorientierte Testen bei der Festlegung des richtigen Zeitpunkts fr die Freigabe Freigabe. [Black03] enthlt ein Beispiel fr die Berichterstattung von Testergebnissen basierend auf der Risikoberdeckung. Aus den Testberichten sollten kontrollierte und noch offene Risiken, sowie erzielter und noch ausstehender Nutzen hervorgehen.
3.10
Die Fehlermglichkeits- und Einfluss Einfluss-Analyse (FMEA, Failure Mode and Effects Analysis) sowie die Variante Fehlermglichkeits-, Einfluss und Kritikalitts-Analyse (FMECA, Failure Mode Effects and , EinflussMode, Criticality Analysis), die eine Kritikalittsanalyse einschliet, sind iterative Aktivitten zur Analyse von , einschliet, Auswirkung und Kritikalitt der Fehlerzustnde im System. Wenn Software damit analysiert wird, heien sie auch SFMEA und SFMECA, wobei das S fr Software steht. Die Informationen in den folgenden Abschnitten gelten auch fr die drei anderen Methoden, es wird aber immer die Abkrzung en FMEA benutzt. Tester sollen zum Erstellen von FMEA Dokumenten beitragen knnen. Dazu mssen sie Zweck und FMEA-Dokumenten Anwendung dieser Dokumente verstehen und ihr Fachwissen zur Bestimmung von Risikofaktoren einbringen.
3.10.1
Anwendungsbereiche
wenn die Kritikalitt der Software oder des Systems analysiert werden muss, um das Fehlerrisiko zu reduzieren (beispielsweise bei sicherheitskritischen Systemen wie Flugzeug sicherheitskritischen FlugzeugSteuerungssystemen). wenn obligatorische oder gesetzliche Anforderungen gelten (siehe Abschnitt 1.3.2 Sicherheitskritische Systeme rheitskritische Systeme). um Fehler in einem mglichst frhe Stadium zu beseitigen. frhen um fr sicherheitskritische Systeme spezielle Erwgungen beim Testen, Einschrnkungen beim Betrieb und designrelevante Entscheidungen zu definieren.
3.10.2
FMEA durchfhren
Eine FMEA sollte eingeplant werden, sobald vorlufige Informationen auf bergeordneter Ebene sobald verfgbar sind, und, sobald Details verfgbar werden, auf niedrigere Ebenen erweitert werden. Die FMEA kann auf jeder System- oder Softwareebene angewendet werden, je nach verfgbaren Informationen und Programmanforderungen. Dabei werden iterativ fr jede kritische Funktion, Modul oder Komponente eine Funktion ausgewhlt und ihre Fehlermglichkeiten festgestellt, beispielsweise, wie sie fehlschlagen knnte
Version 2007
mgliche Ursachen fr die Fehlerwirkung definiert und die Folgen dargestellt; und definiert Mechanismen zur Reduktion oder Beherrschung der Fehlerwirkungen entworfen.
3.10.3
FMEA bietet folgende Vorteile: Erwartete Systemausflle durch Fehlerwirkungen der Softwareausflle oder Anwendungsfehler lassen sich aufdecken. Wird sie systematisch eingesetzt, kann sie zur Analyse auf Ebene des Gesamtsystems beitragen. Ergebnisse knnen zu Entwurfsentscheidungen und/oder begrndungen beitragen. begrndungen Ergebnisse knnen verwendet werden, um bestimmte (kritische) Bereiche der Software besonders intensiv zu testen. Folgende Aspekte sind bei der Anwendung der FMEA zu bercksichtigen bercksichtigen: Mgliche Folgefehler werden selten beachtet. Es kann viel Zeit kosten, die FMEA FMEA-Tabellen zu erstellen. Es kann schwierig sein, unabhngige Funktionen zu definieren. chwierig Es kann schwierig sein, die Fehlerfortpflanzung zu identifizieren.
3.11
3.11.1
Session-based Testmanagement (SBTM) ist ein Managementkonzept fr exploratives Testen. Eine (SBTM) Session (Testsitzung) ist die grundlegende Testeinheit; die Tester konzentrieren sich d dabei mit einem bestimmten Testziel (Test-Charta) ohne Unterbrechung auf ein spezifisches Testobjekt. Am Ende jede ) einzelnen Testeinheit erstellen sie einen Bericht ber die in der Testsitzung durchgefhrten Aktivitten (Session Sheet). SBTM arbeitet mit einer strukturierten Testdokumentation und erzeugt Protokolle, die ). die Verifizierungsdokumentation ergnzen. Eine Testeinheit lsst sich in drei Stufen unterteilen: Testeinheit aufbauen: Einrichten der Testumgebung und besseres Kennenlernen des Produkts Test entwerfen und durchfhren: Untersuchen des Testobjekts und Problemsuche Fehleranalyse und Bericht: Sie beginnen, sobald ein Tester auf etwas stt, das eine Fehlerwirkung sein knnte. Das SBTM Session Sheet besteht aus: ht Test-Charta Name des oder der Tester Datum und Uhrzeit des Beginns Aufteilen der durchgefhrten Aufgaben in Testeinheiten oder Testsitzungen Testdatendateien Testnotizen Probleme Fehlerwirkungen
Version 2007
Am Ende jeder Testsitzung hlt der Testmanager eine Abschlussbesprechung mit dem Testteam. Dabei findet ein Review der Session Sheets statt, die Chartas werden verbessert, das Testteam teilt seine Eindrcke mit und der Manager schtzt und plant weitere Testsitzungen. Die Tagesordnung fr eine solche Abschlussbesprechung lsst sich mit dem englischen Begriff Abschlussbesprechung PROOF abkrzen: Past: Was passierte in der abgelaufenen Testsitzung? ast: Results: Welche Ergebnisse wurden erzielt? esults: Outlook: Vorschau; was ist noch zu tun? utlook: Obstacles: Welche Hrden fr gutes Testen gab es? bstacles: Feelings: Was denken oder fhlen die Tester in diesem Zusammenhang? eelings:
3.11.2
3.11.3
Version 2007
Konformitt bei Organisationsstruktur und Entwicklungsprozess lassen sich mglicherweise durch Organisationsdiagramme und Audits nachweisen. Es wird ein definierter Entwicklungslebenszyklus zu Grunde gelegt, je nach vorgeschriebenem nach Standard. Die Lebenszyklen sind in der Regel sequenziell. Falls das System von einer Organisation als kritisch eingestuft wurde, mssen die folgenden nicht-funktionalen Eigenschaften in der Teststrategie und/oder im Testkonzept bercks funktionalen bercksichtigt werden: Zuverlssigkeit (Reliability) eliability) Verfgbarkeit (Availability) vailability) Wartbarkeit (Maintainability) aintainability) Sicherheit des Betriebs/gegenber Angriffen ( (Safety/security) Aufgrund dieser Eigenschaften bezeichnet man solche Systeme auch als RAMS RAMS-Systeme (Abkrzung aus den Anfangsbuchstaben der englischen Begriffe). ung
3.11.4
Wenn nicht-funktionale Tests nicht eingeplant wurden, kann das ein erhebliches Risiko fr den Erfolg funktionale einer Anwendung bedeuten. Andererseits sind viele Arten nicht funktionaler Tests mit erheblichen wendung nicht-funktionaler Kosten verbunden, deshalb sind Kosten und Risiko gegeneinander abzuwgen. Es gibt viele unterschiedliche nicht nicht-funktionale Tests. Nicht alle sind unbedingt fr eine be icht bestimmte Anwendung geeignet. Folgende Faktoren knnen die Planung und Durchfhrung nicht funktionaler Tests beeinflussen: nicht-funktionaler Anforderungen der Betroffenen bentigte Werkzeuge bentigte Hardware organisatorische Faktoren Kommunikation Sicherheit der Daten
3.11.4.1 Anforderungen der Betroffenen orderungen Nicht-funktionale Anforderungen sind oft unbekannt oder kaum spezifiziert. Die Tester mssen funktionale deshalb in der Planungsphase die Erwartungshaltungen der Betroffenen sondieren und daraufhin bewerten, welche Risiken sie fr das Projekt bedeuten. rten, Beim Ermitteln der Anforderungen sollten verschiedene Perspektiven bercksichtig werden. Sie bercksichtigt mssen die Anforderungen beispielsweise von Kunden, Anwendern, Bedien und Wartungspersonal Bedieneinholen, sonst bersehen sie mglicherweise Anforderungen. rsehen Folgende Aspekte sind wesentlich fr die Verbesserung der Testbarkeit nicht nicht-funktionaler Anforderungen: Der Aufwand fr die Spezifikation testbarer Anforderungen ist fast immer kosteneffektiv. Wichtig sind dabei eine einfache Ausdrucksweise und konsistente und richtige Terminologie, e die mit dem Projekt-Wrterbuch/Glossar bereinstimmt. Bestimmte Formulierungen sind Wrterbuch/Glossar einzuhalten: muss (ist Pflicht), sollte (ist wnschenswert) und soll (kann als Synonym fr muss verwendet werden, am besten vermeidet man es aber). et Leserinnen und Leser der Anforderungen haben unterschiedliche Hintergrnde. . Anforderungen sind klar, deutlich und unmissverstndlich zu formulieren, es sollte ein Standardformat fr die Anforderungen verwendet werden. Wann immer mglich, sollten die Tester Anforderungen quantitativ spezifizieren. Dabei ist zu entscheiden, welche Metrik fr ein bestimmtes Merkmal am besten geeignet ist Seite 62 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
Version 2007
(beispielsweise Millisekunden fr die Messung von Leistung), und innerhalb wel welches Wertebereichs die Ergebnisse akzeptiert oder nicht akzeptiert werden. Fr bestimmte nicht nichtfunktionale Eigenschaften ist das nicht einfach (beispielsweise Benutzbarkeit). 3.11.4.2 Bentigte Werkzeuge Kommerzielle Werkzeuge oder Simulatoren sind besonders relevant fr das Messen von Leistung und Simulatoren Effizienz sowie fr einige Sicherheitstests. Die Testplanung sollte die geschtzten Kosten und Vorlaufzeiten fr die bentigten Werkzeuge bercksichtigen. Wenn Spezialwerkzeuge zum Einsatz kommen, sind damit verbundene Lernkurven oder die Kosten fr den Einsatz externer Spezialisten zu en, bercksichtigen. Einen komplexen Simulator zu entwickeln, kann zu einem eigenen Entwicklungsprojekt werden, es sollte dann auch entsprechend geplant werden. Wenn Simulatoren fr sicherheitskritische Anwendungen eingesetzt werden sollen, sind auch die entsprechenden Abnahmetests und eine etwaige Zertifizierung des Simulators durch eine unabhngige Instanz zu planen. 3.11.4.3 Bentigte Hardware Fr viele nicht-funktionale Tests wird eine produktionshnliche Testumgebung bentigt, um funktionale realistische Messungen zu ermglichen. Je nach Gre und Komplexitt des zu testenden Systems kann das Planung und Finanzierung der Tests mageblich beeinflussen. Kosten fr das Durchfhren nicht-funktionaler Tests knnen so hoch sein, dass nur begrenzt Zeit dafr zur Verfgung steht. funktionaler Will man beispielsweise die Anforderungen an die Skalierbarkeit einer stark frequentierten Internetseite verifizieren, kann dafr eine simulierte Nutzung durch Hunderttausende virtuelle Nutzer simulierte ntig sein. Das wrde die Hardware und Werkzeugkosten erheblich beeinflussen. Da derartige HardwareKosten in der Regel durch Mietlizenzen fr die bentigten Lasttestwerkzeuge minimiert werden (Aufstockung von Lizenzen), ist die verfgbare Zeit fr solche Tests begrenzt. Benutzbarkeitstests setzen mglicherweise eigens eingerichtete Versuchslabors oder zahlreiche Fragebgen voraus. Normalerweise werden diese Tests nur einmal im Entwicklungslebenszyklus eines Systems durchgefhrt. Andere nicht-funktionale Tests (beispielsweise Sicherheitstests, Performanztests) mssen in einer funktionale produktionshnlichen Testumgebung durchgefhrt werden. Da die Kosten fr solche Testumgebungen hoch sein knnen, ist die Nutzung der echten Produktionsumgebung oft die einzig praktikable Alternative. Die Durchfhrung der Tests muss dann allerdings sorgfltig geplant werden, sie knnen wahrscheinlich nur zu bestimmten Zeiten (beispielsweise nachts) stattfinden. Wenn Effizienztests durchgefhrt werden sollen (beispielsweise Performanz oder Last), sind t Hardwarekapazitten und Kommunikationsbandbreiten einzuplanen. Der Bedarf orientiert sich in erster Linie an der Zahl der simulierten virtuellen Nutzer und dem voraussichtlichen Volumen ihres Netzwerkverkehrs. Wird er nicht einbezogen, sind die Messungen nicht reprsentativ. werkverkehrs. 3.11.4.4 Organisatorische Aspekte Bei nicht-funktionalen Tests ist oft auch das Verhalten mehrerer Komponenten eines Gesamtsystems funktionalen zu messen (beispielsweise Server, Datenbanken, Netzwerke). Wenn diese Komponenten auf weise unterschiedliche Standorte und Organisationen verteilt sind, kann das erheblichen Aufwand fr die Planung und Koordinierung der Tests bedeuten. So knnen bestimmte Softwarekomponenten nur zu bestimmten Uhrzeiten oder nur an bestimmten Tagen im Jahr fr den Systemtest zur Verfgung stehen. Organisationen stellen mglicherweise nur eine begrenzte Anzahl von Tagen zur Verfgung, an denen sie das Testen untersttzen. Es kann zu empfindlichen Strungen der geplanten Tests Strungen fhren, wenn nicht im Vorfeld geklrt worden ist, dass die Systemkomponenten und das Personal der anderen Organisationen fr die Testzwecke auf Abruf bereitstehen.
Version 2007
3.11.4.5 Kommunikationsaspekte Ob Spezifikation und Durchfhrung bestimmter nicht funktionaler Tests (vor allem Effizienztests) ion nicht-funktionaler mglich sind, kann davon abhngen, ob sich bestimmte Kommunikationsprotokolle fr die Testzwecke ndern lassen. In der Planungsphase sollte das sichergestellt werden, beisp beispielsweise mit Werkzeugen, die Kompatibilitt erzeugen. 3.11.4.6 Sicherheit der Daten Spezifische Sicherheitsmanahmen fr ein System sollten bereits in der Testplanungsphase einkalkuliert werden, damit alle vorgesehenen Testaktivitten tatschlich mglich sind. Werden beispielsweise die Daten verschlsselt, kann es schwierig sein, Testdaten zu erzeugen und die Testergebnisse zu verifizieren. Richtlinien und gesetzliche Bestimmungen zum Datenschutz schlieen mglicherweise aus, dass die Tester virtuelle Nutzer auf Basis der Produktionsdaten generieren. Es kann eine schwierige Aufgabe sein, die Testdaten zu anonymisieren, und muss als Teil der Testdurchfhrung geplant werden.
Version 2007
4. Testverfahren
Begriffe:
anforderungsbasierter Test, , Anweisungsberdeckungstest, Anweisungsberdeckungstest, anwendungsfallbasierter Test, Test quivalenzklassenbildung, (einfacher) Bedingungsberdeckungstest BS 7925-2, Datenflussanalyse , Bedingungsberdeckungstest, , Datenflussanalyse, dynamische Analyse, EE-Pfad, Entscheidungstabellentest, Entscheidungsberdeckungstest , Entscheidungstabellentest, Entscheidungsberdeckungstest, erfahrungsbasiertes Testverfahren, exploratives Testen fehlerbasiertes Testverfahren, intuitive stverfahren, Testen, Testfallermittlung, fehlerhafter Zeiger (wilder Zeiger), Fehlertaxonomie, Grenzwertanalyse , , Grenzwertanalyse, Klassifikationsbaumverfahren , Kontrollflussanalyse LCSAJ, Mehrfachbedingungsberdeckungstest Kontrollflussanalyse, , Mehrfachbedingungsberdeckungstest, Pfadberdeckungstest, Fehlerangriffe Speicherengpass, spezifikationsorientiertes Testverfahren, , Fehlerangriffe, , statische Analyse, strukturorientiertes szenarienbasierter Test, Testsitzung, Testverfahren, Test , basierter TestCharta, Ursache-Wirkungs-Graph, zustandsbasierter Test Zweigtest Graph, Test,
4.1 Einfhrung
Kategorien fr die in diesem Kapitel behandelten Testentwurfsverfahren sind Spezifikationsorientierte Testverfa Testverfahren (auch Black-Box-Verfahren) Strukturorientierte Testverfahren (auch White White-Box-Verfahren) Fehlerbasierte Testverfahren Erfahrungsbasierte Testverfahren Die Verfahren ergnzen sich wechselseitig und knnen unabhngig von der Teststufe je nach Testaktivitt eingesetzt werden. Obwohl Test Analysts und Technical Test Analysts jedes der itt Verfahren anwenden knnen, unterscheidet dieser Lehrplan nach der blichen Arbeitsteilung: Spezifikationsorientierte Testverfahren Test Analysts und Technical Test Analyst Analysts Strukturorientierte Testverfahren Technical Test Analysts Erfahrungsbasierte Testverfahren Test Analysts und Technical Test Analysts Fehlerbasierte Testverfahren Test Analysts und Technical Test Analysts Neben diesen Verfahren beschreibt das Kapitel weitere Testverfahren, wie Fehlerangriffe, statische Kapitel Analyse und dynamische Analyse. Sie werden in der Regel von Technical Test Analysts angewendet. Hinweis: Spezifikationsorientierte Verfahren knnen entweder fr das fachliche Testen (siehe Abschnitt 5.2) oder das technische Testen (siehe Abschnitt 5.3) eingesetzt werden werden.
Es bedeutet vielmehr, dass das Modell fr das vorliegende Testverfahren keine weiteren ntzlichen Tests bietet. Spezifikationsorientierte Tests basieren oft auf Anforderungen. Da die Anforderungsspezifikation das Systemverhalten vorgeben sollte, vor allem hinsichtlich seiner Funktionalitt, lassen sich aus den spezifizierten Anforderungen Tests ableiten, die das Verhalten des Systems prfen. Fr die oben in ableiten, diesem Abschnitt erwhnten Testverfahren lsst sich das Modell fr das Systemverhalten aus dem Text und den Grafiken der Anforderungsspezifikation ableiten. Die Tests werden auf dieser Basis durchgefhrt wie oben beschrieben. fhrt Der Advanced Level Lehrplan umfasst die folgenden spezifikationsorientierte Testentwurfsverfahren: Name Verfahren Kriterien fr die berdeckung
quivalenzklassentest Beschreibung siehe ISTQB Foundation-LevelLehrplan 2007, Abschnitt 4.3.1. Grenzwertanalyse Beschreibung siehe ISTQB Foundation-LevelLehrplan 2007, Abschnitt 4.3.2. , Hinweis: Die Grenzwertanalyse kann mit zwei oder mit drei Werten durchgefhrt werden. Die Entscheidung darber wird sich am Risiko orientieren.
Entscheidungstabellentest und Ursache Ursache-Wirkungs-Graph-Analyse Beschreibung des Entscheidungstabellentests berdeckte Kombinationen von berdeckte siehe ISTQB Foundation Foundation-Level-Lehrplan 2007, Bedingungen/Gesamtzahl der Abschnitt 4.3.3. Kombinationen von Bedingungen Beim Entscheidungstabellentest wird jede mgliche Kombination von Bedingungen, Beziehungen und Beschrnkungen getestet. Zustzlich kann auch ein Graph in logischer ustzlich Notation, der Ursache-Wirkungs Wirkungs-Graph, verwendet werden. Hinweis: Neben dem Testen aller mglichen Kombinationen von Bedingungen sind auch eingeschrnkte Tabellen mglich. Die Entscheidung darber wird sich wahrsch wahrscheinlich am Risiko orientieren [Copeland03]. Zustandsbasiertes Testen Beschreibung siehe ISTQB Foundation-LevelLehrplan 2007, Abschnitt 4.3.4. itt
Fr einfache Zustandsbergnge (Transitionen) ist das berdeckungsma der prozentuale Anteil aller gltigen, whrend des Tests ausgefhrten Transitionen. Es wird als 0 0-Switchberdeckung bezeichnet. Fr n Transitionen ist das berdeckungsma Januar 2010 20100131
Version 2007
Name
Verfahren
Kriterien fr die berdeckung der prozentuale Anteil aller gltigen r Folgen von n Transitionen, die whrend des Tests ausgefhrt werden. Es wird als (n-1)-Switch-berdeckung bezeichnet. berdeckung
Klassifikationsbaumverfahren, Testen mit orthogonalen Arrays und paarweises Testen , Es werden zu untersuchende Faktoren oder Kriterien hngen vom verwendeten m Variablen und die Optionen oder Werte Verfahren ab, das berdeckungsma des identifiziert, die sie annehmen knnen. Die Verfahrens Paarweises Testen Optionen oder Werte werden dann einzeln, unterscheidet sich beispielsweise von paarweise oder in Kombinationen von drei oder mbinationen dem des Klassifikationsbaum Klassifikationsbaumverfahrens. sogar mehr identifiziert. [Copeland03] Das Klassifikationsbaumverfahren setzt eine graphische Notation ein, um die Testbedingungen (-klassen) und ihre Kombinationen fr die klassen) Testflle abzubilden. [Grochtmann94] Anwendungsfallbasiertes Testen (szenarien (szenarienbasiertes Testen) Beschreibung siehe ISTQB Foundation-LevelLehrplan 2007, Abschnitt 4.3.5. , Es sind keine formalen Kriterien anwendbar.
Manchmal werden fr die Erstellung von Tests auch Verfahren kombiniert. So knnen beispielsweise die in einer Entscheidungstabelle identifizierten Bedingungen eine quivalenzklassen einer ivalenzklassenbildung unterzogen werden, um unterschiedliche Mglichkeiten herauszufinden, wie eine Bedingung erfllt werden kann. Die Tests decken dann nicht nur alle Kombinationen von Bedingungen ab, sondern es werden zustzliche Tests fr die quivalenzklassen der Bedingungen erstellt, sodass auch diese quivalenzklassen berdeckt werden.
Version 2007
Der Advanced Level Lehrplan behandelt folgende strukturorientierte Testentwurfsverfahren: Name Verfahren Kriterien fr die berdeckung
Anweisungstest Es werden alle ausfhrbaren (nicht kommentierten und nicht leeren) Anweisungen identifiziert. Entscheidungsberdeckungstest Es werden alle Entscheidungsanweisungen identifiziert, wie if/else, switch/case for und while. switch/case, Zweigberdeckungstest Es werden alle Verzweigungen identifiziert, wie if/else, switch/case, for und while while-Anweisungen. Hinweis: Entscheidungstests und Zweigtests sind dungstests bei einem berdeckungsgrad von 100% gleich, knnen sich bei niedrigeren berdeckungsgraden aber unterscheiden. Einfacher Bedingungstest Es werden alle Wahr/Falsch Wahr/Falsch-Bedingungen in Verzweigungsanweisungen identifiziert (beispielsweise if/else, switch/case, for und while). Mehrfachbedingungsberdeckungstest berdeckungstest Es werden alle mglichen Kombinationen von Wahr/Falsch-Bedingungen identifiziert. Bedingungen
Anzahl der ausgefhrten Anweisungen/ Gesamtzahl der Anweisungen Anzahl der ausgefhrten Entscheidungen/Gesamtzahl der Entscheidungen Anzahl der ausgefhrten Zweige/Gesamtzahl der Zweige
Anzahl der ausgefhrten Kombinationen von booleschen Bedingungen/ Gesamtzahl der Kombinationen von booleschen Bedingungen
Definierter Bedingungstest Es werden alle mglichen Kombinationen von Wahr/Falsch-Bedingungen identifiziert, die sich auf Bedingungen die Verzweigungsentscheidung (Zweige) auswirken knnen. LCSAJ (Schleifentest) Es werden die mglichen Bedingungen identifiziert, die das Durchlaufen von Schleifen steuern. LCSAJ (Linear Code Sequence and Jump) [Beizer95] wird e verwendet, um einen bestimmten Abschnitt im Code zu testen (eine lineare Folge ausfhrbarer Anweisungen). Der Abschnitt beginnt an einem bestimmten Kontrollfluss und endet mit einem Sprung zu einem anderen Kontrollfluss oder zum Ende des Programms. Diese Code Code-Fragmente werden auch als EE-Pfade bezeichnet Pfade Version 2007 Seite 68 von 136
Anzahl der booleschen Operanden, die unabhngig voneinander die ig Entscheidung beeinflussen/Gesamtzahl der booleschen Operanden
Name
Verfahren (Entscheidung zu Entscheidung). Das Verfahren wird verwendet, um spezifische Testflle mit den zugehrigen Testdaten zu definieren, die den gewhlten Kontrollfluss ausfhren. Fr den Entwurf dieser Tests wird ein Modell des Quellcodes bentigt, das die Sprnge im Kontrollfluss definiert. LCSAJ kann als Basis fr die Codeberdeckungsmessung dienen.
Mittels strukturorientierter Verfahren ermittelte berdeckungskriterien messen oft die Vollstndi Vollstndigkeit oder Unvollstndigkeit einer Menge von Tests, die mit spezifikationsorientierten und/oder erfahrungsbasierten Testverfahren entworfen wurden. Dazu werden Testwerkzeuge eingesetzt, sogenannte Codeberdeckungswerkzeuge, um die von den Tests erzielte strukturelle berdeckung strukturelle zu erfassen. Wenn dabei wichtige Lcken in der strukturellen berdeckung aufgedeckt werden (oder die durch geltende Standards vorgeschriebene berdeckung nicht erreicht wird), dann schliet man diese Lcken durch zustzliche Tests nach strukturorientierten oder anderen Testverfahren. nach Analyse der berdeckung Ob eine bestimmte Codeberdeckung erzielt wurde oder nicht, lsst sich durch dynamisches Testen nach strukturorientierten oder anderen Testverfahren feststellen. Bei kritischen Systemen liefert es Testverfahren den Nachweis, dass eine spezifische Codeberdeckung erreicht wurde (siehe Abschnitt 1.3.2). Die Ergebnisse knnen zeigen, dass einige Codeabschnitte nicht ausgefhrt wurden, und zu einer wurden, Definition zustzlicher Testflle fhren, damit auch diese Abschnitte ausgefhrt werden.
Version 2007
Name
Verfahren
Fehlertaxonomien (Kategorien und Listen mglicher Fehler) Der Tester, der eine Fehlertaxonomie verwendet, whlt ein potenzielles Problem zur Analyse aus der Liste. Fehlertaxonomien knnen Grundursache, Fehlerzustnde und Fehlerwirkung angeben, sie listen die hufigsten Fehler in der getesteten Software auf. Die Liste wird fr den Entwurf von Testfllen verwendet.
Name
Verfahren
Grundlage der Tests fr die Anwendung dient. ie Explorativ Die Tester lernen gleichzeitig das Produkt und dessen Fehler kennen, planen vorgesehene Testaufgaben, entwerfen die Tests und fhren sie durch, und berichten ber die Testergebnisse. Gute explorative Tests sind geplant, interaktiv und kreativ. Die Tester passen die Testziele whrend der Testdurchfhrung dynamisch an und dokumentieren dabei nur sparsam. [Veenendaal02]
Es lassen sich Test-Chartas erstellen, Chartas die Aufgaben, Ziele und ufgaben, Arbeitsergebnisse spezifizieren. Fr explorative Testsitzungen lsst sich spezifizieren, was erreicht werden soll, worauf man sich konzentrieren sollte, was innerhalb und auerhalb des Leistungsumfangs liegt und welche Ressourcen vorzusehen sind. hen Auerdem knnen Heuristiken ber Fehler und Qualitt einflieen. Kriterien sind die verschiedenen Schnittstellen der getesteten Anwendung. Die wichtigsten sind Benutzerschnittstelle, Bet Betriebssystem, Kernel des Betriebssystems, APIs und Dateisystem.
Fehlerangriffe Die Tester bewerten die Systemqualitt, indem sie gezielt versuchen, bestimmte Fehlerwirkungen auszulsen. Bei [Whittaker03] ist das Prinzip v von Fehlerangriffen, dass sie auf den Interaktionen der getesteten Software mit ihrer Betriebsumgebung basieren. Dazu gehren: Benutzerschnittstelle, Betriebssystem mit Kernel, Systemschnittstellen (APIs) und Dateisystem. Die Interaktionen basieren auf einem genau definierten Datenaustausch, m falsche Einstellungen bei einer oder mehreren Interaktionen knnen eine Fehlerwirkung verursachen.
Fehler- und erfahrungsbasierte Testentwurfsverfahren nutzen die Kenntnis von Fehlern und andere Erfahrungen, um die Fehleraufdeckung zu erhhen. Sie reichen von Schnelltests, bei denen Tester berhaupt keine formal geplanten Aktivitten haben, ber geplante Testsitzungen bis hin zu Tests mit Testskripten (skriptbasiertes Testen). Sie sind fast immer ntzlich; unter folgenden Bedingungen sind sie aber besonders wertvoll: Es sind keine Spezifikationen vorhanden oder verfgbar. tionen Das zu testende System ist schlecht dokumentiert. Fr Entwurf und Erstellung von Testszenarien ist nicht genug Zeit. Die Tester sind in diesem Fachbereich und/oder in der Technologie besonders erfahren. Es wird eine Erhhung der Vielfalt gegenber dem reinen Testen auf Basis von Testskripten g gesucht. Betriebsausflle sind zu analysieren. Fehler- und erfahrungsbasierte Testentwurfsverfahren sind auerdem ntzlich, wenn sie mit verhaltensbasierten und strukturorientierten Verfahren kombiniert werden, weil sie die Lcken in der Verfahren Testberdeckung schlieen, die aus den systematischen Schwchen dieser Verfahren resultieren.
Version 2007
das Vorhandensein/Fehlen einer Seite (http error 404). Das sind ntzliche Informationen fr (http Entwickler, Webmaster und Tester. 4.5.2.2 Aufrufgraphen Aufrufgraphen knnen unterschiedlichen Zwecken dienen: Tests entwerfen, die ein bestimmtes Modul aufrufen Herausfinden, wo das Modul berall aufgerufen wird en, Vorgehensweisen fr die Integration vorschlagen (paarweise und benachbarte Integration [Jorgensen02]) Struktur des Gesamtcodes und seiner Architektur bewerten Zustzlich kann die dynamische Analyse (siehe Abschnitt 4.6) Informationen darber liefern, wie oft ein Modul aufgerufen wird. Die Tester knnen die Informationen aus den Aufrufgraphen der statischen Analyse mit denen aus der dynamischen Analyse zusammenfhren und sich dann auf die Module konzentrieren, die oft und/oder wiederholt aufgerufen werden. Wenn es auerdem komplexe Module t sind (siehe Abschnitt 1.3.2.2), sollten sie umfangreich und im Detail getestet werden. ),
4.6.1 bersicht
Fehlerwirkungen, die nicht ohne W eiteres reproduzierbar sind, knnen erhebliche Konsequenzen fr den Testaufwand haben und knnen die Softwareproduktionsfreigabe verhindern. Ursachen solcher Fehler knnen Speicherengpsse sein, inkorrekter Einsatz von Zeigern und andere Korruptionen (beispielsweise des System-Stacks) [Kaner02]. Diese Art von Fehlern kann zu einer allmhlichen Stacks) Verschlechterung der Systemleistung oder sogar zu Systemabstrzen fhren; die Teststrategie muss deshalb die mit diesen Fehlern verbundenen Risiken bercksichtigen. Falls ntig, mssen die Risiken Falls durch eine dynamische Analyse reduziert werden (normalerweise mit Hilfe von Testwerkzeugen). Die dynamische Analyse wird durchgefhrt, whrend die Software luft, und soll Fehler verhindern, indem fehlerhafte wilde Zeiger und Speicherengpsse aufgedeckt und werden. Systemausflle analysieren, die nicht leicht reproduzierbar sind. Netzwerkverhalten bewerten. die Systemleistung verbessern, indem Informationen ber das Laufzeitverhalten des Systems erfasst werden. Die dynamische Analyse kann in jeder Teststufe durchgefhrt werden, sie ist aber besonders ntzlich alyse fr Komponenten- und Integrationstests. Zum Spezifizieren der Testziele und vor allem fr die Analyse der Testergebnisse sind technische Fhigkeiten und Systemkenntnisse erf erforderlich.
Version 2007
Speicherengpsse verursachen Probleme, die sich erst allmhlich entwickeln und oft nicht erkennbar sind, so beispielsweise, wenn die Software erst krzlich installiert oder das System neu gestartet e wurde, was beim Testen oft geschieht. Die negativen Auswirkungen von Speicherengpssen werden deshalb oft erst bemerkt, wenn das Programm in Produktion gegangen ist. Symptom eines Speicherengpasses ist die kontinuierlichen Verlangsamung der Antwortzeiten, die ngpasses letztendlich zu einem Systemausfall fhren kann. Man kann solchen Ausfllen zwar mit einem Neustart (Rebooten) des Systems begegnen, das ist aber oft unpraktisch oder sogar unmglich. Bereiche, in denen Speicherengpsse vorkommen, lassen sich mit Werkzeugen identifizieren, so dass ereiche, die Speicherengpsse korrigiert werden knnen. Mit einem einfachen Speichermonitor lsst sich herausfinden, ob der verfgbare Speicherplatz sich allmhlich verringert, dann msste noch eine verringert, Nachanalyse durchgefhrt werden. Es mssen noch andere Arten von Engpssen betrachtet werden, beispielsweise bei Dateibezeichnern, Zugriffsgenehmigungen (Semaphore) und Verbindungspools fr Ressourcen.
Version 2007
5.1 Einfhrung
Whrend das vorige Kapitel die verschiedenen Testverfahren fr Tester beschreibt, behandelt dieses Kapitel wie Tester die Verfahren anwenden, um die wichtigsten Qualittsmerkmale fr Softwareanwendungen oder Systeme zu bewerten. Die Qualittsmerkmale, die von Test Analysts und von Technical Test Analysts zu bewerten sind, werden in separaten Abschnitten dieses Lehrplans behandelt. Hintergrund ist die Beschreibung der Qualittsmerkmale im ISO Standard 9126. Die verschiedenen Qualittsmerkmale zu verstehen, ist grundlegendes Lernziel aller drei Module. Je nachdem, welches der Qualittsmerkmale behandelt wird, entsteht entweder im Modul fr Test es Analysts oder im Modul fr Technical Test Analysts ein tieferes Verstndnis. Die jeweiligen Adressaten knnen so typische Risiken erkennen, geeignete Teststrategien entwickeln und Testflle spezifizieren.
Version 2007
5.2.3 Interoperabilittstests
Interoperabilittstests prfen, ob eine Anwendung in allen vorgesehenen Umgebungen (Hardware, Software, Middleware, Betriebssystem usw.) korrekt funktionieren. Fr die Spezifikation der Interoperabilittstests sind Kombinationen der vorgesehenen Zielumgebungen zu identifizieren, zu konfigurieren und dem Testteam zur Verfgung zu stellen. Diese Umgebungen werden dann mit ausgewhlten funktionalen Testfllen getestet, welche die verschiedenen Komponenten der estfllen Testumgebung prfen. Interoperabilitt betrifft das Zusammenwirken verschiedener Softwaresysteme. Software mit guten Interoperabilittseigenschaften lsst sich leicht mit verschiedenen anderen System integrieren, ohne System dass grere nderungen ntig sind. Messen lsst sich die Interoperabilitt durch die Anzahl notwendiger nderungen und den damit verbundenen Aufwand. Beim Testen der Softwareinteroperabilitt knnen beispielsweise die folgenden Designmerkmale im Designmerkmale Fokus stehen: die Verwendung von industrie blichen Kommunikationsstandards, beispielsweise XML; industrie-blichen die Fhigkeit der Software, die Kommunikationsanforderungen anderer Systeme automatisch zu erkennen, mit denen sie zusammenwirkt, und sie entsprechend anzusteuern. entsprechend Interoperabilittstests sind besonders wichtig fr Unternehmen, die kommerzielle Standardsoftware und werkzeuge entwickeln, werkzeuge die Entwicklung von Multisystemen. Die Tests finden vorwiegend whrend der Systemintegrationstests statt.
5.2.5 Benutzbarkeitstests
Die Ursachen fr mgliche Schwierigkeiten von Benutzern bei ihrer Arbeit mit dem zuknftigen bei System mssen erkennbar sein. Nutzer knnen zu sehr unterschiedlichen Personengruppen gehren, angefangen von IT-Experten bis hin zu Kindern oder Menschen mit besonderen Bedrfnissen. Experten Einige nationale Verbnde (beispielsweise das British Royal National Institute for the Blind) (beispielsweise empfehlen, dass Webseiten fr behinderte, blinde, sehbehinderte oder taube Nutzer und fr Version 2007 Seite 76 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
Menschen mit Bewegungs- oder Wahrnehmungseinschrnkungen auch zugnglich sein sollten. Die Prfung, ob eine Webseite fr diese Personengruppen nutzbar ist, verbessert die Benutzbarkeit auch fr alle anderen. Benutzbarkeitstests prfen die Eignung der Software fr ihre Nutzer. Sie messen dabei anhand der folgenden Faktoren, ob festgelegte Nutzer in bestimmten Umgebungen oder Anwendungskontexten Umgebungen spezifizierte Ziele erreichen: Effektivitt: Eignung der Anwendung fr die Nutzer, spezifizierte Ziele in einem spezifizierten Anwendungskontext richtig und vollstndig zu erreichen Effizienz: Eignung der Anwendung fr die Nutzer, der Effektivitt angemessene Ressourcen in einem spezifizierten Anwendungskontext einzusetzen Zufriedenheit: Eignung der Anwendung, die Nutzer in einem spezifizierten , Anwendungskontext zufriedenzustellen Messbare Merkmale sind oftwaremerkmale, Verstndlichkeit: Softwaremerkmale, die beeinflussen, welchen Aufwand die Nutzer leisten mssen, um das logische Konzept und dessen Anwendbarkeit zu erkennen Erlernbarkeit: Softwaremerkmale, die beeinflussen, welchen Aufwand die Nutzer leisten mssen, um die Anwendung zu erl erlernen Operabilitt: Softwaremerkmale, die beeinflussen, welchen Aufwand die Nutzer leisten mssen, um Aufgaben effektiv und effizient auszufhren Attraktivitt: Eigenschaft der Software, dass sie dem Nutzer gefllt Die Bewertung der Benutzbarkeit hat zwei Ziele: Benutzbarkeitsfehler zu beseitigen (auch formative Bewertung) zu testen, ob die Benutzbarkeitsanforderungen erfllt sind (auch summative Bewertung) Die Tester sollten Wissen oder Expertise in folgenden Wissensbereichen haben: Soziologie Psychologie Einhaltung nationaler Standards oder Vorschriften (beispielsweise das Allgemeine Gleichbehandlungsgesetz ((AGG)) vom 17. August 2006) Ergonomie Das implementierte System sollte unter realittsnahen Bedingungen validiert werden. Mglicherweise Bedingungen muss dazu ein Benutzbarkeitslabor eingerichtet werden mit Videokameras, nachgebauten Bros, Review-Gruppen, Nutzern usw., damit das Entwicklungsteam die Wirkung des tatschlichen Systems Gruppen, auf echte Personen beobachten kann. Viele Benutzbarkeitstests werden als Teil anderer Tests durchgefhrt, beispielsweise beim funktionalen Systemtest. Eine Ergonomierichtlinie ist hilfreich beim konsistenten Herangehen an Aufdeckung und Berichterstattung von Benutzbarkeitsfehlern in allen Softwarelebenszyklusphasen. allen 5.2.5.1 Benutzbarkeitstests spezifizieren Die wichtigsten Verfahren fr Benutzbarkeitstests sind Reviews (z.B. Inspektionen) oder Bewertungen Verifizierung und Validierung der tatschlichen Systemimplementierung Gutachten und Befragungen
Version 2007
Reviews Weil Reviews (z.B. Inspektionen) von Spezifikation und Entwrfen unter Gesichtspunkten der Benutzbarkeit die Nutzerbeteiligung erhhen, knnen sie Probleme frh entdecken und kosteneffektiv entdecken sein. Mit einer heuristischen Evaluation (der systematischen Inspektion des Entwurfs einer Benutzerschnittstelle auf ihre Benutzbarkeit) lassen sich Probleme der Benutzbarkeit im Entwurf aufdecken, sodass sie im iterativen Entwurfsprozess bearbeitet werden knnen. Dabei prft ein ass kleines Prferteam die Schnittstelle und ihre Konformitt mit anerkannten Grundstzen der Benutzbarkeit (den heuristischen Grundstzen der Ergonomie). Validierung der tatschlichen Systemimplementierung chen Zur Validierung der tatschlichen Systemimplementierung knnen Benutzbarkeitstestszenarien aus Tests entwickelt werden, die fr den funktionalen Systemtest spezifiziert wurden. In diesen Testszenarien werden statt der funktionalen Ergebnisse die spezifischen Benutzbarkeitsmerkmale funktionalen gemessen, beispielsweise Lerngeschwindigkeit oder Operabilitt. Es lassen sich spezifische Benutzbarkeitstestszenarien fr das Testen von Syntax und Semantik entwickeln: Syntax: Aufbau oder Grammatik der Schnittstelle (was beispielsweise in ein Eingabefeld eingegeben werden kann) Semantik: Bedeutung und Zweck (beispielsweise sinnvolle und aussagekrftige Systemmeldungen und ausgaben an den Nutzer) ausgaben Mgliche Verfahren fr die Entwicklung solcher Testszenar Testszenarien sind Black-Box-Verfahren, wie beispielsweise im BS 7925 2 (British Standard) beschrieben Verfahren, 7925-2 Anwendungsflle, definiert entweder in Textform oder UML (Unified Modeling Language Language) Testszenarien fr Benutzbarkeitstests enthalten Anleitungen fr die Nutzer, Zeitrume vor und nach tstests den Tests fr Interviews, in denen die Anleitung vermittelt oder die Rckmeldungen gesammelt werden, sowie das vereinbarte Vorgehen im Verlauf der Testeinheiten. Das Vorgehen legt fest, w wie die Tests ausgefhrt werden, ihren zeitlichen Ablauf, Protokollierung und Aufzeichnung der Testsitzung sowie die Methoden fr Begutachtung und Befragung. Gutachten und Befragungen Mit Gutachten und Befragungen lassen sich Beobachtungen ber das Verhalten der Anwender bei der sich Systemnutzung in einem Testlabor sammeln. Standardisierte und ffentlich zugngliche Gutachten, wie etwa SUMI (Software Usability Measurement Inventory) und WAMMI (Website An Analysis and MeasureMent Inventory) ermglichen ein Benchmarking gegen eine Datenbank mit frheren Benutzbarkeitsmessungen. SUMI liefert konkrete Benutzbarkeitsmetriken, diese lassen sich als Testende- oder Abnahmekriterien verwenden.
5.2.6 Zugnglichkeitstests
Es ist wichtig, die Zugnglichkeit der Software fr Menschen mit besonderen Anforderungen oder eingeschrnkten Nutzungsmglichkeiten zu prfen. Dazu gehren auch behinderte Personen. Die relevanten Standards sollten eingehalten werden, wie etwa Richtlinien ber Barrierefreiheit (Web andards Content Accessibility Guidelines) oder Anti Anti-Diskriminierungsgesetze (Disability Discrimination Acts Acts, Grobritannien, Australien) und Section 508 (USA).
Version 2007
Version 2007
berlauf des Eingabebereichs (Pufferberlauf), der beispielsweise durch Eingabe extrem langer Zeichenketten ber ein Eingabefeld der Benutzerschnittstelle ausgelst werden kann. Nach diesem berlauf lsst sich mglicherweise bsartiger Code ausfhren. esem Denial of Service-Angriff, sodass die Anwendung nicht mehr genutzt werden kann Angriff, (beispielsweise indem ein Webserver von bermengen von Stranfragen berschwemmt wird) agungen Abhren von Datenbertragungen in Netzwerken, um an vertrauliche Informationen zu gelangen (beispielsweise ber Kreditkarten Kreditkarten-Transaktionen) Verschlsselungscodes knacken, die vertrauliche Daten schtzen Logische Fallen (logic bombs, in den USA manchmal Easter Eggs genannt), die in bsartiger Absicht in den Code eingeschleust und nur unter bestimmten Bedingungen aktiviert werden (beispielsweise an einem bestimmten Datum). Werden diese logischen Fallen aktiviert, so lsen sie Schadaktionen aus, wie das Lschen von Dateien oder Formatieren von Festplatten. Formatieren Sicherheitsbelange lassen sich folgendermaen einteilen: Die Benutzerschnittstelle betreffend nicht autorisierter Zugriff bsartige Eingaben Das Dateisystem betreffend Zugriff auf vertrauliche Daten in Dateien oder Repositorie Repositories Das Betriebssystem betreffend unverschlsseltes Ablegen von sicherheitskritischen Informationen, wie Passwrtern. Wird das System durch bsartige Eingaben zum Absturz gebracht, knnen die Informationen zugnglich werden. Externe Software betreffend Interaktionen zwischen externen Komponenten, die das System nutzt. Sie knnen auf ktionen Netzwerkebene stattfinden (wenn beispielsweise inkorrekte Datenpakete oder Meldungen bertragen werden) oder auf Ebene der Softwarekomponenten (wenn beispielsweise eine Softwarekomponente ausfllt, die vom System bentigt wird). ponente Hinweis: Verbesserungen bei der Sicherheit eines Systems knnen die Systemleistung beeintrchtigen. Es ist also ratsam, nach den Sicherheitsverbesserungen die Performanztests zu wiederholen. 5.3.1.1 Sicherheitstestspezifikation spezifikation Mgliche Verfahren beim Entwickeln der Sicherheitstests sind Informationen abrufen Mit verbreiteten Werkzeugen wird ein Profil oder Netzwerkplan des Systems erstellt. Mglic Mgliche Informationen sind: Mitarbeiter, physikalische Adressen, Details der internen Netzwerke, IP IPNummern, Typ der verwendeten Software/Hardware, Betriebssystem Betriebssystem-Version. Schwachstellen scannen Mit den verbreiteten Werkzeugen wird das System gescannt. Diese W erkzeuge werden nicht Werkzeuge dazu verwendet, in das System direkt einzudringen, sondern zur Identifizierung von Schwachstellen, die eine Verletzung der Sicherheitsrichtlinie darstellen oder dazu fhren knnen. Spezifische Schwachstellen lassen sich auch mit Hilfe von Checklisten, wie etwa bei www.testingstandards.co.uk, www.testingstandards.co.uk identifizieren. Fehlerangriffe entwickeln Mit den gesammelten Informationen werden Testaktionen geplant, die die Sicherheitsrichtlinie eines bestimmten Systems durchdringen sollen. Fr die Angriffsplne mssen mehrere immten
Version 2007
Eingaben ber verschiedene Schnittstellen (beispielsweise Benutzerschnittstelle, Dateisystem) spezifiziert werden, um so die schwersten Sicherheitsdefekte aufzudecken. Die verschiedenen bei [Whittaker04] beschriebenen Fehlerangriffe sind eine wertvolle Quelle en fr Verfahren, die speziell fr Sicherheitstests entwickelt wurden. Weitere Informationen zu Fehlerangriffen enthlt Abschnitt 4.4.
von mehr als einer unabhngigen Instanz des Softwaresystems in so genannten redundanten Systemen sein (beispielsweise beim Steuerungssystem eines Flugzeugs). Redundante Systeme sind normalerweise eine Kombination aus Software und Hardwaremanahmen und werden je nach rweise SoftwareAnzahl der unabhngigen Instanzen als zweifach/dreifach/vierfach redundante Systeme bezeichnet. Unterschiedliche Lsungen lassen sich dadurch erreichen, dass zwei (oder mehr) un unabhngige Entwicklungsteams dieselben Softwareanforderungen zur Umsetzung erhalten. Die gleiche Leistung wird dann mit unterschiedlichen Softwarelsungen erbracht. Das schtzt die mehrfach redundanten Systeme, weil nicht wahrscheinlich ist, dass hnliche fehlerhafte Eingaben das gleiche Ergebnis fehlerhafte haben. Diese Manahmen zur Verbesserung der Wiederherstellbarkeit eines Systems knnen auch dessen Zuverlssigkeit direkt beeinflussen und bei der Durchfhrung der Zuverlssigkeitstests bercksichtigt werden. Durch die Simulation von Fehlerwirkungen oder das Ausfhren in einer kontrollierten Umgebung sind Failover Tests ausdrcklich auf das Testen redundanter Systeme ausgelegt. Nach einer Fehlerwirkung wird der Failover-Mechanismus getestet, um sicherzustellen, dass der Vorfall weder Mechanismus Datenverlust noch Datenkorruption bewirkt hat, und dass die Service Level Vereinbarungen Level-Vereinbarungen eingehalten wurden (beispielsweise Funktionsverfgbarkeit, Antwortzeiten). Weitere Informationen zu Failover Tests unter www.testingstandards.co.uk. Backup- und Wiederherstellungstests untersuchen Manahmen und Verfahren, die die mglichen Fehlerwirkungen minimieren sollen. Sie bewerten die (meist in einer Teststrategie dokumentierten) Verfahrensweisen, nach denen die verschiedenen Sicherungsarten erstellt und die Daten nach erstellt Datenverlust oder korruption wiederhergestellt werden. Die Testflle werden so entworfen, dass korruption kritische Pfade im Verfahren abgedeckt sind. Als Trockenbung fr diese Szenarien lassen sich technische Reviews durchfhren, die die Handbcher fr die tatschliche Installationsprozedur Handbcher validieren. Beim betrieblichen Abnahmetest werden diese Szenarien in einer echten Produktionsumgebung oder in einer produktionshnlichen Umgebung eingesetzt, um ihre tatschliche Anwendung zu validieren. Mgliche Metriken fr die Messung bei Backup und Wiederherstellungstests sind Backup bentigte Zeit fr die verschiedenen Backup Arten (beispielsweise vollstndig, inkrementell) Backup-Arten bentigte Zeit fr die Wiederherstellung der Daten garantierte Sicherungsstufen (beispielsweise Wiederherstellung aller Daten, die nicht lter als (beispielsweise 24 Stunden sind, oder spezifischer Transaktionsdaten, die nicht lter als eine Stunde sind).
5.3.2.3 Zuverlssigkeitstest-Spezifikation Spezifikation Zuverlssigkeitstests basieren meist auf Anwendungsmustern (Nutzungsprofilen); sie knnen formal s oder je nach Risiko durchgefhrt werden. Die Testdaten knnen mit Zufalls Zufalls- oder Pseudozufallsmethoden generiert werden t werden. Die Wahl der Zuverlssigkeits-Wachstumskurve sollte gut begrndet sein und der Satz von Wachstumskurve begrndet Fehlerdaten mit Werkzeugen analysiert werden, damit die Zuverlssigkeits Wachstumskurve den Zuverlssigkeits-Wachstumskurve vorhandenen Daten angemessen ist. Zuverlssigkeitstest eignen sich auch fr die gezielte Suche nach Speicherengpssen. Sie mssen dann so spezifiziert werden, dass sie besonders speicherintensive Vorgnge wiederholt ausfhren und eine ordnungsgeme Speicherfreigabe nachweisen.
5.3.3 Effizienztests
Das Qualittsmerkmal Effizienz wird mit Test zu Zeit- und Ressourcenverhalten bewertet. Die Tests folgenden Abschnitte behandeln Effizienztests bezogen auf das Zeitverhalten unter den Aspekten Performanz-, Last-, Stress- und Skalierbarkeitstests. Version 2007 Seite 82 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
5.3.3.1 Performanztests Es gibt unterschiedliche Arten von Performanztests, je nach betrachteten nicht nicht-funktionalen Anforderungen. Zu diesen Testarten gehren Performanz Last-, Stress- und Skalierbarkeitstests. Performanz-, Performanztests untersuchen die Fhigkeit einer Komponente oder eines Systems, auf Eingaben des Komponente Nutzers oder Systems innerhalb einer definierten Zeit und unter den spezifizierten Bedingungen zu reagieren (siehe auch Lasttests und Stresstests in den folgenden Abschnitten). Dabei variieren die Performanzmessungen je nach Zielsetzung des Tests. So kann die Performanzmessung einer n einzelnen Softwarekomponente die CPU CPU-Zyklen berechnen; bei Client-basierten Systemen lsst sich basierten dagegen die Zeit messen, die das System bentigt, um auf eine bestimmte Nutzeranfrage zu reagieren. Bei Systemarchitekturen, die aus mehreren Komponenten bestehen (beispielsweise agieren. Clients, Servern, Datenbanken) wird die Performanz zwischen den einzelnen Systemkomponenten gemessen, um Engpsse zu identifizieren. 5.3.3.2 Lasttests Lasttests messen die Fhigkeit eines Systems, ansteigende Grade erwarteter, realistische realistischer Systemlasten zu bewltigen, die eine Anzahl paralleler Nutzer als Transaktionsanforderungen generiert. Die durchschnittlichen Antwortzeiten der Nutzer werden in typischen Nutzungsszenarien (Nutzungsprofile) gemessen und analysiert (siehe auch [Splaine01]). Es gibt zwei Untergruppen von Lasttests, solche mit einer realistischen Nutzeranzahl und solche, wo ein hohes Datenvolumen im Vordergrund steht (groe Anzahl von parallelen/gleichzeitigen Nutzern). Lasttests messen sowohl die Antwortzeiten als auch Netzwerkdurchsatz. 5.3.3.3 Stresstests Stresstests untersuchen die Fhigkeit eines Systems, Spitzenlasten an oder ber den spezifizierten Kapazittsgrenzen zu bewltigen. Mit steigender berbelastung sollte die Systemleistung allmhlich, vorhersehbar und ohne Ausfall abnehmen. Vor allem sollte die funktionale Integritt des Systems unter Spitzenlast getestet werden, um mgliche Fehlerzustnde bei der funktionalen Verarbeitung en, oder Dateninkonsistenzen aufzudecken. Mgliches Ziel von Stresstests kann es sein, die Grenze zu erreichen, an der das System tatschlich ausfllt, um so das schwchste Glied in der Kette zu identifizieren. Bei Stresstests ist es erlaubt, dem System rechtzeitig zustzliche Komponenten hinzuzufgen (beispielsweise Speicher, CPU CPU-Kapazitt, Datenbankspeicher). In Spitzentests (spike tests) werden Bedingungen simuliert, die zu pltzlichen extremen Systemlasten fhren. Bei Bounce-Tests wechseln solche Spitzenlasten mit Zeiten geringer Nutzung ab. Die Tests Tests untersuchen, wie gut das System mit diesen Lastnderungen fertig wird, und ob es nach Bedarf Ressourcen in Anspruch nimmt und wieder freigibt (si (siehe auch [Splaine01]). 5.3.3.4 Skalierbarkeitstests Skalierbarkeitstests untersuchen die Fhigkeit eines Systems, zuknftige Effizienzanforderungen zu erfllen, die ber den gegenwrtigen liegen knnen. Ziel dieser Tests ist es zu beurteilen, ob das Ziel System wachsen kann (beispielsweise mit mehr Nutzern oder greren Mengen von gespeicherten Daten), ohne die vereinbarten Grenzen zu berschreiten oder zu versagen. Sind diese Grenzen bekannt, lassen sich Schwellenwerte definieren und in der Produktion berwachen, sodass bei enwerte bevorstehenden Problemen eine Warnung erfolgen kann. 5.3.3.5 Prfung der Ressourcennutzung Effizienztests der Ressourcennutzung bewerten die Verwendung von Systemressourcen Verwendung (beispielsweise Hauptspeicher- und Festplattenkapazitten, Bandbreiten im Netz). Die Verwendung
Version 2007
dieser Ressourcen wird sowohl bei normaler Systemauslastung gemessen als auch in Stresssituationen durch beispielsweise hohe Transaktionsraten oder groe Datenmengen. Transaktionsraten So spielt beispielsweise bei eingebetteten Echtzeitsystemen die Speichernutzung (memory footprint) eine wichtige Rolle bei Performanztests. 5.3.3.6 Spezifikation von Effizienztests Testspezifikationen der Testarten Performanz Last- und Stresstests basieren auf definierten kationen Performanz-, Nutzungsprofilen mit verschiedenen Formen des Nutzungsverhaltens bei der Interaktion mit der Anwendung. Fr eine Anwendung kann es mehrere Nutzungsprofile geben. Die Anzahl der Nutzer pro Nutzungsprofil lsst sich mit Monitorwerkzeugen bestimmen (wenn die tatschliche oder eine vergleichbare Anwendung bereits zur Verfgung stehen), oder durch eine Voraussage. Voraussagen knnen auf Algorithmen basieren oder von der Betriebsor Betriebsorganisation stammen, sie sind besonders wichtig fr die Spezifizierung der Nutzungsprofile bei Skalierbarkeitstests. Nutzungsprofile sind Grundlage der Testflle und werden in der Regel mit Testwerkzeugen generiert. Simulierte Nutzer im Nutzungsprofil werden normalerweise als virtuelle Anwender bezeichnet. werden
5.3.4 Wartbarkeitstests
Wartbarkeitstests untersuchen, wie einfach die Software analysiert, gendert und getestet werden kann. Geeignete Verfahren fr Wartbarkeitstests sind statische Analysen und Checklisten. Wartbarkeitstests 5.3.4.1 Dynamische Wartbarkeitstests Dynamische Wartbarkeitstests untersuchen vorrangig die dokumentierten Verfahren, die fr die dokumentierten Wartung einer Anwendung entwickelt wurden (beispielsweise fr ein Update der Software). Als pdate Testflle dienen Wartungsszenarien, um sicherzustellen, dass die geforderten Service Levels mit den dokumentierten Verfahren erreicht werde knnen. werden Diese Art des Testens ist besonders wichtig bei komplexen Infrastrukturen, bei denen mehrere Abteilungen/Organisationen an den Supportverfahren beteiligt sind. Die Tests knnen Teil der betrieblichen Abnahmetests sein [siehe www.testingstandards.co.uk]. 5.3.4.2 Analysierbarkeit (korrektive Wartung) Bei dieser Art von Wartbarkeitstests wird die Zeit gemessen, die fr Diagnose und Behebung von im System erkannten Problemen ntig ist. Eine einfache Metrik kann der durchschnittliche Zeitaufwand fr Diagnose und Korrektur des Fehlers sein. d 5.3.4.3 nderbarkeit, Stabilitt und Testbarkeit (adaptive Wartung) Die Wartbarkeit eines Systems lsst sich auch auf den Aufwand bezogen messen, der fr nderungen ntig ist (beispielsweise Programmnderungen). Da der bentigte Aufwand von weise mehreren Faktoren abhngt, wie der verwendeten Softwaredesign Methodik (beispielsweise Softwaredesign-Methodik objektorientiert), von Programmierstandards usw., sind auch Analysen oder Reviews fr diese Wartbarkeitstests geeignet. Die Testbarkeit hngt in erster Linie vom Aufwand fr das Testen der ignet. nderungen ab. Die Stabilitt hngt in erster Linie von der Reaktion des Systems auf nderungen ab. Systeme mit niedriger Stabilitt zeigen nach jeder nderung eine groe Anzahl an Folgeproblemen jeder (ripple effect). [ISO9126] [www.testingstandards.co.uk www.testingstandards.co.uk]
5.3.5 Portabilittstests
Portabilittstests untersuchen, wie einfach es ist, eine Software in ihre vorgesehene Umgebung zu bertragen, entweder bei der Erstinstallation oder aus einer bestehenden Umgebung. Bei Version 2007 Seite 84 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
Installierbarkeit,
Koexistenz/Kompatibilitt, Koexistenz/Kompatibilitt,
Anpassbarkeit
und
5.3.5.1 Installationstests Installationstests testen Software fr die Software Installation in einer Zielumgebung. Das kann eine Software-Installation Software sein, mit der ein Betriebssystem auf einem Prozessor installiert wird, oder ein Installationsprogramm (Wizard), mit dem ein Produkt auf einem Client PC verwendet wird. Ziele von Client-PC Installationstests sind Validieren, dass die Software erfolgreich installiert werden kann, indem man die Anweisungen kann, des Installationshandbuchs befolgt (einschlielich der Ausfhrung von Installationsskripten) oder einen Installationswizard nutzt. Dabei sind auch die unterschiedlichen Optionen fr mgliche HW-/SW-Konfigurationen sowie fr verschiedene Installationsstufen (ganz oder Konfigurationen verschiedene teilweise) zu testen. Testen, ob die Installationssoftware richtig mit Fehlerwirkungen umgeht, die bei der Installation auftreten (beispielsweise DLLs nicht geladen werden), ohne das System in einem undefinierten Zustand zu lassen (beispielsweise mit nur teilweise installierter Software oder inkorrekten Systemkonfigurationen). Testen, ob sich eine nur teilweise Installation/Deinstallation der Software abschlieen lsst. Testen, ob ein Installationswizard eine ungl ungltige Hardware-Plattform oder Betriebssystem Plattform BetriebssystemKonfigurationen erfolgreich identifizieren kann. Messen, ob der Installationsvorgang im spezifizierten Zeitrahmen oder mit weniger als der spezifizierten Anzahl von Schritten abgeschlossen werden kann. Validieren, dass sich eine frhere Version installieren oder die Software deinstallieren lsst. n, Nach dem Installationstest wird normalerweise die Funktionalitt getestet, um Fehler aufzudecken, die durch die Installation eingeschleust worden sein knnen (beispielsweise inkorrekte Konfigurationen, (beispielsweise nicht mehr verfgbare Funktionen). Parallel zu den Installationstests laufen in der Regel Benutzbarkeitstest (beispielsweise zur Validierung, dass die Anwender bei der Installation verstndliche Anweisungen und Fehler Fehler-/Meldungen erhalten). 5.3.5.2 Koexistenz Computersysteme, die nicht miteinander interagieren, sind dann kompatibel, wenn sie in derselben Umgebung (beispielsweise auf derselben Hardware) laufen knnen, ohne sich gegenseitig zu knnen, beeinflussen (beispielsweise durch Ressourcenkonflikte). Kompatibilittstests knnen dann durchgefhrt werden, wenn eine neue Software oder eine Aktualisierung in einer neuen Umgebung (beispielsweise auf einem Server) installiert wird, in der bereits Anwendungen installiert sind. installiert Kompatibilittsprobleme knnen entstehen, wenn eine Anwendung als die einzige in einer Umgebung getestet wurde und Inkompatibilitten nicht erkennbar waren, wenn diese Anwendung dann in einer anderen, beispielsweise der Produktionsumgebung, installiert wird, in der bereits andere ispielsweise Anwendungen installiert sind. Typische Ziele von Kompatibilittstests sind Bewertung mglicher negativer Auswirkungen auf die Funktionalitt, wenn Anwendungen in derselben Umgebung geladen werden (beispielsweise Konflikte in der Ressourcennutzung, ng wenn mehrere Anwendungen auf demselben Server laufen), Bewertung der Auswirkungen auf jede Anwendung, die sich aus Modifikationen oder dem Installieren einer aktuelleren Betriebssystemve Betriebssystemversion ergeben. Kompatibilittstests werden normalerweise nach dem erfolgreichen Abschluss der System Systemund Anwenderabnahmetests durchgefhrt.
Version 2007
5.3.5.3 Anpassbarkeitstests Anpassbarkeitstests sollen zeigen, ob eine bestimmte Anwendung in allen geplanten Zielumgebungen keitstests korrekt funktioniert (Hardware, Software, Middleware, Betriebssystem usw.) Fr die Spezifikation der usw.). Anpassbarkeitstests mssen Kombinationen der beabsichtigten Zielumgebungen identifiziert, Zielumgebungen konfiguriert und dem Testteam zur Verfgung gestellt werden. Diese Umgebungen werden dann mit ausgewhlten funktionalen Testfllen getestet, bei denen die verschiedenen Komponenten der Testumgebung geprft werden. Anpassbarkeit kann sich darauf beziehen, dass sich die Software durch Ausfhrung eines definierten Verfahrens auf verschiedene spezifizierte Umgebungen portieren lsst. Beim Testen kann das Verfahren bewertet werden. Anpassbarkeitstests knnen zusammen mit Installierbarkeitstests durchgefhrt werden. Installierbarkeitstests Normalerweise finden anschlieend funktionale Tests statt, um Fehler aufzudecken, die durch das Anpassen der Software an die andere Umgebung entstanden sein knnen. 5.3.5.4 Austauschbarkeitstests Austauschbarkeit drckt aus, ob sich Softwarekomponenten eines Systems gegen andere Komponenten austauschen lassen. Das ist besonders relevant bei Systemen, die kommerzielle Standardsoftwareprodukte fr bestimmte Softwarekomponenten verwenden. Austauschbarkeitstests knnen parallel zu den funktionalen Integrationstests durchgefhrt werden, wenn mehr als eine Komponente alternativ fr die Integration in das Gesamtsystem verfgbar ist. Die Austauschbarkeit lsst sich in technischen Reviews oder Inspektionen bewerten, bei denen Gewicht auf eine klare Definition der Schnittstellen zu mglichen Austauschkomponenten gelegt wird.
Version 2007
6. Review
Begriffe
Audit, IEEE 1028, informelles Review Inspektion, Leiter einer Inspektion, Management , Review, , Management-Review, Moderator, Review, Prfer, technisches Review Walkthrough. Review,
6.1 Einfhrung
Zu einem erfolgreichen Review-Prozess gehren das Planen von Reviews, die Durchfhrung und die Prozess Nachbereitung. Ausbildungsanbieter mssen dafr sorgen, dass die Testmanager ihre Verantwortung Testmanager bei den Planungs- und Nachbereitungsaufgaben verstehen. Tester mssen aktiv am Review Review-Prozess teilnehmen und ihre individuelle Perspektive einbringen. Sie sollten ein formales Review Review-Training erhalten haben, damit sie ihre jewe jeweiligen Rollen bei einem technischen Review-Prozess besser Prozess verstehen. Alle Teilnehmerinnen und Teilnehmer mssen vom Nutzen gut durchgefhrter Reviews berzeugt sein. Wenn sie ordnungsgem durchgefhrt werden, leisten Reviews nicht nur den . grten einzelnen, sondern auch den kosteneffektivsten Beitrag zur gelieferten Qualitt. Ein n, internationaler Standard fr Reviews ist IEEE 1028.
Version 2007
einzelne Prfer jeweils eine bestimmte fehlerorientierte Aufgabe bernehmen und sich bei der Suche inzelne auf bestimmte Fehlerarten konzentrieren. Auf ein einzelnes Produkt lassen sich mehrere Review Arten anwenden. So kann beispielsweise ein Review-Arten Team in einem technischen Review entscheiden, welche Funktionalitten in der nchsten Iteration chen implementiert werden sollen. Danach knnte eine Inspektion der Spezifikationen fr die eingearbeiteten Funktionalitten durchgefhrt werden.
6.3 Review-Arten
Im Foundation-Level-Lehrplan wurden folgende Review Review-Arten eingefhrt: Informelles Review Walkthrough Technisches Review Inspektion In der Praxis knnen auch Mischformen aus diesen Review Arten vorkommen, wie ein technisches Review-Arten Review, das einen Satz von Regeln nut nutzt.
Version 2007
Die Prfer sammeln Beweise fr die Konformitt durch Interviews, Beobachtungen und die Prfung von Dokumenten. Zu den Ergebnissen des Audits gehren Beobachtungen, Empfehlungen, Abhilfemanahmen und eine abschlieende Beurteilung (bestanden/nicht bestanden).
Version 2007
Auswahl und Dokumentieren von Review Review-Verfahren, -templates und infrastruktur templates (beispielsweise der Datenbank fr Review Review-Metriken) Review-Techniken und -verfahren trainieren verfahren Um Untersttzung der Mitarbeiter werben, die die Reviews durchfhren werden oder deren Arbeitsergebnisse in Reviews geprft werden Pilot-Reviews abhalten Nutzen von Reviews in Form von Kosteneinsparungen darstellen Reviews fr die wichtigsten Dokumente durchfhren, beispielsweise Anforderungen, Vertrag, beispielsweise Planungsdokumente usw. Wie erfolgreich die Einfhrung von Reviews ist, lsst sich anhand vom Metriken feststellen, wie die Reduzierung oder Vermeidung von Kosten fr das Beheben von Fehlerwirkungen und/oder deren Folgen, die durch frhes Aufdecken von Fehlerzustnden und Beheben von Fehlerwirkungen e eingespart werden. Einsparungen lassen sich auch in Zeiteinheiten messen, die durch frhes . Aufdecken und Beheben von Fehlerwirkungen eingespart werden. Review-Prozesse sollten kontinuierlich berwacht und im Lauf der Zeit optimiert werden. Manager tinuierlich sollten sich bewusst machen, dass das Erlernen einer neuen Review Technik eine Investition ist, Review-Technik deren Nutzen sich nicht sofort auszahlt, sondern im Laufe der Zeit deutlich wchst.
Organisatorische Faktoren
Version 2007
Stellen Sie sicher, dass das Management ausreichend Zeit fr die Review Aktivitten bewilligt, Review-Aktivitten auch unter Termindruck. Denken Sie daran: Zeit- und Kostenaufwand sind nicht proportional zur Menge der gefundenen Fehler. Planen Sie ausreichend Zeit ein fr die Nacharbeiten zum Beheben identifizierter Fehler. Verwenden Sie die Metriken der Reviews niemals fr personenbezogene Leistungsbeurteilungen. Stellen Sie sicher, dass die richtigen Personen an den jeweiligen Review Arten beteiligt sind. Review-Arten Stellen Sie Schulungen in Review Techniken zur Verfgung, besonders fr die formaleren Review-Techniken Arten von Reviews. Untersttzen Sie ein Forum fr Review Review-Leiter zum Austausch von Erfahrungen und Ideen. ter Stellen Sie sicher, dass alle an Reviews teilnehmen, und dass alle ein Review ihrer Dokumente bekommen. Nutzen Sie fr die wichtigsten Dokumente die formalsten Review Review-Techniken. Stellen Sie sicher, dass das R Review-Team ausgewogen mit Personen unterschiedlicher Team Fhigkeiten und Erfahrungen besetzt ist. Untersttzen Sie Manahmen zur Prozessverbesserung, um systemische Probleme zu berwinden. Erkennen Sie die Verbesserungen an, die durch den Review Review-Prozess erreicht wurden. cht
Personenbezogene Aspekte Machen Sie den Betroffenen klar, dass bei einem Review Fehler zu erwarten sind, und dass Betroffenen Zeit fr Nacharbeit und Wiederholung des Reviews einzuplanen ist. Stellen Sie sicher, dass das Review fr die Autorin/den Autor eines Dokuments eine positive Erfahrung ist. Begren Sie die Fehleridentifikation in einer offenen Atmosphre ohne Schuldzuweisungen. Stellen Sie sicher, dass Kommentare konstruktiv, hilfreich und objektiv sind, und nicht subjektiv. iew Fhren Sie kein Review durch, wenn der Autor nicht zustimmt oder nicht dazu bereit ist. Ermutigen Sie alle dazu, sich mit den wichtigsten Aspekten des zu prfenden Dokuments eingehend auseinanderzusetzen. Fr weitere Informationen ber Reviews und Inspektionen siehe [Gilb9 [Gilb93].
Version 2007
7.1 Einfhrung
Testmanager und Tester mssen mit dem Prozess des Fehler und Abweichungsmanagements Fehlervertraut sein. Testmanager konzentrieren sich vor allem auf diesen Prozess, mit Methoden zum ager Erkennen, Verfolgen und Beheben von Fehlerzustnden. Tester dagegen befassen sich vor allem damit, Probleme richtig aufzuzeichnen, die sie in ihren jeweiligen Testbereichen finden. Fr jeden Schritt im Lebenszyklus haben Test Analysts und Technical Test Analysts eine unterschiedliche Ausrichtung. Test Analysts bewerten das Verhalten des Systems aus der geschftlichen und Anwenderperspektive, beispielsweise: Wrden Nutzer wissen, was zu tun ist, wenn diese Meldung tun erscheint, oder wenn das System sich so verhlt? Technical Test Analysts bewerten das Verhalten der Software selbst, sie werden das Problem eher unter technischen Gesichtspunkten untersuchen, indem sie beispielsweise die gleiche Fehlerwirkung auf verschiedenen Plattformen oder mit unterschiedlichen Speicherkonfigurationen testen.
7.3 Fehlerlebenszyklus
Alle Fehlerzustnde haben einen Lebenszyklus, auch wenn einige Fehler nicht alle Phasen durchlaufen. Der Fehler- und Abweichungslebenszyklus (gem IEEE 1044 1993) besteht aus vier 1044-1993) Schritten: Schritt 1: Erkennung (Recognition) Schritt 2: Analyse (Investigation)
Version 2007
Schritt 3: Bearbeitung3 (Action) Schritt 4: Abschluss (Disposition Disposition) In jedem dieser Schritte gibt es drei Aktivitten zur Informationserfassung: Aufzeichnen Klassifizieren Auswirkungen identifizieren
Synonym: Behebung Version 2007 Seite 93 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
Begriffe in einem Unternehmen transparent auf die Begriffe des IEEE Standards fr die em IEEE-Standards Abweichungsfelder abzubilden. IEEE Standard 1044 1993 lsst sich so einhalten, ohne dass man sich 1044-1993 bis ins Detail an die vorgegebene Terminologie halten muss. Die Konformitt mit dem IEE IEEE-Standard erlaubt den Vergleich von Informationen ber Abweichungen zwischen unterschiedlichen Unternehmen und Organisationen. Unabhngig davon, ob die Konformitt mit dem IEEE Standard ein Projektziel ist, sollen die IEEE-Standard Abweichungsfelder ausreichend Informationen fr entsprechende Manahmen liefern. Ein fr Informationen Manahmen geeigneter Abweichungsbericht ist vollstndig, kurz und prgnant, richtig, objektiv. Der Bericht muss nicht nur das Beheben des spezifischen Fehlerzustands ermglichen, er muss auch die notwendigen Informationen fr eine korrekte Klassifizierung des Fehlerzustands, eine gen Risikoanalyse und ggf. eine Prozessverbesserung enthalten.
Version 2007
8.1 Einfhrung
Verschiedene Quellen untersttzen die Einfhrung und kontinuierliche Verbesserung von Testprozessen. Dieses Kapitel befasst sich zunchst mit den Standards, die eine ntzliche und sich manchmal obligatorische Informationsquelle fr eine ganze Reihe von Testthemen sind. Fr Testmanager und Test Analysts ist es ein Lernziel zu wissen, welche Standards es gibt und wo oder wie sie anzuwenden sind. Ausbildungsanbieter sollten die fr das jeweilige Trainingsmodul besonders en relevanten Standards herausstellen. Ist ein Testprozess eingefhrt, sollte er kontinuierlich verbessert werden. Abschnitt 8.3 beleuchtet zunchst allgemeine Themen zur Testprozessverbesserung; es folgt eine Einfhrung in einige st spezifische Modelle fr die Testprozessverbesserung. Testmanager mssen den gesamten Inhalt dieses Abschnitts verstehen, aber auch fr Test Analysts und Technical Test Analysts ist es wichtig zu Analysts wissen, welche Testprozessverbesserungs Testprozessverbesserungs-Modelle es gibt, weil Test Analysts und Technical Test e Analysts eine Schlsselrolle bei der Implementierung der Verbesserungen spielen.
ISO 15504 ist auch bekannt unter dem Begriff SPICE, der vom SPICE Projekt abgeleitet wurde. SPICE-Projekt Version 2007 Seite 96 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
Die Liste ist nicht vollstndig; weitere ISO Standards knnen fr einen bestimmten Testkontext und ISO-Standards -umgebung gelten. 8.2.2.2 IEEE IEEE [www.ieee.org] ist die Abkrzung fr: Institute of Electrical and Electronics Engineers, einen Berufsverband mit Sitz in den Vereinigten Staaten. Nationale Reprsentanten dieser Organisation gibt es in mehr als hundert Lndern. IEEE hat einige hilfreiche Standards und Normen fr Softwaretester herausgegeben: IEEE 610:1991 IEEE Standard computer dictionary, eine Zusammenstellung von IEEE IEEEStandard-Computerglossaren Computerglossaren IEEE 829:1998 IEEE Standard for software test documentation IEEE 1028:1997 IEEE Standard for software reviews IEEE 1044:1995 IEEE Guide to classification for software anomalies Die Liste ist nicht vollstndig; weitere IEEE Standards knnen fr einen bestimmten Testkontext und g; IEEE-Standards -umgebung gelten.
Version 2007
Kritikalitt
A Katastrophal
Verhindert die sichere Fortsetzung des F Flugs und die Landung groe Verminderung von Sicherheit und Funktionsfhigkeit Besatzung kann mglicherweise ihre Aufgaben nicht korrekt und vollstndig ausfhren tndig schwere Verletzungen oder Verletzungen mit Todesfolge bei einer kleinen Zahl von Flugzeuginsassen bedeutende Verminderung der Sicherheit bedeutend erhhte Arbeitsbelastung der Besatzung Unannehmlichkeiten fr Flugzeuginsassen, einschlielich hmlichkeiten Verletzungen leichte Verminderung der Sicherheitsmargen und der Funktionsfhigkeit leicht erhhte Arbeitsbelastung der Besatzung einige Unannehmlichkeiten fr die Flugzeuginsas Flugzeuginsassen keine Auswirkung auf die Funktionsfhigkeit des Flugzeugs keine erhhte Arbeitsbelastung der Besatzung
Anweisungen
keine
keine
Das angemessene Niveau struktureller berdeckung hngt ab von der Kritikalittsstufe der Software, die fr den Einsatz in der zivilen Luftfahrt zu zertifizieren ist. nsatz 8.2.4.2 Raumfahrtindustrie Einige Industriezweige nutzen abgenderte und andere angepasste Standards fr die eigene Branche. Das hat die Raumfahrtindustrie mit ihrem Standard ECSS (European Cooperation on Space Standardization, [www.ecss.org]) getan. Je nach Kritikalitt der Software empfiehlt der ECSS ECSSStandard Methoden und Verfahren, die mit den ISTQB Lehrplnen fr Foundation und Advanced Level bereinstimmen, u.a: SFMECA - Software-Fehlermglichkeits Einfluss- und Kritikalitts-Analyse Fehlermglichkeits-, SFTA - Softwarefehlerbaum Softwarefehlerbaum-Analyse HSIA - Hardware Software Interaction Analysis (Hardware (Hardware-Software-Interaktionsanalyse) Interaktionsanalyse) SCCFA - Software Common Cause Failure Analysis (Analyse der gemeinsamen Ursachen von Ausfllen)
8.2.4.3 Food & Drug Administration (FDA) Fr medizinische Systeme, die Title 21 CFR Part 820 unterliegen, empfiehlt die US USamerikanische Bundesbehrde zur berwachung von N Nahrungs- und Arzneimitteln (FDA (FDA) bestimmte strukturelle und funktionale Testverfahren. Auerdem empfiehlt die FDA Teststrategien und grundstze, die mit den ISTQB Lehrplnen fr grundstze, Foundation und Advanced Level bereinstimmen.
Version 2007
Tester mssen die verschiedenen Standards (einschlielich firmeninterner Standards, empfohlene Praktiken usw.) in ihrer Branche, ihrem Fachbereich oder Kontext kennen. Manchmal sind die gltigen Standards hierarchisch nach ihrem Geltungsbereich fr bestimmte Vertrge festgelegt. Testmanager bestimmte mssen wissen, welche Standards eingehalten werden mssen, und sie mssen auf angemessene Konformitt achten.
Version 2007
Der vereinbarte Bewertungsansatz wird durchgefhrt und liefert als Ergebnis eine Liste mglicher sansatz Prozessverbesserungen. Priorisieren und planen Die Liste der mglichen Prozessverbesserungen wird nach Prioritt geordnet. Die Prioritt kann glichen sich orientieren an: Rentabilitt, Risiken, Angleichung an die Gesamtstrategie der Organisation, messbarem quantitativen oder qualitativen Nutzen. Nach der Priorisierung sollte ein Plan fr die Durchfhrung der Verbesserungen entwickelt und auf e den Weg gebracht werden. Definieren und neu definieren Anhand der erkannten Anforderungen an die Prozessverbesserung werden bentigte Prozesse neu definiert oder bestehende Prozesse nach Bedarf umdefiniert und einsatzbereit gemacht. Betreiben Nachdem ihre Entwicklung abgeschlossen ist, werden die Prozessverbesserungen umgesetzt. Dazu knnen Schulungen oder Coachings anfallen, es kann die Pilotierung von Prozessen einschlieen und fhrt schlielich zur vollstndigen Implementierung der Verbesserungen. chlielich Validieren Wenn die Prozessverbesserungen im Einsatz sind, ist unbedingt zu prfen, ob sich die vorab vereinbarten Vorteile verwirklicht haben (beispielsweise Nutzenrealisierung), und ob alle Erfolgskriterien fr die Prozessverbesserungsmanahmen erfllt wurden. Weiterentwickeln Je nach verwendetem Prozessmodell ist dies der Schritt im Verbesserungsprozess, mit dem die nchste Reifestufe anvisiert wird, und die Entscheidung fllt,ob der Verbesserungszyklus von sserungszyklus vorne beginnen oder vorerst an diesem Punkt enden soll. Bewertungsmodelle sind eine bliche Methode, sie bieten einen standardisierten Ansatz fr die Verbesserung der Testprozesse nach erprobten und bewhrten Verfahren. Eine Testprozessverbesserung ist aber auch ohne Modell mglich, beispielsweise durch analytische erbesserung Anstze und Bewertungssitzungen.
Version 2007
Die dritte Stufe wird erreicht, wenn ein Testprozess in den Softwarelebenszyklus integriert und in formalen Standards, Verfahren und Methoden dokumentiert wird. Es sollte eigene Rollen fr Softwaretester geben, und das Testen sollte gesteuert und berwacht werden. Stufe 4: Management und Messung Die vierte Stufe wird erreicht, wenn sich der Testprozess effektiv messen und steuern lsst, und wenn er fr spezifische Projekte angepasst werden kann. Stufe 5: Optimierung In der letzten Stufe ist eine Testprozessreife erreicht, bei der sich Daten aus dem Testprozess nutzen lassen, um Fehlerzustnden vorzubeugen, und die weitere Optimierung des etablierten Prozesses in den Fokus rckt. Um eine bestimmte Stufe zu erreichen, mssen eine Reihe definierter Reifeziele und untergeordneter stimmte Teilziele erfllt sein. Die Ziele werden definiert als Aktivitten, Aufgaben und Verantwortlichkeiten, und sie werden bewertet aus den festgelegten Perspektiven von Manager, Entwickler/Tester und Manager, Kunde/Anwender. Weitere Informationen enthlt [Burnstein03]. Die TMMi Foundation [www.tmmifoundation.org] hat das Nachfolgemodell von TMM definiert: TMMi. www.tmmifoundation.org] TMMi ist ein detailliertes Modell fr die Testprozessverbesserung. Es basiert auf dem TMM s TMMRahmenwerk, wie es vom Illinois Institute of Technology entwickelt wurde, und auf praktischen Erfahrungen bei dessen Anwendung. Es soll das CMMI ergnzen. TMMi basiert in seiner Struktur weitgehend auf der des CMMI, beispielsweise mit Prozessbereichen, generischen Zielen, generischen Praktiken, spezifischen Zielen und spezifischen Praktiken.
beherrschbar effizient optimierend Bei einem TPI-Assessment werden quantitative Metriken und qualitative Befragungen verwendet, um sment die Ebenen der Testprozessreife zu bewerten.
Version 2007
Version 2007
Die gestufte Darstellung ist im CMMI vor allem deshalb vorhanden, damit eine gemeinsame Basis mit dem CMM-Modell besteht. Die kontinuierliche Darstellung wird allgemein als die flexiblere Methode Modell betrachtet. Beim CMMI beziehen sich die Prozessbereiche Validierung und Verifizierung sowohl auf statische als auch auf dynamische Testprozesse.
Version 2007
9.1 Einfhrung
Dieser Abschnitt vertieft den Foundation Foundation-Level-Lehrplan zunchst mit einigen allgemeinen Konzepten. Anschlieend werden einige Werkzeuge ausf ausfhrlich erklrt. Die Konzepte knnen unterschiedlich relevant entweder fr Testmanager, Test Analysts oder Technical Test Analysts sein. Professionelle Tester brauchen aber Grundkenntnisse von allen. Die Grundkenntnisse lassen sich dann bei Bedarf erweiter erweitern. Werkzeuge lassen sich unterschiedlich gruppieren, unter anderem nach ihren tatschlichen Nutzerinnen und Nutzern, beispielsweise Testmanager, Test Analysts oder Technical Test Analysts. Diese Einteilung entspricht den Modulen dieses Lehrplans, sie wird deshalb auch in diesem Kapitel verwendet. Generell sind die Werkzeuge in den folgenden Abschnitten fr ein bestimmtes der drei Module relevant; es gibt aber auch bestimmte Werkzeuge (beispielsweise Testmanagementwerkzeuge) mit breiterer Bedeutung. In diesen Fllen nennen die diesen Ausbildungsanbieter Beispiele fr den Einsatz des Werkzeugs im spezifischen Kontext.
9.2 Testwerkzeugkonzepte
Mit Testwerkzeugen lassen sich Effizienz und Effektivitt des Testens erheblich steigern, allerdings nur dann, wenn die geeigneten Werkzeuge fachgerecht eingesetzt und implementiert werden. Testwerkzeuge mssen als ein zustzlicher Aspekt einer gut gefhrten Testorganisation gemanagt werden. Testautomatisierung wird oft mit Testdurchfhrung gleichgesetzt, es gibt aber fr die meisten gleichgesetzt, manuellen Ttigkeiten unterschiedliche Arten der Testautomatisierung, deshalb lassen sich die meisten Aufgabenbereiche des Testens bis zu einem gewissen Grad automatisieren, falls die richtigen Werkzeuge vorhanden sind. Jede Version eines Testwerkzeugs, alle Testskripte, Testsitzungen und jede Testbasis sollten dem Konfigurationsmanagement unterliegen und mit der Softwareversion verbunden sein, fr die sie eingesetzt wurden. Jedes Testwerkzeug ist wichtiger Bestandteil der Testmittel und sollte Testmittel dementsprechend gemanagt werden: die Architektur vor dem Testwerkzeug entwerfen korrektes Konfigurationsmanagement von Skripten und Werkzeugversionen, Patches usw. sicherstellen, einschlielich Versionsinformation Bibliotheken erstellen und pflegen (fr die Wiederverwendung hnlicher Konzepte bei Testfllen), Implementierung des Testwerkzeugs dokumentieren (beispielsweise wann das Werkzeug im Prozess in der Organisation eingesetzt und wie es benutzt wird) vorausschauend planen durch Strukturierung der Testflle fr eine zuknftige Strukturierung Weiterentwicklung, indem sie beispielsweise erweiterbar und wartbar gestaltet werden
Version 2007
und
Risiken
von
Testwerkzeugen
und
Eine Kosten-Nutzen-Analyse sollte grundstzlich immer durchgefhrt werden, um die Rentabilitt zu Analyse belegen. Als wichtigste Elemente einer Kosten Kosten-Nutzen-Analyse sollte sie folgende Kostenfaktoren Analyse erfassen und dabei jeweils die Kosten fr die aktuelle manuelle Vorgehensweise (ohne Einsatz von s Werkzeugen) vergleichen mit denen fr werkzeugbasiertes Testen (Stunden umgerechnet in Kosten, direkte Kosten, wiederkehrende Kosten, einmalige Kosten): Einfhrungskosten fr Wissensaneignung (Lernkurve fr das Werkzeug) eignung Evaluierung (Werkzeuge vergleichen), falls zutreffend Integration mit anderen Werkzeugen Kauf, Anpassung oder Eigenentwicklung des Werkzeugs Wiederkehrende Kosten fr Werkzeugbesitz (Wartung, Lizenzgebhren, Supportgebhren, Supportgebhren, Kenntnisse aufrechterhalten) Portabilitt Verfgbarkeit und Abhngigkeiten (wenn Testwerkzeuge nicht vorhanden sind) kontinuierliche Kostenbewertung Qualittsverbesserung, um die optimale Nutzung der gewhlten Werkzeuge sicherzustellen Eine Wirtschaftlichkeitsrechnung (Business Case) nur auf Grundlage von Automatisierungs haftlichkeitsrechnung AutomatisierungsPilotprojekten bersieht oft wichtige Kosten, beispielsweise Kosten fr Wartung, Aktualisierung und Erweiterung der Testskripte bei Systemnderungen. Die Lebensdauer eines Testfalls ist die Dauer, fr Testfalls die er ohne berarbeitung gltig bleibt. Die erste Version eines automatisierten Testskripts zu implementieren, dauert oft wesentlich lnger als eine manuelle Ausfhrung; ber einen lngeren Zeitraum gesehen, macht die automatisierte Variante es aber mglich, zahlreiche hnliche Testskripte viel schneller zu erstellen und so die Anzahl der guten Testflle zu erhhen. Beim zuknftigen Einsatz der Automatisierung nach der Implementierungsphase lassen sich auerdem Testberdeckung und Testeffizienz wesentlich verbessern. Die Wirtschaftlichkeitsrechnung fr die Einfhrung von teffizienz Testwerkzeugen muss daher auf einer langfristigen Perspektive basieren. Jeder spezifische Testfall muss betrachtet werden, um festzustellen, ob sich eine Automatisieru Automatisierung lohnt. Viele Automatisierungsprojekte basieren auf der Implementierung naheliegender manueller Testflle, ohne den tatschlichen Nutzen jedes einzelnen Testfalls zu prfen. Wahrscheinlich kann jeder gegebene Satz von Testfllen oder jede Testsuite manuelle, halbautomatisierte und manuelle, automatisierte Tests enthalten. Zustzlich zu den im Foundation-Level-Lehrplan behandelten Themen, sollten folgende Aspekte bercksichtigt werden: Zustzlicher Nutzen: Die Zeit fr die automatisierte Testdurchfhrung lsst sich leichter schtzen. Regressionstests und Fehlervalidierung in spteren Projektphasen sind schneller und sicherer, wenn die Testflle automatisiert sind. Der Einsatz von Automationswerkzeugen kann den Status und die technische Kompetenz des Testers oder des Testteams erhhen. Automatisierung lsst sich bei der parallelen, iterativen und inkrementellen Entwicklung einsetzen, um besseres Regressionstesten bei jedem Build zu ermglichen. Das Werkzeug deckt bestimmte Testarten ab, die sich manuell nicht abdecken lassen (beispielsweise Performanz und Zuverlssigkeit). Seite 107 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
Version 2007
Zustzliche Risiken: Unvollstndiges oder inkorrektes Testen wird so automatisiert, wie es ist. Es ist schwierig, die Testmittel zu warten; wenn die zu testende Software gendert wird, mssen mehrere nderungen nachgezogen werden. Dadurch, dass die Tester bei der Testdurchfhrung nicht mehr direkt involviert sind, kann die Fehlerfindungsrate sinken, weil ausschlielich automatisierte Tests mit Testskript durchgefhrt werden.
9.2.2 Testwerkzeugstrategien
Testwerkzeuge sollen normalerweise fr mehr als ein Projekt eingesetzt werden. Je nach Hhe der Investition und Projektdauer kann es sein, dass sich der Einsatz fr nur ein Projekt zunchst nicht rentiert, sondern erst bei nachfolgenden Versionen der Software. So ist beispielsweise die olgenden Wartungsphase oft sehr testintensiv, bei jeder nderung ist eine groe Regressions Regressions-Testsuite auszufhren. Deshalb kann es kostengnstig sein, ein System in der Wartungsphase zu automatisieren, wenn sich das aufgrund einer langen Systemlebensdauer lohnt. Ein weiteres Beispiel: Beim manuellen Testen knnen den Testern beispielsweise leicht Tippfehler unterlaufen, sodass die Kosten-Nutzen-Rechnung positiv ausfllt, wenn in einer Testsuite die Dateneingaben und der Rechnung Dateneingaben Vergleich der Ergebnisdaten mit den Daten des Testorakels automatisiert werden. Fr Unternehmen, die viele Testwerkzeuge benutzen (fr unterschiedliche Teststufen und -zwecke) und von diesen abhngig sind, empfiehlt sich eine langfristige Testwerkzeugstrategie, die als Testwerkzeugstrategie, Entscheidungshilfe dient, wenn es um die Einfhrung oder das Auslaufen von bestimmten Werkzeugversionen und Werkzeug Support geht. Fr grere Unternehmen mit intensiver Werkzeug-Support Werkzeugnutzung kann es ratsam sein, eine allgemeine Richtlinie fr die Werkzeugbeschaffung, Richtlinie Strategien, Werkzeug-Paradigmen oder zu verwendende Skriptsprachen zu erstellen. Paradigmen
Version 2007
Neue Konzepte, wie integrierte Entwicklungsumgebungen (beispielsweise Eclipse), zielen darauf ab, Integration und Einsatz verschiedener Werkzeuge in derselben Umgebung zu erleichtern, indem sie eine gemeinsame Schnittstelle fr Entwicklungs und Testwerkzeuge bieten. So knnen Entwicklungsieten. Werkzeuganbieter ein Plug-in zum Eclipse Framework bereitstellen und damit erreichen, dass ihr in Eclipse-Framework Werkzeug Eclipse-konform wird. Das Werkzeug sieht dann so aus und lsst sich benutzen wie jedes konform andere Werkzeug im Eclipse-Rahmenwerk, was fr die Nutzer vorteilhaft ist. Hinweis: Auch wenn die Rahmenwerk, die Benutzerschnittstellen hnlich sind, bedeutet das nicht, dass die Werkzeuge automatisch integriert sind und untereinander Informationen austauschen knnen.
zu erstellen. Groe Testsuiten sind oft schwierig zu aktualisieren und zu managen, wenn sie nicht mit Sorgfalt entworfen wurden. Deshalb sind geeignete Schulungen fr Anwendung der Testwerkzeuge, Programmierung und Entwurfsverfahren sehr wertvoll, damit sich die Vorteile der Werkzeuge sverfahren vollstndig nutzen lassen. Auch wenn manuelle Testflle automatisiert wurden, ist es wichtig, sie regelmig auch manuell auszufhren, damit das Wissen nicht verloren geht, wie der Test funktioniert, und um die korrekte funktioniert, Arbeitsweise zu verifizieren. Wenn ein Werkzeug im Einsatz ist und die Anzahl der Testskripte stetig zunimmt, kann es ntig werden, bestimmte Funktionen hinzuzufgen, die andere Werkzeuge bieten. Das ist nicht immer mglich, da nicht alle Werkzeuge eine offene Schnittstelle bieten und manchmal eigene, nicht standardisierte Skriptsprachen verwenden. Es ist daher ratsam, Werkzeuge einzusetzen, die sich ber Plug-ins in offene Rahmenwerke einfgen lassen oder ber API ins API-Schnittstellen verfgen. Das garantiert eine bessere Zukunftsfhigkeit der Testskripte als Testmittel. Fr jede Art von Werkzeug sollten die nachfolgend aufgelisteten Eigenschaften betrachtet werden, unabhngig von der Testphase, in der das Werkzeug eingesetzt werden soll. Diese Eigenschaften soll. sind sowohl bei der Evaluierung von Werkzeugen als auch bei der Eigenentwicklung ntzlich. Ein Werkzeug kann in jedem dieser Aspekte schwach oder stark sein. Eine solche Liste eignet sich deshalb auch zum Vergleich der Fhigkeiten unterschiedlicher Werkzeuge. Analyse: Konzept, Eingaben und manuell oder automatisch eingebrachte Informationen Entwurf: manuelle oder automatische Erstellung Auswahl: manuelle oder automatische Auswahl auf Basis von Kriterien, beispielsweise berdeckung Ausfhrung: manuelle oder automatische Ausfhrung, Steuerung, Wiederanlauf etc etc. Bewertung (beispielsweise Testorakel) und Prsentation: Sie werden oft als manuelle oder automatische Protokollier- und Berichtsfunktionen bezeichnet, die beispielsweise Vergl Vergleiche mit einer Vorlage, einem Standard oder mit einem bestimmten Kriterium durchfhren durchfhren.
Testumgebungen verwendet werden mssen. Diese Werkzeuge sind oft sehr effizient beim Ausfhren der vorgesehenen Aufgaben; sie hngen aber oft auch sehr von der Person ab, die sie entwickelt hat. Person Deshalb sollten sie so dokumentiert werden, dass auch andere Personen sie pflegen knnen. Bevor sie in einer Organisation weiter verbreitet werden, sollten unbedingt ihre Zwecke, Ziele, Vor und VorNachteile geprft werden. Es kommt oft vor, dass solche Werkzeuge fr neue Anforderungen verwendet werden, oder dass sie weit ber ihren ursprnglichen Gebrauch hinaus erweitert werden, was nicht immer von Vorteil ist.
9.3 Testwerkzeugkategorien
Dieser Abschnitt hat folgende Ziele: Er liefert zustzliche Informationen fr die bereits in Kapitel 6 des ISTQB Foundation Foundation-LevelLehrplans s beschriebenen Werkzeuge (beispielsweise Testmanagementwerkzeuge, Testmanagement Testausfhrungs- und Lasttestwerkzeuge). Er fhrt neue Werkzeugkategorien ein. Allgemeine Informationen ber Werkzeugkategorien, die in diesem Abschnitt nicht behandelt werden, enthlt ISTQB Foundation-Level-Lehrplan Kapitel 6. Lehrplan,
9.3.1 Testmanagementwerkzeuge
Allgemeine Informationen ber Testmanagementwerkzeuge enthlt ISTQB Foundation Foundation-LevelLehrplan, Abschnitt 6.1.2. Die folgenden Informationen sollten Testmanagementwerkzeuge liefern knnen: Version 2007 Seite 111 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
Rckverfolgbarkeit von Testartefakten Erfassung der Testumgebungsdaten in komplexen Umgebungen Daten zur gleichzeitigen Ausfhrung von Testsuiten in unterschiedlichen Testumgebungen whrend derselben Testsitzung an mehreren Einsatzorten (in verschiedenen Organisationen) Metriken und Indikatoren, wie Anzahl der Testbedingungen l Anzahl der Testflle Dauer der Ausfhrung (beispielsweise des Testfalls, einer Testsuite, einer Regressionstestsuite) und andere wichtige Zeiten, einschlielich Durchschnittswerten, die fr Managemententscheidungen wichtig sein knnte knnten Anzahl der Testflle, Testartefakte und Testumgebungen Anteil der bestandenen/nicht bestandenen Tests Anzahl der noch offenen Testflle (und der Grnde, weshalb sie nicht ausgefhrt wurden) Tendenzen Anzahl der Anforderungen Anzahl der Beziehungen zw zwischen und Verfolgbarkeit von Testartefakten Konzepte, die von den Testmanagementwerkzeugen untersttzt werden, wie Organisation von Testartefakten, Repositories und Treibern von Testfllen Testbedingungen und Testumgebungen Regressionstestsuiten, Test Testsitzung Protokollierung und Information zur Fehlerbearbeitung Wiederanlauf der Umgebung (und Neuinitialisierung) Testmetriken ber die Testartefakte (Testdokumentation), um den Testfortschritt zu dokumentieren Testmanagementwerkzeuge werden von Testmanagern, Test Analysts und Technical Test Analysts e ern, benutzt.
9.3.2 Testausfhrungswerkzeuge
Allgemeine Informationen ber Testausfhrungswerkzeuge enthlt ISTQB Foundation Foundation-LevelLehrplan 2007, Abschnitt 6.1.5. Testausfhrungswerkzeuge werden berwiegend von Test Analysts und Technical Test Analysts auf ungswerkzeuge allen Teststufen eingesetzt, um Tests auszufhren und die Ergebnisse zu kontrollieren. Testausfhrungswerkzeuge verfolgen normalerweise eins oder mehrere der folgenden Ziele Ziele: Kosten reduzieren (Aufwand oder Zeit) mehr Tests ausfhren Tests leichter wiederholbar machen Testausfhrungswerkzeuge werden meist zur Automatisierung der Regressionstests eingesetzt. Testausfhrungswerkzeuge fhren eine Reihe von Anweisungen in einer Programmiersprache aus, die oft auch Skriptsprache genannt wird. Die Anweisungen fr das Werkzeug sind sehr ausfhrlich und spezifizieren Details, wie einzelne Schaltflchenaktivierungen, Tastendrucke und Mausbewegungen. Diese detaillierten Skripte werden dadurch sehr anfllig fr nderungen an der Software unter Test (SUT), vor allem wenn sie die graphische Benutzerschnittstelle (GUI) betreffen. Ausgangspunkt fr ein Skript kann ein Mitschnitt (Capture/Replay) sein, oder ein erstelltes oder ) bearbeitetes Skript auf der Grundlage vorhandener Skripte, Vorlagen oder Schlsselwrter. Ein Skript ist ein Programm und funktioniert wie jede Software. Beim Erfassen (oder Aufzeichnen) lsst sich ein (oder Audit Trail fr das nicht-systematische Testen aufzeichnen. Die meisten Testausfhrungswerkzeuge systematische haben einen Testkomparator, der die tatschlichen mit den gespeicherten erwarteten Testergebnissen Version 2007 Seite 112 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
vergleicht. Beim Testen (wie beim Programmieren) geht der Trend weg von detaillierten Anweisungen e und hin zu hheren Sprachen, auch hier werden Bibliotheken, Makros und Unterprogramme benutzt. Folgen von Anweisungen in einem Skript knnen mit einem Namen (Schlsselwort oder Aktionsw Aktionswort) gekennzeichnet werden; daher werden diese schlsselwortgetriebene oder aktionswortgetriebene Tests genannt. Hauptvorteil ist die Trennung der Skriptanweisungen von den Daten. Wie bei der Nutzung von Vorlagen fr die Skripterstellung soll dieses Konzept den Aufwand minimieren. Konzept Hauptgrund fr das Versagen von Testwerkzeugen in der Praxis sind geringe Programmierfhigkeiten und ein mangelndes Verstndnis dafr, dass ein Testwerkzeug durch die automatisierte Testdurchfhrung nur einen Teil der Probleme lst. Jede Automatisierung der Testdurchfhrung lst. bedeutet Management, Aufwand, besondere Qualifikationen und Sorgfalt, beispielsweise fr Testarchitektur und Konfigurationsmanagement. Das heit auch, dass Testskripte Fehler enthalten knnen. Eine Testmittel-Architektur kann eine gewisse Unabhngigkeit von einem bestimmten chitektur Werkzeuglieferanten bieten. Wenn ein Werkzeug beschafft wird, meinen viele, dass seine Vorgaben befolgt werden mssen, beispielsweise bei Aufbau und Namenskonventionen von Skripten. Mit der Automatisierung des Testaufbaus lassen sich aber die eigene optimale Weise, die Tests zu tomatisierung organisieren, mit den Ablagestrukturen verbinden, die das Werkzeug fordert, um die Tests ausfhren zu knnen.
9.3.4 Fehlereinpflanzungs und Fehlerinjektionswerkzeuge FehlereinpflanzungsFehlereinpflanzung und Fehlerinjektion sind zwei unterschiedliche Verfahren, die beim Testen eingesetzt werden knnen. Die Fehlereinpflanzung nutzt ein Werkzeug, das einem Compiler hnelt, nutzt und generiert damit systematisch einzelne oder bestimmte Arten von Codefehlern. Diese Werkzeuge werden oft beim Mutationstestverfahren eingesetzt und werden manchmal auch Mutationstest MutationstestWerkzeug genannt. Fehlerinjektion soll die vorhandenen Schnittstellen zu Testkomponenten ndern, fr die kein Quellcode verfgbar ist. Sie kann aber auch gezielt einen bestimmten Fehlerzustand einbringen, um einerseits zu prfen, ob die Software damit umgehen kann (Fehlertoleranz), oder um festzustellen, ob ein Test in der Testsuite den absichtlich eingeschleusten Fehler findet. Fehlereinpflanzungs und FehlereinpflanzungsFehlerinjektionswerkzeuge werden vor allem von Technical Test Analysts auf Codeebene verwendet, Version 2007 Seite 113 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
Test Analysts knnen damit aber auch Daten in einer Datenbank manipulieren oder Fehlerzustnde in den Datenstrom einschleusen, um das Systemverhalten zu testen.
identifizieren knnten. Speicherwerkzeuge sind besonders ntzlich fr das Testen bestimmter Programmiersprachen (beispielsweise C, C++), bei denen die Programmierer das Speichermanagement bernehmen. Diese Werkzeuge werden von Technical Test Analysts benutzt.
9.3.8 Performanztestwerkzeuge
Allgemeine Informationen ber Performa Performanztestwerkzeuge enthlt ISTQB Foundation-Level-Lehrplan 2007, Abschnitt 6.1.6 Werkzeuguntersttzung fr Performanzmessung und Testmonitore. , Performanztestwerkzeuge leisten zweierlei: Lastgenerierung Messung und Analyse des Systemverhaltens bei der generi generierten Last Zur Lastgenerierung wird ein definiertes Nutzungsprofil (siehe Abschnitt 5.3.3 als Skript 5.3.3) implementiert. Das Skript kann zunchst fr einen einzigen Nutzer erfasst werden (beispielsweise mit einem Mitschnittwerkzeug), und wird dann durch das Lasttestwerkzeug fr das festgelegte g), Nutzungsprofil implementiert. Die Implementierung muss die Datenschwankungen pro Transaktion (oder Menge von Transaktionen) bercksichtigen. Performanztestwerkzeuge generieren eine Last, indem sie eine groe Nutzerzahl (virtuelle Nutzer) mit indem bestimmten Mengen von Eingabedaten simulieren. Im Unterschied zu den Mitschnittwerkzeugen, die die Nutzungsinteraktion ber eine graphische Benutzerschnittstelle simulieren, erzeugen viele Performanztestskripte die Nutzungsinteraktionen mit dem System auf der Ebene des kripte Kommunikationsprotokolls. Nur wenige Lastgenerationswerkzeuge knnen die Last generieren, indem sie die Anwendung ber die Benutzerschnittstelle steuern.
Version 2007
Performanztestwerkzeuge liefern eine Vielzahl von Messungen fr die Analyse whrend oder nach Durchfhrung des Tests. Typische Metriken und Berichte dieser Testwerkzeuge sind Anzahl simulierter Nutzer Anzahl und Art der von den simulierten Nutzern erzeugten Transaktionen Antwortzeiten fr bestimmte, von den Nutzern angeforderte Transaktionen Berichte auf Basis von Testprotokollen oder -logs und Graphen, die Last und Antwortzeiten logs Antwortzeiten. gegenberstellen Systemmonitordaten (wie z.B. CPU Auslastung) Wichtige Faktoren beim Implementieren von Perfor Performanztestwerkzeugen sind Hardware und die Netzwerkbandbreiten, die fr die Lastgenerierung bentigt werden Kompatibilitt des Werkzeugs mit dem Kommunikationsprotokoll des zu testenden Systems ausreichende Flexibilitt des Werkzeugs fr die einfache Implementierung unterschiedlicher Implementierung Nutzungsprofile bentigte berwachungs-, Analyse und Berichtsfunktionen , AnalysePerformanztestwerkzeuge werden in der Regel gekauft, weil deren Entwicklung sehr aufwndig ist. Es kann aber sinnvoll sein, ein bestimmtes Performanztestwerkzeug zu entwickeln, wenn technische Performanztestwerkzeug Einschrnkungen den Einsatz eines Produkts nicht zulassen, oder wenn Nutzungsprofil und bentigte Funktionen relativ einfach sind. Performanztestwerkzeuge werden in der Regel von Technical Test Analysts benutzt. Hinweis: Performanzbezogene Fehlerzustnde haben oft tief greifende Auswirkungen auf die zu weis: testende Software. Wenn die Anforderungen an die Performanz des Systems sehr wichtig sind, ist es meist sinnvoll, die Performanz der kritischen Komponenten zu testen ( (mittels Treibern und Platzhaltern), und nicht bis zu den Systemtests zu warten. ),
Version 2007
10.1
Einfhrung
Professionelle Tester sollten wissen, welche individuellen Fhigkeiten sie zur fachgemen Erfllung ihrer spezifischen Aufgaben brauchen. Dieses Kapitel beleuchtet zunchst die individuellen zunchst Fhigkeiten, bevor es sich mit Themen befasst, die fr Testmanager besonders wichtig sind, beispielsweise Gruppendynamik, Organisation, Motivation und Kommunikation.
10.2
Individuelle Fhigkeiten
Eine Person kann entweder durch ihre Erfahrung oder durch Schulung in verschiedenen on Arbeitsbereichen zum Testen von Software befhigt sein. Folgende Aspekte knnen zu ihrer Wissensbasis beitragen: Nutzung von Softwaresystemen Kenntnis des Geschfts- oder Fachberei Fachbereichs Ttigkeiten in den verschiedenen Phasen der Softwareentwicklung, einschlielich Analyse, Entwicklung und technische Support technischen Ttigkeiten im Bereich Softwaretesten Anwender von Softwaresystemen sind vertraut mit der Nutzerseite der Systeme und haben g gute Kenntnisse darber, wie die Systeme angewendet werden, in welchen Bereichen Fehlerwirkungen die schwerwiegendsten Auswirkungen haben wrden, und welches Systemverhalten erwartet werden kann. Fachexperten wissen, welche Bereiche fr das Geschft von grter Wichtigkeit sind, und grter kennen den Einfluss dieser Bereiche auf die Fhigkeit des Unternehmens, die geschftlichen Anforderungen zu erfllen. Dieses Wissen lsst sich nutzen fr die Priorisierung der Testaktivitten, den Entwurf realistischer Testdaten bzw. Testfllen und die Verifizierung oder Beschaffung von Anwendungsfllen. Die Kenntnis des Softwareentwicklungs Prozesses (Anforderungsanalyse, Entwurf, Programmierung) Softwareentwicklungs-Prozesses erklrt, wie sich Fehler einschleichen, wo sie zu finden sind, und wie Fehlern vorgebeugt werden vorgebeugt kann. Erfahrung im technischen Support liefert Wissen ber die Praxis der Nutzer und ihre Erwartungen und Anforderungen an die Benutzbarkeit. Erfahrung im Bereich Softwareentwicklung ist wichtig fr den Einsatz von anspruchsvollen Testautomatisierungswerkzeugen, die Programmier und Testautomatisierungswerkzeugen, ProgrammierEntwurfsspezialisten erfordern. Zu den spezifischen Fertigkeiten beim Softwaretesten gehren die Fhigkeit zur Analyse von Spezifikationen, Teilnahme an Risikoanalyse , Entwurf von Testfllen sowie Flei und Sorgfa beim Risikoanalysen, Sorgfalt Durchfhren der Tests und der Aufzeichnung der Ergebnisse. Fr Testmanager sind Wissen, Fhigkeiten und Erfahrung im Projektmanagement besonders wichtig, weil das Management eines Tests der Leitung eines Projekts entspricht - mit Ttigkeiten, wie Erstellen des Plans, berwachung und Kontrolle des Fortschritts sowie Berichten an die Betroffenen Betroffenen. Zwischenmenschliche Fhigkeiten, wie der Umgang mit Kritik, Einflussnahme und Verhandlungsgeschick sind alle wichtig fr die Rolle des Testers. Technisch kompetente Tester kompetente knnen ihrer Rolle als Tester kaum gerecht werden, wenn sie die ntigen zwischenmenschlichen Version 2007 Seite 117 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
Fhigkeiten nicht haben und einsetzen. Erfolgreiche Tester mssen nicht nur mit anderen effektiv zusammenarbeiten, sondern auch ihre Arbeit gut organisieren knnen, ein Auge frs Detail haben und organisieren ausgeprgte kommunikative Fhigkeiten besitzen, sowohl schriftlich als auch mndlich.
10.3
Dynamik im Testteam
Eine der wichtigsten Funktionen des Managers in einer Organisation ist die Auswahl der Mitarbeiter. die Neben einer individuellen Befhigung fr die Aufgabe sind viele Aspekte zu bercksichtigen. Wenn eine Person fr das Team ausgewhlt wird, ist auch die Dynamik im Team zu beachten. Wird diese Person die im Testteam vorhandenen Fhigkeiten und verschiedenen Persnlichkeiten sinnvoll Fhigkeiten ergnzen? Es kann Vorteile haben, wenn in einem Testteam sowohl unterschiedliche Persnlichkeiten als auch unterschiedliche technische Fhigkeiten zusammenkommen. Ein starkes Testteam kann mit mehreren Projekten unterschiedlicher Komplexitt umgehen und zugleich die zwischenmenschlichen Beziehungen zu den anderen Mitgliedern im Projektteam erfolgreich gestalten. Neue Teammitglieder mssen schnell vom Testteam integriert werden und eine angemessene Betreuung erhalten. Jede Person im Team sollte ihre definierte Rolle haben, die sich aus einer euung individuellen Beurteilung ergeben kann. Ziel ist es, dass jedes Mitglied als einzelne Person erfolgreich ist und gleichzeitig zum Erfolg des gesamten Teams beitrgt. Das lsst sich zum Einen durch passende Teamrollen fr die jeweiligen Persnlichkeitstypen erreichen, und zum Anderen, indem man sowohl auf die vorhandenen Fhigkeiten des Einzelnen baut als auch sein oder ihr Portfolio an Fhigkeiten erweitert. Hinweis: Es gibt kaum je die perfekt geeignete Person, aber man kann ein starkes Team auch bilden, indem man die Strken und Schwchen der einzelnen Teammitglieder ausgewogen miteinander kombiniert. Durch Wissenstransfer im Team lsst sich das Teamwissen pflegen und aufbauen, was und letztendlich die Flexibilitt erhht.
10.4
Unternehmen ordnen das Testen sehr unterschiedlich in ihre Organisationsstruktur ein. Die Qualitt gehrt zwar whrend des gesamten Softwarelebenszyklus in die gemeinsame Verantwortung aller, ein unabhngiges Testteam kann aber entscheidend zur einem hochwertigen Produkt beitragen. In der Praxis ist das Testen in unterschiedlichem Mae unabhngig, wie die folgenden Auflistung zeigt, e die von der geringsten zur hchsten Unabhngigkeit reicht: Keine unabhngigen Tester Es gibt keine Unabhngigkeit, und der Entwickler testet seinen eigenen Programmcode. Falls ihm Zeit fr das Testen zur Verfgung steht, wird der Entwickler feststellen, ob das Programm so funktioniert, wie von ihm beabsichtigt. Ob damit die tatschlichen Anforderungen erfllt sind, bleibt offen. Der Entwickler kann aufgedeckte Fehlerzustnde schnell korrigieren. Ein Entwickler testet, der das Programm nicht geschrieben hat. Es gibt nur wenig Unabhngigkeit zwischen Entwickler und Tester. Ein Entwickler, der den Programmcode eines anderen Entwicklers testet, wird Fehlerzustnde mglicherweise ungern berichten. Die Mentalitt eines Entwicklers beim Testen fhrt meist zu einem Fokus auf positive beim Testflle. Ein Tester (oder Testteam) aus dem Entwicklungsteam testet. Tester (oder Testteam) berichten an das Projektmanagement.
Version 2007
Die Mentalitt eines Testers fhrt meist zu einem Fokus darauf, die Einhaltu Einhaltung von Anforderungen zu verifizieren. Weil der Tester Mitglied des Entwicklungsteams ist, kann er zustzlich Entwicklungsaufgaben haben. Tester kommen aus den Fachabteilungen des Unternehmens, aus dem Kreis der Nutzer oder einer anderen technischen Organisation, die nicht mit Softwareentwicklung befasst ist. Organisation, Es wird unabhngig an die Betroffenen berichtet. Qualitt ist das Hauptinteresse dieses Teams. Entwicklung von Fhigkeiten und Schulung konzentrieren sich auf das Testen. Externe Testexperten testen fr spezifische Testziele. Testziele knnten beispielsweise Benutzbarkeit, Sicherheit oder Performanz sein. Qualitt sollte das Hauptinteresse dieser Experten sein; das hngt aber vom Berichtsweg ab. Eine externe Organisation testet. Es gibt maximale Unabhng Unabhngigkeit. Der Wissenstransfer kann unzureichend sein. Es sind eindeutige Anforderungen und eine gut definierte Kommunikationsstruktur notwendig. Die Qualitt der externen Organisation muss regelmig in einem Audit bewertet werden Der Grad der Unabhngigkeit zwischen Entwicklungs und Testorganisationen variiert stark. Hinweis: t EntwicklungsEin Mehr an Unabhngigkeit kann mit mehr Isolation und weniger Wissenstransfer einhergehen. Ein geringeres Ma an Unabhngigkeit kann das Wissen ber das System verbessern, es kann ab zu aber Interessenskonflikten durch widersprchliche Zielsetzungen fhren. Der Grad der Unabhngigkeit wird auch vom Softwareentwicklungs-Modell bestimmt: bei einer agilen Entwicklungsmethode sind Tester Modell beispielsweise meist Teil des Entwicklungsteams. Die oben erwhnten Optionen knnen in einem Unternehmen gemischt vorkommen. Es kann in der ben Entwicklungsabteilung getestet werden und zustzlich durch eine unabhngige Testabteilung; abschlieend kann eine externe Organisation zertifizieren. Es ist wichtig, Zustndigkeiten und Zustndigkeiten Erwartungen fr die einzelnen Teststufen zu verstehen, und die Anforderungen an sie so zu stellen, dass sich die bestmgliche Qualitt des Endprodukts im Rahmen der zeitlichen und finanziellen Grenzen erzielen lsst. Outsourcing ist eine Mglichkeit, eine externe Organisation mit dem Testen zu betrauen. Es kann sich glichkeit, dabei um ein anderes Unternehmen handeln, das die Testleistungen vor Ort, an einem externen Standort im eigenen Land, oder im Ausland (off (off-shore) erbringt. Outsourcing ist eine Herausforderung, erausforderung, vor allem, wenn die externe Organisation im Ausland angesiedelt ist. Folgende Aspekte sollten bercksichtigt werden: kulturelle Unterschiede berwachung der Outsourcing Outsourcing-Ressourcen Informationstransfer, Kommunikation Schutz geistigen Eigentums ums Bestehende Fhigkeiten, Entwicklung weitere Fhigkeiten und Schulungen Fluktuation der Mitarbeiter genaue Kostenschtzungen Qualitt
10.5
Version 2007
Motivieren
Seite 119 von 136 Januar 2010 20100131
Anerkennung fr die bewltigten Aufgaben Einverstndnis des Managements Respekt im Projektteam und in der Gruppe angemessene materielle Anerkennung der geleisteten Arbeit (einschlielich Gehalt, Leistungszulagen und Bonuszahlungen) Bestimmte Projekteinflsse knnen die Anwendung dieser Anreize erschweren. So arbeitet ein Tester sse mglicherweise sehr hart an einem Projekt mit einem unmglichen Endtermin. Er oder sie kann dann alles Menschenmgliche unternehmen (berstunden, Mehrarbeit), um die Qualittsziele im Team voranzutreiben, aber das Produkt wird aufgrund externer Einflsse vorzeitig ausgeliefert und kann trotz aller Bemhungen des Testers eine schlechte Qualitt haben. Solche Vorkommnisse knnen demotivieren, vor allem, wenn der Einsatz des Testers nicht verstanden und angerechnet wird, nicht unabhngig davon, ob das Endprodukt erfolgreich ist. Das Testteam muss geeignete Metriken festhalten, um nachzuweisen, dass bei Durchfhrung des Testens gute Arbeit geleistet, Risiken minimiert und Ergebnisse richtig protokolliert wurden , tokolliert wurden.Werden diese Informationen nicht erfasst und mitgeteilt, kann ein Team leicht demotiviert werden, weil ihm die Anerkennung fr seine gute Arbeit fehlt. Anerkennung zeigt sich nicht nur in abstrakten Konzepten, wie Respekt und Zustimmung, sie wird deutlich wahrnehmbar in konkreten Befrderungschancen, Gehaltsstufen und Laufbahnen. Wird die Testgruppe nicht respektiert, dann knnen solche Chancen fehlen. Anerkennung und Respekt gewinnen die Tester, wenn es offensichtlich wird, dass sie den M Mehrwert eines Projekts steigern. Bei einem einzelnen Projekt lsst sich das am schnellsten erreichen, indem die Tester bereits an der Konzeption des Projekts beteiligt werden und es ber den gesamten Softwarelebenszyklus bleiben. Mit der Zeit werden die Tester Anerkennung und Respekt fr ihren Tester Beitrag zur positiven Entwicklung des Projekts erhalten; ihr Beitrag sollte aber auch als geringere Kosten fr die Qualitt und Risikobeherrschung quantifiziert werden.
10.6
Kommunizieren
Die Kommunikation im Testteam findet vorwiegend auf drei Ebenen statt: kation Dokumentation der Testprodukte: Teststrategie, Testkonzept, Testflle, Testberichte, Fehlerberichte usw. Review-Feedback zu geprften Dokumenten: Anforderungen, Funktionsspezifikationen, Feedback Anwendungsflle, Komponententestdokumentation usw. gsflle, Sammeln und Verteilen von Informationen: Interaktion mit Entwicklern, anderen Testteammitgliedern, Management usw. Die Kommunikation muss immer professionell, objektiv und effektiv sein, damit das Testteam von anderen respektiert wird. Wenn Tester anderen Beteiligten Rckmeldungen, vor allem konstruktive deren Kritik, zu deren Arbeitsergebnissen mitteilen, brauchen sie Fingerspitzengefhl und Objektivitt. Zweck der Kommunikation sollte immer sein, die Testziele zu erreichen und sowohl die Qualitt des erreichen Produkts zu verbessern als auch die der Prozesse fr die Produktion der Softwaresysteme. Tester kommunizieren mit einem breiten Personenkreis, wie Nutzern, Projektteammitgliedern, Management, externen Testgruppen und Kunden. Die Kommunikation muss fr die jeweiligen Adressaten effektiv n. sein. So kann beispielweise ein Bericht fr die Entwickler, der die wchentliche Menge der gefundenen Fehlern mit einem bestimmten Schweregrad aufzeigt, fr eine Managementprsentation auf Vorstandsebene zu detailliert und damit ungeeignet sein. rstandsebene
Version 2007
11. Referenzen
11.1
11.1.1
Standards
Nach Kapiteln
Folgende Kapitel verweisen auf Standards: erweisen Kapitel 2 BS 7925-2, IEEE 829, DO-178B/ED 178B/ED-12B Kapitel 3 IEEE 829, D0-178B/ED-12B 12B Kapitel 4 BS 7925-2 Kapitel 5 ISO 9126, BS 7925-2 Kapitel 6 IEEE 1028 Kapitel 7 IEEE 829, IEEE 1044, IEEE 1044.1. Kapitel 8 IEEE 829, IEEE 1028, IEEE 1044, IEEE 1044.1, BS 7925-2
11.1.2
Alphabetisch
Folgende alphabetisch aufgelisteten Standards werden in den angegebenen Kapiteln erwhnt: [BS 7925-2] BS 7925-2 (1998) Software Component Testing 2 Kapitel 2 und 4 [IEEE 829] IEEE Std 829 (1998) IEEE Standard for Software Test Documentation Kapitel 2, 3, 7 und 8 [IEEE 1028] IEEE Std 1028 (1997) IEEE Standard for Software Reviews Kapitel 6 und 8 [IEEE 1044] IEEE Std 1044 (1993) IEEE Standard Classification for Software Anomalies Kapitel 7 und 8 [ISO 9126] ISO/IEC 9126-1:2001, Software Engineering Software Product Quality 1:2001, Kapitel 5 [ISTQB] ISTQB Glossary of terms used in Software Testing, Version 2.0, 2007 Fr die entsprechende deutschsprachige Fassung des Glossars, siehe bitte die Web ehe Web-Site des German Testing Boards ( www.german www.german-testing-board.info ).
Version 2007
[RTCA DO-178B/ED-12B]: Software Considerations in Airborne systems and Equipment 12B]: certification, RTCA/EUROCAE ED12B.1992. UROCAE Kapitel 2 und 3
11.2
Literatur
[Beizer95] Beizer Boris, Black-box testing, John Wiley & Sons, 1995, ISBN 0 box 0-471-12094 12094-4 [Black02] Rex Black, Managing the Testing Process (2nd edition), John Wiley & Sons: New Yo York, 2002, ISBN 0-471-22398-0 [Black03] Rex Black, Critical Testing Processes, Addison Addison-Wesley, 2003, ISBN 0-201-74868 74868-1 [Black07] Rex Black, Pragmatic Software Testing, John Wiley and Sons, 2007, , ISBN 978-0-470-12790-2 [Burnstein03] Ilene Burnstein, Practical Software Testing, Springer, 2003, ISBN 0 ractical 0-387-95131-8 [Buwalda01] Hans Buwalda, Integrated Test Design and Automation Addison Wesley Longman, Addison-Wesley 2001, ISBN 0-201-73725-6 [Copeland03] Lee Copeland, A Practitioner's Guide to Software Test Design, Artech House, 2003, Artech ISBN 1-58053-791-X [Craig02] Craig, Rick David; Jaskiel, Stefan P., Systematic Software Testing, Artech House, 2002, ISBN 1-580-53508-9 [Gerrard02] Paul Gerrard, Neil Thompson, Risk Risk-based e-business testing, Artech House, 2002, ISBN business 1-580-53314-0 [Gilb93] Gilb Tom, Graham Dorothy, Software inspection, Addison Addison-Wesley, 1993, ISBN 0-201-63181-4 [Graham07] Dorothy Graham, Erik van Veenendaal, Isabel Evans, Rex Black Foundations of Software Testing, Thomson Learning, 2007, ISBN 978 978-1-84480-355-2 [Grochmann94] M. Grochmann (1994), Test case design using Classification Trees, in: conference proceeedings STAR 1994 [Jorgensen02] Paul C.Jorgensen, Software Testing, a Craftsmans Approach second edition, CRC press, 2002, ISBN 0-8493-0809 9-7 [Kaner02] Cem Kaner, James Bach, Bret Pettichord; Lessons Learned in Software Testing; Wiley, 2002, ISBN: 0-471-08112-4 [Koomen99] Tim Koomen, Martin Pol, Test Process Improvement, Addison Addison-Wesley, 1999, y, ISBN 0-201-59624-5 [Myers79] Glenford J.Myers, The Art of Software Testing, John Wiley & Sons, 1979, ers, ISBN 0-471-46912-2 [Pol02] Martin Pol, Ruud Teunissen, Erik van Veenendaal, Software Testing: A Guide to the Tmap Approach, Addison-Wesley, 2002, ISBN 0 Wesley, 0-201-74571-2 [Splaine01] Steven Splaine, Stefan P.,Jaskiel, The Web Testing Handbook, STQE Publishing, 2001, , Web-Testing ISBN 0-970-43630-0 [Stamatis95] D.H. Stamatis, Failure Mode and Effect Analysis, ASQC Quality Press, 1995, ISBN 0-873-89300 [vanVeenendaal02] van Veenendaal Erik, The Testing Practitioner, UTN Publsihing, 2002, Practitioner, ISBN 90-72194-65-9
Version 2007
[Whittaker03] James Whittaker, How to Break Software, Addison Addison-Wesley, 2003, ISBN 0-201-79619-8 [Whittaker04] James Whittaker and Herbert Thompson, How to Break Software Security, Peason / Addison-Wesley, 2004, ISBN 0-321-19433-0
Version 2007
11.3
Sonstige Referenzen
Die folgenden Referenzen verweisen auf Informationen im Internet. Die Referenzen wurden zum Zeitpunkt der Verffentlichung dieses Advanced Level Lehrplans vom ISTQB geprft, das ISTQB kann aber keine Verantwortung fr ihre Verfgbarkeit bernehmen. , Kapitel 5 www.testingstandards.co.uk Kapitel 8 TMMi www.tmmifoundation.org Weitere www.sei.cmu.edu/cmmi/adoption/pdf/cmmi-overview06.pdf www.sei.cmu.edu/cmmi/adoption/pdf/cmmi Bug Taxonomy: www.testingeducation.org/a/bsct2.pdf Sample Bug Taxonomy based on Boris Beizers work: inet.uni2.dk/~vinter/bugtaxst.doc inet.uni2.dk/~vinter/bugtaxst.doc Gute bersicht ber verschiedene Taxonomien: testingeducation.org/a/bugtax.pdf Heuristic Risk-Based Testing von James Bach. James Bach, Interview auf What is Based Testing.com. www.whatistesting.com/interviews/jbach.htm www.satisfice.com/articles/et-article.pdf www.satisfice.com/articles/et From Exploratory & Risk Risk-Based Testing (2004) www.testingeducation.org Exploring Exploratory Testing, Cem Kaner and Andy Tikam, 2003 Pettichord, Bret, An Exploratory Testing Workshop Report, www.testingcraft.com/exploratorypettichord
Version 2007
Version 2007
Dieser Advanced Level Lehrplan des Aufbaukurses setzt die Kenntnis des Inhalts des Lehrplans des Grundkurses (ISTQB Certified Tester Foundation Level, Version 2005) voraus, mit der im erwhnten Grundkurs-Lehrplan festgelegten Wissensstufe. Lehrplan Vom ISTQB anerkannte Prfungsinstitutionen knnen Prfungsfragen aus allen Themen dieses QB Lehrplans erarbeiten. Es wird empfohlen, dass die Prfungsfragen unterschiedlich gewertet werden, je nach den Lernzielen des entsprechenden Themas. Beispiel: Einer Prfungsfrage der kognitiven Ebene K1 werden weniger Prfungsfrage Punkte zugeordnet als einer der kognitiven Ebene K3, eine Prfungsfrage der Ebene K4 bekme mehr Punkte.
13.2
Fr die Zertifizierung als ISTQB Certified Tester Advanced Level mssen die Prfungskandidaten ertifizierung das Zertifikat ISTQB Certified Tester Foundation Level vorweisen und der fr sie zustndigen Prfungsinstitution nachweisen, dass sie ausreichend praktische Erfahrung haben, um als fr die haben, Aufbaustufe (Advanced Level) qualifiziert zu gelten. Bitte wenden Sie sich an die fr Sie zustndige Prfungsinstitution, um die spezifischen Kriterien zum Nachweis der notwendigen praktischen 5 Erfahrung zu erfahren . Um ein angemessen Knnen fr den Advanced Level-Status im Berufsfeld angemessenes Status Softwaretesten zu erreichen, wird von den Prfungskandidaten mehr verlangt als nur die Inhalte dieses Lehrplans zu kennen. Prfungskandidaten und Ausbildungsanbieter sollten mehr Zeit als in diesem Lehrplan angegeben aufbringen, um sich mit der Thematik zu beschftigen, sei es durch plan Lesen oder Recherche. Dieser Lehrplan enthlt eine Liste der Referenzen, Bcher und Standards, die als zustzliche Lektre fr Prfungskandidaten und Ausbildungsanbieter gedacht sind, damit sie die Themen des Lehrplans gedacht detaillierter verstehen.
Fr mgliche Aktualisierungen siehe bitte die Web ite des German Testing Boards (www.german ehe Web-Site (www.germantesting-board.info) Version 2007 Seite 126 von 136 Januar 2010 20100131
International Software Testing Qualifications Board
Dieser Lehrplan enthlt die Inhalte der drei f folgenden Module: 1. Advanced Level Testmanager 2. Advanced Level Test Analyst 3. Advanced Level Technical Test Analyst Mit Bestehen der Prfungen zu allen drei Modulen ist der Prfungskandidat zertifiziert als Full Advanced Level Testing Professional.
14.2
14.2.1
Ausbildungszeiten szeiten
Ausbildung je Modul
Der Unterricht in jeder der 3 unterschiedlichen Rollen sollte die folgende Zeit dauern: 1. Advanced Level Testmanager 5 Tage 2. Advanced Level Test Analyst 5 Tage 3. Advanced Level Technical Test Analyst 5 Tage Die Kursdauer basiert auf der Anzahl der Kapitel je Modul und den spezifischen Lernzielen des jeweiligen Kapitels. Die minimale Zeitdauer je Kapitel und Rolle ist festgelegt. Ausbildungsanbieter knnen mehr als die angegebene Zeit ansetzen, und die Kandidaten knnen darber hinaus zustzliche Zeit fr Studium und Recherche aufwenden. Das Kursprogramm muss die Reihenfolge der Kapitel in diesem Lehrplan nicht einhalten. Die Kurse mssen nicht an aufeinander folgenden Tagen stattfinden. Es ist den Ausbildungsanbietern freigestellt, ihre Kurse anders zu organisieren, beispielsweise 3 + 2 Tage fr Testmanager, oder 2 re gemeinsame Tage gefolgt von jeweils 3 Tagen fr Test Analysts und Technical Test Analysts.
14.2.2
Gemeinsamkeiten
Ausbildungsanbieter knnen sich entscheiden, gemeinsame Themen nur einmal zu vermitteln, um so die Gesamtdauer zu verringern und Wiederholungen zu vermeiden. Die Ausbildungsanbieter werden aber darauf hingewiesen, dass dasselbe Thema manchmal aus unterschiedlichen Perspektiven zu betrachten ist, je nach Kursmodul.
14.2.3
Quellen
Der Lehrplan enthlt Referenzen auf gngige Standards, die fr die Vorbereitung der Kursmaterialien zu verwenden sind. Jeder Standard muss dabei in der im Lehrplan referenzierten Version verwendet werden. Weitere Publikationen, Vorlagen oder Standards, die in diesem Lehrplan nicht angegeben die sind, knnen verwendet und referenziert werden, sind aber nicht Gegenstand der Prfung.
14.3
Praktische bungen
Praktische Arbeiten (kurze bungen) sollten bei allen Lerninhalten eingesetzt werden, bei denen die Kandidaten ihr Wissen anwenden sollen (Lernziele der Ebene K3 oder hher). Die Kursvortrge und
Version 2007
bungen sollten auf den Lernzielen dieses Lehrplans sowie auf den im Lehrplan enthaltenen Beschreibungen der einzelnen Themen basieren.
Version 2007
15.1
Beim Implementieren von Tests in einer industriellen Umgebung sind Tester mit verschiedenen Herausforderungen konfrontiert. Fortgeschrittene Tester sollten die verschiedenen Empfehlungen dieses Lehrplans im Kontext ihrer eigenen Organisation, Teams, Aufgaben und Softwarekomponenten anwenden knnen. Die folgende Liste beschreibt Aspekte, die sich bei der Durchfhrung von Testaufgaben immer wieder negativ ausgewirkt haben. Die Liste erhebt keinen Anspruch auf Vollstndigkeit. Testkonzepte werden mit dem Schwerpunkt auf funktionalen Tests erstellt. onzepte Fehlerzustnde sind nicht auf funktionale Aspekte beschrnkt, oder auf einen einzelnen Nutzer. Die Interaktion von mehreren Nutzern kann sich auf die zu prfende Software auswirken. Konfiguration wird nicht ausreichend getestet. guration Wenn mehrere Arten von Prozessoren, Betriebssystemen, virtuellen Maschinen, Browsern und diversen Peripheriegerten zu vielen unterschiedlichen Konfigurationen kombiniert werden knnen, knnen viele potenzielle Fehlerzustnde unentdeckt bleiben, wenn das Fehlerzustnde Testen auf einige wenige Konfigurationen begrenzt wird. Stress- und Lasttests werden auf den letzten Moment verschoben. Die Ergebnisse der Stress und Lasttests knnen groe nderungen in der Software Stresserforderlich machen (bis hin zur Grundarchitektur). Da dafr mglicherweise betrchtliche Ressourcen bentigt werden, kann es sich sehr negativ auf das Projekt auswirken, wenn die Tests erst kurz vor der geplanten Produktionseinfhrung erfolgen. Dokumentation wird nicht getestet. ht Nutzer erhalten Software und Dokumentation. Wenn die Dokumentation nicht zur Software passt, knnen die Nutzer das volle Potenzial der Software nicht ausschpfen, oder werden die Software mglicherweise gar nicht verwenden. Installationsprozedur wird nicht getestet. dur Installationsprozeduren, wie auch Backup und Wiederherstellungsprozeduren, werden nicht Backupoft durchgefhrt, sind aber kritischer als die Software. Wenn sich die Software nicht installieren lsst, wird sie berhaupt nicht verwendet. Es wird darauf bestanden, dass eine Testaufgabe vor Beginn der nchsten vollstndig abgeschlossen ist. Obwohl manche Softwarelebenszyklusmodelle die sequenzielle Durchfhrung der Aufgaben empfehlen, mssen in der Praxis oft einige Aufgaben (zumindest teilweise) gleichzeitig teilweise) ausgefhrt werden.
Version 2007
Risikobereiche werden nicht korrekt identifiziert. Bereiche, die als riskant eingestuft wurden, werden grndlicher getestet. Fr Bereiche, die nur wenig oder gar nicht getestet wurden, kann sich das Risiko spter als hher herausstellen als als ursprnglich angenommen. Testeingaben und Testprozeduren werden zu genau spezifiziert. Lsst man Testern nicht gengend Freiraum fr eigene Initiative bei der Definition von Testeingaben und vorgehen, dann werden sie womglich vielversprechende Bereiche (mit vorgehen, mglicherweise vorhandenen, versteckten Fehlern) nicht nher untersuchen. Irrelevante Merkwrdigkeiten (Nebeneffekte) werden nicht bemerkt oder untersucht. Scheinbar irrelevante Beobachtungen oder Ergebnisse sind oft Hinweise auf mgliche Fehler, Hinweise die sich (wie Eisberge) unter der Oberflche verstecken. Es wird geprft, ob das Produkt tut, was es tun soll, aber nicht, ob es nicht tut, was es nicht tun soll. Wird nur getestet, was das Produkt knnen soll, werden mglicherweise Aspekte der Software mglicherweise bersehen, die sie nicht haben soll (beispielsweise zustzliche, unerwnschte Funktionen). Testsuiten sind nur fr ihre Eigentmer verstndlich. Wenn Tester zu anderen Zustndigkeitsbereichen wechseln, mssen andere Tester die spezifizierten Tests lesen und verstehen. Wenn keine nachvollziehbaren und verstndlichen ezifizierten Testspezifikationen vorhanden sind, kann sich das negativ auswirken. Testziele werden mglicherweise nicht verstanden, oder der Test wird ganz gestrichen. Es wird nur ber die fr die Nutzer sichtbare Schnittstelle getestet. Schnittstellen einer Software beschrnken sich nicht auf die Benutzerschnittstelle. Auch Kommunikation zwischen Prozessen, Batch Verarbeitung und andere Interrupts beeinflussen Batch-Verarbeitung die Software und knnen Fehlerwirkungen auslsen. nen Abweichungsberichte und Konfigurationsmanagement sind schlecht. Fehler-/Abweichungsmanagement und -berichte sowie das Konfigurationsmanagement sind /Abweichungsmanagement berichte auerordentlich wichtig fr den Erfolg des Gesamtprojekts (fr Entwicklung un Test). Die und Arbeit eines Testers ist dann erfolgreich, wenn gefundene Fehler korrigiert und behoben werden, nicht dann, wenn zwar viele Fehler gefunden, fr eine Korrektur aber nicht gut genug beschrieben werden. Es kommen nur Regressionstests hinzu. Testsuiten ber die Zeit zu entwickeln, beschrnkt sich nicht darauf zu prfen, ob tsuiten Regressionsfehler vorkommen. Der Programmcode wird sich im Laufe der Zeit weiterentwickeln, und es mssen zustzliche Tests implementiert werden, um diese neuen Funktionalitten abzudecken und mgliche Regressionen in anderen Bereichen der Software n zu prfen. Es werden keine Notizen fr kommende Testaufgaben gemacht. Die Testaufgaben sind nicht abgeschlossen, wenn die Software an die Nutzer bergeben wird oder auf den Markt kommt. Wahrscheinlich wird es eine neue Version oder Release geben, mt. deshalb sollte das entsprechende Wissen gesichert und an die Tester weitergegeben werden, die fr die nchsten Testaufgaben zustndig sind. Es wird versucht, Tests vollstndig zu automatisier automatisieren. Automatisierung kann sinnvoll erscheinen, ist aber ein eigenes Entwicklungsprojekt. Es sollten nicht alle Tests automatisiert werden, manche Tests lassen sich schneller manuell durchfhren als automatisieren. Es wird erwartet, dass alle manuellen Tes wiederholt werden. Tests Wenn die manuellen Tests wiederholt werden, ist es oft unrealistisch zu erwarten, dass alle wiederholt werden. Die Aufmerksamkeit der Tester wird schwanken, und sie werden sich, ob bewusst oder unbewusst, auf bestimmte Bereiche der S Software konzentrieren. Seite 130 von 136 Januar 2010 20100131
Version 2007
GUI-Automatisierungswerkzeuge werden eingesetzt, um die Testerstellungskosten zu Automatisierungswerkzeuge reduzieren. Ein GUI-Mitschnittwerkzeug Mitschnittwerkzeug (Capture/Replay-Werkzeug) (Capture/Replay Werkzeug) ist eine erhebliche Anfangsinvestition. Das Werkzeug sollte im Rahmen einer definierten Strategie eingesetzt und definierten alle damit verbundenen Kosten klar sein und bewertet werden. Es wird erwartet, dass Regressionstests einen hohen Anteil neuer Fehlerzustnde aufdecken. Regressionstests finden im Allgemeinen keinen hohen Anteil neuer Fehlerzust Fehlerzustnde, vor allem weil die Tests bereits einmal durchgefhrt wurden (beispielsweise bei einer frheren Version der Software). Die Fehlerzustnde sollten bereits zu diesem Zeitpunkt aufgedeckt worden sein. Das bedeutet nicht, dass Regressionstests ganz entfallen sollten. Ihre Effektivitt (die entfallen Fhigkeit neue Fehler zu finden) ist aber geringer als die anderer Testarten. Die Codeberdeckung begeistert allein wegen der schnen Zahlen. Codeberdeckungen und Metriken sind aus Sicht des Managements uerst interes interessant, weil sie Zahlen und Graphiken liefern. Zahlen sagen aber wenig aus ber Effektivitt oder Sachdienlichkeit eines Tests. Beispiel: 100% berdeckung ist zwar eine schne Zielsetzung berdeckung fr Codeberdeckung; ist dieses Ziel aber auch realistisch und geeignet (d.h., sollte es eine Anweisungs-, , eine BedingungsBedingungs oder eine modifizierte BedingungsBedingungs /Entscheidungsberdeckung sein)? berdeckung Tests werden aus einer Regressions Testsuite gestrichen, nur weil sie ein bestimmtes Regressions-Testsuite berdeckungsma nicht erhhen. In einer Regressions-Testsuite drfen (oder sollten) einige Tests gestrichen und andere Testsuite hinzugefgt werden. Die Entscheidung, bestimmte Tests zu streichen, sollte aber nicht nur davon abhngen, ob der Test ein einzelnes berdeckungsma erhht, weil der Testfall (oder die Art des Fehlers, die der Test aufdeckt) mglicherweise keinen Einfluss auf die betrachtete t Testberdeckung hat. Beispiel: Codeberdeckung ist nicht die einzige Art von berdeckung. Tests wurden mglicherweise aus anderen Grnden erstellt (beispielsweise fr spezifische Werte oder Ereignisketten). berdeckung dient als Kriterium fr die Leistung der Tester. berdeckungsgrad ist ein Ma fr die Vollstndigkeit, nicht fr Leistung oder Effizienz der Mitarbeiter. Fr die Bewertung der Testereffizienz im Kontext der Organisation oder des Projekts lassen sich andere Metriken definieren. Ihr Einsatz muss aber sehr sorgfltig berlegt werden, um unerwnschte, dysfunktionale Effekte zu vermeiden. Die berdeckung wird berhaupt nicht mehr gemessen. Es gibt unterschiedliche Arten von berdeckung (beispielsweise von Programmanweisungen, dliche Bedingungen, Modulen, Funktionen usw.), und der Arbeitsaufwand fr die Erhebung von geeigneten Metriken kann betrchtlich sein. Das ist aber kein Grund, auf berdeckungsmetriken ganz zu verzichten, weil sie fr die Testaufgabe sehr ntzlich sein knnen. Viele dieser Punkte werden in einzelnen Abschnitten dieses Lehrplans angesprochen. Wenn Testmanahmen und -praktiken in einem Unternehmen eingefhrt werden sollen, sollten nicht praktiken nur die oben aufgelisteten Punkte, sondern weitere Informationsquellen bercksichtigt werden, ben beispielsweise: Die ISTQB Lehrplne, Foundation und Advanced Level Im Kapitel Literatur dieses Lehrplans genannte Bcher Referenzmodelle, wie beispielsweise in Abschnitt 8.3 beschrieben. zmodelle,
Version 2007
16. Index
Abschluss der Testaktivitten ........................35 Abweichungen Kommunikation................................ ..........................................93 Metriken.....................................................93 ..................... Abweichungsmanagement ............................91 adaptive Wartung ................................ ..........................................83 Allgemeines Gleichbehandlungsgesetz (AGG) ........................................................76 ........................ Analysewerkzeuge statische und dynamische .......................113 nderbarkeit ..................................................83 .................. Anforderungen der Betroffenen .....................61 Anhang A Hintergrundinformationen zum Lehrplan ..................................................124 .................. Anhang B Hinweise fr die Leser .............125 Anhang C Hinweise ise fr die Ausbildungsanbieter ..........................10, 126 Anhang D Empfehlungen .........................128 Anomalie ........................................................91 ........................ Anpassbarkeitstests ................................ ......................................85 Anti-Diskriminierungsgesetze ........................77 Anwendungsprofil ................................ ..........................................74 quivalenzklassenbildung .............................64 quivalenzklassentest ................................ 65 ................................... Art des Risikos ...............................................44 ............... Audit...............................................................86 ............................... Ausbildungsanbieter ............................125, 126 Austauschbarkeitstests................................ 85 .................................. Automatisierung Kosten, Nutzen, Risiken ..........................106 Automatisierungssprachen ..........................108 Barrierefreiheit ...............................................77 ............... bentigte Hardware ................................ .......................................62 bentigte Werkzeuge................................ 61 ..................................... Benutzbarkeitstest ................................ .........................................74 betrieblicher Abnahmetest .............................74 Capability Maturity Model ..............................94 Capability Maturity Model Integration ............94 ability checklistenbasiert ................................ ..........................................69 CMMI ...........................................................103 ........................... CTP.................................................. ..................98, 99, 102 Datenflussanalyse ................................ .........................................64 definierter Bedingungstest .............................67 Disability Discrimination Acts.........................77 ......................... Dokumentvorlagen ................................ ........................................47 Version 2007 Dynamik im Testteam ................................ 117 ................................. dynamische Analyse ................................ ..................................... 72 fehlerhafte Zeiger aufdecken .................... 73 Speicherengpsse aufdecken .................. 72 Systemleistung analysieren ...................... 73 berdeckung ................................ ............................................ 68 bersicht................................ ................................................... 72 EE-Pfad ......................................................... 64 ......................... Effizienztest ................................ ................................................... 74 Effizienztestspezifikation ............................... 83 einfacher Bedingungstest ............................. 67 Empfehlungen fr die Industrialisierung ..... 128 Entscheidungstabellen ................................ 65 .................................. Entscheidungsberdeckungstest .................. 67 berdeckungstest erfahrungsbasierte Testverfahren ................. 68 Erwartungen ................................ .................................................. 11 ethische Leitlinien ................................ ......................................... 34 explorativ ....................................................... 70 ....................... falsch positiv ................................ ............................................... 113 FDA ............................................................... 97 ............................... Fehler- und Abweichungsmanagement ........ 91 Fehlerangriff ................................ ............................................ 64, 70 fehlerbasierte Testverfahren ......................... 68 fehlerhafter Zeiger................................ ......................................... 64 Fehlerinjektions-Werkzeug ......................... 112 Fehlerlebenszyklus ................................ ....................................... 91 Fehler-Lebenszyklus Abweichungsfelder ................................ 92 ................................... Schritt 1: Erkennen ................................ 92 ................................... Schritt 2: Untersuchen .............................. 92 Schritt 3: Manahmen .............................. 92 Schritt 4: Schlieen ................................ 92 .................................. Fehlertaxonomie ................................ ........................................... 64 Fehlerzustand aufdecken ................................ ................................................. 91 FMEA ............................................................ 44 ............................ Anwendungsbereiche ............................... 58 Beschreibung ................................ ............................................ 58 Durchfhrung ................................ ............................................ 58 Kosten und Nutzen ................................ 58 ................................... FMEA (Fehler-Mglichkeits- und Einfluss EinflussAnalyse) .................................................... 58 .................... Funktionsinteraktionstest .............................. 30 Geschftswert des Testens .......................... 51 Grenzwertanalyse ................................ ......................................... 65 Januar 2010 20100131
International Software Testing Qualifications Board
grundlegende Aspekte Ethik-Kodex ...............................................34 ............... ethische Leitlinien ................................ ......................................34 Messung ....................................................33 .................... Metrik .........................................................33 ......................... Multisysteme ................................ .............................................31 sicherheitskritische Systeme .....................32 Software-Lebenszyklus .............................29 Gutachten und Befragungen .........................77 Hardware-Software Integrationstest ..............30 heuristische Evaluation............................74, 77 HSIA ..............................................................97 .............................. individuelle Fhigkeiten ...............................116 informelles Review ................................ ........................................86 Insourcing ......................................................51 ...................... Inspektion ......................................................86 ...................... Internationale Standards ...............................95 Interoperabilittstest ................................ ......................................74 intuitive Testfallermittlung ........................64, 69 ISO 9126........................................................38 ........................ Analysierbarkeit ................................ .........................................83 nderbarkeit ................................ ..............................................83 Portabilittstest ................................ ..........................................84 Klassifikationsbaumverfahren .................64, 66 Koexistenz .....................................................84 ..................... Kommunikationsaspekte ...............................62 Kommunizieren ................................ ............................................119 komplexe Systeme ................................ ........................................33 Konformitt ....................................................32 .................... Kontrollflussanalyse ................................ .......................................64 LCSAJ............................................................64 ............................ LCSAJ (Schleifentest) ................................ 67 ................................... Lebenszyklus agile Methoden ................................ 29, 30 .................................... evolutionre Methoden ..............................30 evolutionres Modell ................................ 29 ................................. iterativ ........................................................29 ........................ RAD .....................................................29, 30 ..................... Rapid Application Development ..........29, 30 V-Modell ....................................................29 .................... Wasserfall..................................................29 .................. Leiter einer Inspektion ................................ 86 ................................... Lernziele Technical Test Analysts ............................25 Test Analysts ................................ .............................................21 Testmanager ................................ .............................................14 Management-Review................................ 86 ..................................... Mastertestkonzept ................................ 44, 46 ................................... Mean Time Between Failures ........................80 Mean Time to Repair ................................ 80 ..................................... Version 2007
Mehrfachbedingungsberdeckungstest ........ 67 berdeckungstest metrics external (ISO 9126) ................................ 95 .................................. internal (ISO 9126) ................................ 95 ................................... quality ....................................................... 95 ....................... Metriken Abweichungen ................................ .......................................... 93 STEP ...................................................... 103 ...................... TPI .......................................................... 102 .......................... Metriken und Abweichungsmanagement Abweichungsmanagement...... 93 Metriken und Messung................................ 33 .................................. Moderator ...................................................... 86 ...................... Motivieren ................................................... 118 ................... MTBF ............................................................ 80 ............................ MTTR ............................................................ 80 ............................ Multisysteme ................................ ..................................... 31, 33, 60 Management und Testen.......................... 31 .......................... Merkmale ................................ .................................................. 32 Normen und Standards ................................ 94 ................................. organisatorische Aspekte ............................. 62 orthogonale Arrays ................................ ........................................ 66 Outsourcing ................................ ................................................... 51 paarweises Testen ................................ ........................................ 66 Pfadberdeckungstest ................................ 68 .................................. Phasentestplan ................................ ............................................. 44 Portabilittstest ................................ ............................................. 74 Produktintegrationstest beim Kunden ........... 30 Produktrisiko ................................ ................................................. 44 Projektrisiko ................................ .................................................. 44 Projekttestkonzept ................................ ........................................ 44 Prozessverbesserung Einfhrung ................................ ................................................ 98 mit TMM .................................................. 100 .................. Modelltypen ................................ .............................................. 99 Prfer ............................................................ 86 ............................ Prfungsinstitutionen ................................ 125 .................................. Prfungskandidaten ................................ 125 .................................... Qualittsmerkmale bei fachlichen Tests ................................ 74 .................................. Qualittsmerkmale bei technischen Tests .... 78 redundante Systeme ................................ ..................................... 81 Referenzen ................................ ................................................. 120 Literatur................................................... 121 ................... sonstige .................................................. 123 .................. Standards ................................ ............................................... 120 Reliablity Growth Model ................................ 80 Reviews ........................................................ 86 ........................ Arten ......................................................... 87 ......................... Audit.......................................................... 87 .......................... Einfhrung ................................ ................................................ 88 Januar 2010 20100131
Erfolgsfaktoren ................................ ..........................................89 formale Reviews ................................ ........................................88 Grundstze ................................................86 ................ Management-Review ................................87 technische .................................................86 ................. von bestimmten Arbeitsergebnissen .........88 Risikoanalyse ..........................................44, 54 .......... Risikobeherrschung ................................ .......................................55 Risikobeherrschung bzw. -steuerung ............44 steuerung Risikoidentifikation ................................ .........................................53 Risikoidentifizierung ................................ .......................................44 Risikomanagement ................................ 44, 53 .................................. Risikomanagement im Lebenszyklus ............57 risikoorientierter Test ................................ 44 ..................................... Risikoorientiertes Testen ...............................52 Risikostufe .....................................................44 ..................... Risikotyp ........................................................44 ........................ SBTM .......................................................39, 59 ....................... SCCFA...........................................................97 ........................... schlsselwortgetriebener Test .....................105 Section 508 ....................................................77 .................... Session Sheet ...............................................59 ............... session-based Testmanagement ..................44 SFMEA ..........................................................33 .......................... SFMECA ........................................................97 ........................ SFTA..............................................................97 .............................. Sicherheit der Daten ................................ ......................................62 sicherheitskritische Systeme .........................32 Komplexitt................................................33 ................ Konformitt ................................................60 ................ Sicherheitstest ...............................................74 ............... soziale Kompetenz ................................ ......................................116 Speicherengpass ................................ ...........................................64 spezifikationsorientierteTestverfahren ...........64 spezifische Systeme ................................ ......................................31 SQR ...............................................................98 ............................... SRET .............................................................80 ............................. Stabilitt .........................................................83 ......................... Standards allgemeine Aspekte ................................ 95 ................................... alphabetisch ................................ ............................................120 Avionik .......................................................96 ....................... branchenspezifische ................................ 96 ................................. BS 7925...............................................35, 64 ............... BS-7925-2 ..................................... .....41, 77, 96 CMM ..........................................................94 .......................... CMMI .........................................................94 ......................... CTP ...........................................................98 ........................... DO-178B .............................................39, 96 ............. ECSS .........................................................97 ......................... Version 2007
ED-12B ............................................... 39, 96 ............... FAA DO-178B/ED-12B ............................. 56 IEC 61508 ................................ ................................................. 56 IEEE.......................................................... 96 .......................... IEEE 1028................................ ........................................... 86, 96 IEEE 1044................................ ..................................... 91, 92, 96 IEEE 610................................ ................................................... 96 IEEE 829........................... 35, 38, 40, 91, 96 im Testverbesserungs-Prozess ................ 94 Prozess Internationale ................................ ............................................ 95 ISO ............................................................ 95 ............................ ISO 12207................................ ................................................. 95 ISO 15504................................ ................................................. 96 ISO 9126................................ ................................................... 83 Konsistenz und Konflikte .......................... 95 nach Kapiteln ................................ .......................................... 120 nationale ................................ ................................................... 96 Ntzlichkeit ................................ ............................................... 95 Quellen ..................................................... 95 ..................... Raumfahrt ................................ ................................................. 97 sonstige .................................................... 97 .................... STEP ........................................................ 98 ........................ TMM.......................................................... 94 .......................... TMMi ................................................... 94, 98 ................... TPI ...................................................... 94, 98 ...................... UML .......................................................... 77 .......................... statische Analyse Aufrufgraphen ................................ ........................................... 72 Datenflussanalyse ................................ 71 .................................... der Softwarearchitektur ............................ 71 des Programmcodes ................................ 71 einer Webseite ................................ .......................................... 71 Erzeugung von Codemetriken .................. 71 Konformitt mit Programmierkonventionen ............................................................. 71 ............................. Kontrollflussanalyse ................................ 71 .................................. STEP ............................................... 98, 99, 103 ............... strukturorientierte Testverfahren ................... 66 Stufentestkonzept ................................ 44, 47 ................................... SUMI ............................................................. 77 ............................. SUMI (Software Usability Measurement y Inventory) ................................ .................................................. 74 Systemintegrationstest................................ 30 .................................. Systemtest .................................................... 78 .................... Taxonomien ................................ .................................................. 69 Teamzusammensetzung ............................ 116 Test auf Richtigkeit ................................ ....................................... 74 Test der Softwareeigenschaften ................... 74 Analysierbarkeit ................................ ........................................ 83 Angemessenheit ................................ ....................................... 75 Januar 2010 20100131
Anpassbarkeitstest ................................ 85 .................................... Austauschbarkeitstest ...............................85 Benutzbarkeitstest ................................ 75 ..................................... Benutzbarkeitstests spezifizieren ..............76 dynamischer Wartbarkeitstest ...................83 Effizienztest ...............................................81 ............... funktionaler Sicherheitstest .......................75 Installierbarkeitstest ................................ 84 .................................. Interoperabilittstest ................................ 75 .................................. Koexistenz .................................................84 ................. korrektive Wartung ................................ 83 .................................... Lasttest ......................................................82 ...................... Performanztest ................................ ..........................................82 Portabilittstest ................................ ..........................................84 Ressourcennutzung ................................ 82 .................................. Robustheitstest................................ ..........................................80 Sicherheitstestspezifikation .......................79 Skalierbarkeitstest ................................ 82 ..................................... Stresstest ..................................................82 .................. technischer Sicherheitstest .......................78 Test auf Richtigkeit ................................ 75 .................................... Wartbarkeitstest ................................ ........................................83 Wiederherstellbarkeitstest .........................80 Zugnglichkeitstest ................................ 77 ................................... Zuverlssigkeitstest ................................ 80 ................................... Test Maturity Model ................................ .......................................94 Test Maturity Model Integrated ......................94 Test Process Improvement............................94 ............................ Testaktivitten abschlieen .....................42, 49 Testausfhrungswerkzeug Mitschnitt-Werkzeug ................................111 Testausfhrungs-Werkzeug Capture/Replay ................................ .......................................111 Testautomatisierung schlsselwortgetriebene ..........................114 Testbarkeit .....................................................83 ..................... Testbedingungen ................................ ...........................................35 Testbedingungen identifizieren .....................37 Testbericht .....................................................35 ..................... Test-Charta ..............................................59, 64 .............. Testdurchfhrung ................................ ..........................................35 Testen im Softwarelebenszyklus ...................29 Testen in der Organisationsstruktur etablieren.................................................117 ................. Testendekriterien ................................ ...........................................35 Testendekriterien auswerten, Berichte ..........41 tendekriterien Testentwurf ....................................................35 .................... Testfall ...........................................................35 ........................... Testkonzepte Dokumentvorlagen ................................ 47 .................................... Version 2007
Geschftswert ................................ ........................................... 51 risikoorientiertes Testen ........................... 52 Testfortschrittsberwachung und -steuerung ............................................................. 49 ............................. Testschtzung ................................ .......................................... 47 Verteiltes Testen, Outsourcing und Insourcing ................................ ............................................. 51 zeitliche Testplanung ................................ 49 Testmanagement ................................ .......................................... 44 bei ............................................................. 60 ............................. bei Multisystemen ................................ ..................................... 60 beim .......................................................... 59 .......................... Besonderheiten ................................ ........................................ 59 Dokumentation ................................ ......................................... 44 Mastertestkonzept ................................ 46 .................................... session-based ................................ .......................................... 59 sonstige Besonderheiten .......................... 61 Stufentestkonzept ................................ ..................................... 47 Testrichtlinie ................................ ............................................. 44 Teststrategie ................................ ............................................. 45 Testmanagementwerkzeuge ...................... 110 Testorakel ................................................... 105 ................... Testorakel ................................................... 108 ................... Testorakel ................................................... 108 ................... Testplanung ................................ .................................................. 35 Testprotokoll ................................ ................................................. 35 Testprozess Analyse und -entwurf ................................ 36 Modelle ..................................................... 35 ..................... Planung und -steuerung ........................... 36 Testdurchfhrung ................................ ..................................... 39 Testrealisierung ................................ ........................................ 38 Testprozess verbessern................................ 99 ................................ Capability Maturity Model Integra Integration ..... 103 mit CTP ................................................... 102 ................... mit STEP................................ ................................................. 103 mit TPI .................................................... 101 .................... Testprozesse ................................ ................................................ 35 Testpunktanalyse (TPA) ............................... 44 Testrealisierung ................................ ............................................ 35 Testrealisierung und Testdurchfhrung ........ 38 Testrichtlinie ................................ .................................................. 44 Testrichtlinie ................................ .................................................. 44 Testschtzmethode................................ ....................................... 44 Testschtzung ................................ ............................................... 47 Testskript ...................................................... 35 ...................... Teststeuerung ................................ ......................................... 35, 44 Teststrategie ................................ ................................................. 45 Teststufe ....................................................... 44 ....................... Testszenario ................................ ................................................. 35 Januar 2010 20100131
Testberwachung ................................ ..........................................44 Testverbesserungs-Prozess ..........................98 Testverfahren (einfacher) Bedingungsberdeckungstest 64 anforderungsbasierter Test .......................64 Anweisungsberdeckungstest ..................64 anwendungsfallbasierter Test ...................64 dynamische Analyse ................................ 64 ................................. Entscheidungstabellentest ........................64 Entscheidungs-berdeckungstest ............64 berdeckungstest erfahrungsbasierte ..............................64, 68 exploratives Testen ................................ 64 ................................... fehlerbasierte................................ .......................................64, 68 Grenzwertanalyse ................................ 64 ..................................... Mehrfachbedingungs-berdeckungstest ..64 berdeckungstest Pfadberdeckungstest ..............................64 spezifikationsorientiert ...............................64 statische Analyse ................................64, 70 strukturbasierte................................ ..........................................64 zustandsbasierter Test ..............................64 Zweigtest ...................................................64 ................... Testverfahren ................................................64 ................ Testvorgehen .................................................35 ................. Testvorgehensweise ................................ ......................................44 Testvorgehensweise ................................ ......................................45 Testwerkzeug Analysewerkzeug ................................ 113 .................................... Automatisierungssprachen......................108 Debugging ...............................................112 ............... Emulator ..................................................113 .................. Fehleranalysewerkzeug ..........................112 Fehlereinpflanzung ................................ 112 .................................. Fehlerinjektion ................................ .........................................112 Hyperlink-Testwerkzeug ..........................115 Inbetriebnahme ................................ .......................................108 Integration und Informationsaustausch ...107 klassifizieren ................................ ............................................110 Konzepte .................................................105 ................. Mutationstest ................................ ...........................................112 Open Source ................................ ...........................................109 Performanztest ................................ ........................................114 selbst entwickeln ................................ 109 ..................................... Simulator .................................................113 ................. Skripte, Skriptsprache .............................108 Strategien ................................................107 ................ Testausfhrungswerkzeug ......................111 Testautomatisierung ................................114
.................................... Testmanagement................................ 110 Testwerkzeuge Kosten, Nutzen, Risiken ......................... 106 Testwerkzeuge und Automatisierung ......... 105 TIM ................................................................ 98 ................................ TMM ...................................................... 98, 100 ...................... TMMI ............................................................. 99 ............................. TOM .............................................................. 98 .............................. TPI................................................... 98, 99, 101 ................... Ursache-Wirkungs-Graph ............................. 65 verteiltes Testen................................ ............................................ 51 Walkthrough ................................ .................................................. 86 WAMMI ......................................................... 77 ......................... Wartbarkeitstest ................................ ............................................ 74 adaptive Wartung ................................ ..................................... 83 Analysierbarkeit ................................ ........................................ 83 nderbarkeit ................................ ............................................. 83 dynamisch................................ ................................................. 83 korrektive Wartung ................................ 83 ................................... Stabilitt .................................................... 83 .................... Testbarkeit ................................ ................................................ 83 Werkzeug Debuggingwerkzeug ............................... 105 dynamisches Analysewerkzeug ............. 105 Emulator ................................ ................................................. 105 Fehlereinpflanzungswerkzeug ................ 105 werkzeug Hyperlink-Werkzeug ............................... 105 Lasttestwerkzeug ................................ 105 .................................... Simulator................................ ................................................. 105 statischer Analysator .............................. 105 Testausfhrungswerkzeug ..................... 105 Testmanagementwerkzeug .................... 105 Wideband Delphi................................ ........................................... 44 Wiederherstellbarkeitstest ............................ 74 Backup- und Wiederherstellungstest ........ 80 Failover Test ................................ ............................................. 80 wilder Zeiger ................................ ................................................. 64 zeitliche Testplanung .............................. 44, 49 Ziele fr die Advanced Level Zertifizierung und Qualifizierung ................................ 124 ................................... Zugnglichkeitstest ................................ ....................................... 74 Zulassungsanforderungen .......................... 124 zustandsbasiertes Testen ............................. 65 Zuverlssigkeitstest ................................ ...................................... 74 Zuverlssigkeitstest-Spezifikation................. 81 Spezifikation Zuverlssigkeitswachstumsmodell ............... 74 Zweigberdeckungstest ................................ 67
Version 2007