O książce | 11 |
| |
1. Podstawy testowania | 13 |
| |
1.1. Konieczność testowania | 15 |
1.1.1. Wprowadzenie | 15 |
1.1.2. Kontekst systemów informatycznych | 15 |
1.1.3. Przyczyny usterek w oprogramowaniu | 16 |
1.1.4. Rola testowania w rozwoju, utrzymaniu i użytkowaniu oprogramowania | 18 |
1.1.5. Testowanie a jakość | 19 |
1.1.6. Jak dużo testowania jest potrzebne | 19 |
1.2. Czym jest testowanie | 20 |
1.3. Ogólne zasady testowania | 23 |
1.3.1. Zasada 1 – testowanie ujawnia usterki | 23 |
1.3.2. Zasada 2 – testowanie gruntowne jest niewykonalne | 24 |
1.3.3. Zasada 3 – wczesne testowanie | 24 |
1.3.4. Zasada 4 – kumulowanie się błędów | 25 |
1.3.5. Zasada 5 – paradoks pestycydów | 25 |
1.3.6. Zasada 6 – testowanie zależy od kontekstu | 25 |
1.3.7. Zasada 7 – mylne przekonanie o braku błędów | 26 |
1.4. Podstawowy proces testowy | 26 |
1.4.1. Wprowadzenie | 26 |
1.4.2. Planowanie i nadzór nad testami | 27 |
1.4.3. Analiza i projektowanie testów | 29 |
1.4.4. Implementacja i wykonanie testów | 31 |
1.4.5. Ocena spełnienia kryteriów zakończenia i raportowanie | 33 |
1.4.6. Czynności zamykające testy | 33 |
1.5. Psychologia testowania | 34 |
1.6. Przykładowe pytania | 36 |
| |
2. Testowanie w cyklu życia oprogramowania | 41 |
| |
2.1. Modele wytwarzania oprogramowania | 43 |
2.1.1. Wprowadzenie | 43 |
2.1.2. Modele sekwencyjne | 44 |
2.1.3. Modele iteracyjno-przyrostowe | 46 |
2.1.4. Testowanie w cyklu życia oprogramowania | 49 |
2.2. Poziomy testów | 50 |
2.2.1. Wprowadzenie | 50 |
2.2.2. Testy modułowe | 52 |
2.2.3. Testy integracyjne | 54 |
2.2.4. Testy systemowe | 56 |
2.2.5. Testy akceptacyjne | 59 |
2.3. Typy testów | 62 |
2.3.1. Wprowadzenie | 62 |
2.3.2. Testowanie funkcji (testowanie funkcjonalne) | 63 |
2.3.3. Testowanie atrybutów niefunkcjonalnych (testowanie niefunkcjonalne) | 65 |
2.3.4. Testowanie struktury/architektury oprogramowania (testowanie strukturalne) | 68 |
2.3.5. Testowanie związane ze zmianami (testowanie potwierdzające oraz regresywne) | 69 |
2.4. Testowanie pielęgnacyjne | 72 |
2.5. Przykładowe pytania | 73 |
| |
3. Statyczne techniki testowania | 77 |
| |
3.1. Techniki statyczne a proces testowania | 79 |
3.2. Proces przeglądu | 81 |
3.2.1. Wprowadzenie | 81 |
3.2.2. Kroki przeglądu formalnego | 82 |
3.2.3. Role i odpowiedzialność | 83 |
3.2.4. Typy przeglądów | 84 |
3.2.5. Czynniki wpływające na powodzenie przeglądów | 86 |
3.3. Analiza statyczna za pomocą narzędzi | 87 |
3.4. Przykładowe pytania | 89 |
| |
4. Techniki projektowania testów | 93 |
| |
4.1. Proces rozwoju testów | 95 |
4.2. Kategorie technik projektowania testów | 101 |
4.3. Techniki oparte na specyfikacji lub czarnoskrzynkowe | 102 |
4.3.1. Podział na klasy równoważności | 102 |
4.3.2. Analiza wartości brzegowych | 104 |
4.3.3. Testowanie na podstawie tablicy decyzyjnej | 105 |
4.3.4. Testowanie przejść między stanami | 108 |
4.3.5. Testowanie na podstawie przypadków użycia | 111 |
4.4. Techniki oparte na strukturze lub białoskrzynkowe | 114 |
4.4.1. Wprowadzenie | 114 |
4.4.2. Testowanie i pokrycie instrukcji | 117 |
4.4.3. Testowanie i pokrycie decyzji | 119 |
4.4.4. Inne techniki oparte na strukturze | 122 |
4.5. Techniki oparte na doświadczeniu | 123 |
4.6. Wybór technik testowania | 125 |
4.7. Przykładowe pytania | 126 |
| |
5. Zarządzanie testowaniem | 137 |
| |
5.1. Organizacja testów | 139 |
5.1.1. Wprowadzenie | 139 |
5.1.2. Organizacja testów a ich niezależność | 139 |
5.1.3. Zadania lidera testów oraz testera | 140 |
5.2. Planowanie i szacowanie testów | 143 |
5.2.1. Wprowadzenie | 143 |
5.2.2. Planowanie testów | 143 |
5.2.3. Szacowanie testów | 150 |
5.2.4. Podejście do testowania, strategia testowania | 153 |
5.3. Monitorowanie postępu testów i nadzór | 156 |
5.3.1. Monitorowanie postępu testów | 156 |
5.3.2. Raportowanie testów | 158 |
5.3.3. Kierowanie testami (nadzór nad testami) | 160 |
5.4. Zarządzanie konfiguracją | 161 |
5.5. Ryzyko a testowanie | 163 |
5.5.1. Wprowadzenie | 163 |
5.5.2. Ryzyko projektowe a produktowe | 163 |
5.5.3. Testowanie oparte na ryzyku | 165 |
5.6. Zarządzanie incydentami | 168 |
5.7. Przykładowe pytania | 171 |
| |
6. Testowanie wspierane narzędziami | 179 |
| |
6.1. Typy narzędzi testowych | 181 |
6.1.1. Cel wsparcia narzędziowego dla testów | 181 |
6.1.2. Klasyfikacja narzędzi testowych | 182 |
6.1.3. Wsparcie narzędziowe dla zarządzania testowaniem i testami | 182 |
6.1.4. Wsparcie narzędziowe dla testów statycznych | 184 |
6.1.5. Wsparcie narzędziowe dla specyfikacji testów | 185 |
6.1.6. Wsparcie narzędziowe dla wykonania testów oraz logowania | 186 |
6.1.7. Wsparcie narzędziowe dla wydajności i monitorowania | 187 |
6.1.8. Porównanie typów narzędzi testowych | 188 |
6.1.9. Wsparcie narzędziowe dla różnych obszarów zastosowań | 190 |
6.2. Skuteczne użycie narzędzi, potencjalne korzyści i ryzyko | 191 |
6.3. Wdrażanie narzędzi w organizacji | 195 |
6.4. Przykładowe pytania | 197 |
| |
Literatura | 201 |
Spis rysunków | 203 |
Spis tabel | 204 |
Spis definicji | 205 |
Spis przykładów | 208 |
Spis pytań | 208 |
| |