Podstawy testowania Flashcards
Ogólne cele testowania
Ocena jakości oprogramowania i zmniejszenie ryzyka wystąpienia awarii
Czynności testowe
- Planowanie
- Analiza
- Monitorowanie testów i nadzór nad testami
- Planowanie i implementacja testów
- Raportowanie o postępie i wynikach testów
- Dokonywanie oceny jakości przedmiotu testów
Testowanie statyczne
Wykonywanie testów bez uruchamiania testowanego obiektu, obejmuje również przeglądy produktów pracy takich jak: wymagania, historyjki użytkownika i kod źródłowy
Testowanie dynamiczne
Wymaga uruchomienia testowanego modułu lub systemu
Weryfikacja
Sprawdzenie czy przedmiot testów jest zgodny z wymaganiami, historyjkami użytkownika oraz innymi formami weryfikacji
Walidacja
Sprawdzenie czy system odpowiada na potrzeby użytkowników oraz innych interesariuszy
Debugowanie
Czynność związana z wytwarzaniem oprogramowania polegająca na znajdowaniu, analizowaniu i usuwaniu defektów.
Typowe cele testowania
- zapobieganie defektom poprzez dokonywanie oceny produktów pracy takich jak: wymagania, historyjki użytkownika, projekt, kod
- weryfikacja
- walidacja
- sprawdzanie kompletności przedmiotu testów
- budowanie zaufania do poziomu jakości produktu
- wykrywanie defektów i awarii, zmniejszanie ryzyka związanego z niedostateczną jakością oprogramowania
- dostarczanie interesariuszom informacji niezbędnych do podejmowania świadomych decyzji
- przestrzeganie wymagań wynikających z umów, przepisów prawa i norm/standardów oraz sprawdzenie czy przedmiot testów jest z nimi zgodny
Dlaczego testowanie jest niezbędne?
Testowanie zmniejsza ryzyko wystąpienia awarii, podnosi jakość modułów lub systemów, może być niezbędne do spełnienia wymagań wynikających z umów, przepisów prawa lub norm/standardów
Testowanie, a zapewnienie jakości
Zapewnienie jakości skupia się na realizowaniu właściwych procesów w celu uzyskania pewności, że zostaną osiągnięte odpowiednie poziomy jakości. Działania związanie z zapewnieniem jakości wspomagają prawidłowe testowanie. Jest innym procesem niż testowanie, ale obydwa zawierają się w tzw. zarządzaniu jakością.
Jak testowanie przyczynia się do podnoszenia jakości
.
Pomyłka
Błąd człowieka w kodzie oprogramowania lub innym produkcie pracy skutkująca wprowadzeniem defektu do oprogramowania.
Przyczyny:
- presja czasu
- omylność człowieka
- brak doświadczenia lub umiejętności
- problemy z komunikacją w zespole
- złożoność kodu, projektu, architektury, problemy lub technologii
- nieporozumienia dotyczące interfejsów wewnątrz systemów lub pomiędzy systemami
- nowe, nieznane technologie
Defekt
Skutek pomyłki, który może doprowadzić do powstania awarii podczas wykonywania kodu.
Awaria
Awarie powstają w uruchomionym oprogramowaniu na skutek defektów, ale również mogą być spowodowane warunkami środowiskowymi np. promieniowanie, pole elektromagnetyczne lub zanieczyszczenie środowiska
Przyczyna podstawowa
Przyczyna podstawowa defektu to najwcześniejsze czynności lub warunki, które przyczyniły się powstania defektu
Siedem zasad testowania
- Testowanie ujawnia usterki, ale nie może dowieść ich braku
- Testowanie gruntowne jest niemożliwe.
- Wczesne testowanie oszczędza czas i pieniądze
- Kumulowanie się defektów
- Paradoks pestycydów
- Testowanie zależy od kontekstu
- Przekonanie o braku błędów jest błędem
Wpływ kontekstu na proces testowy
Testowanie oprogramowania sterującego procesem przemysłowym , krytycznym ze względów bezpieczeństwa jest inny niż testowanie sklepu internetowego. Proces testowania zmienia się również w zależności od stosowanego modelu wytwarzania oprogramowania (projekty zwinny vs. model sekwencyjny)
Grupy czynności w procesie testowym
- Planowanie testów
- Monitorowanie i nadzór nad testami
- Analiza testów.
- Projektowanie testów.
- Implementacja testów.
Wykonywanie testów. - Ukończenie testów