ISTQB Flashcards
Analiza testów (test analysis)
Czynność polegająca na identyfikowaniu warunków testowych w wyniku analizy podstawy testów.
Awaria (failure)
Wykonanie kodu zawierającego defekt lub niepoprawne działanie kodu spowodowane czynnikami środowiskowymi.
Cel testów (test mission)
Cel testowania w organizacji, często dokumentowany jako część polityki testów
Dane testowe (test data)
Dane niezbędne do wykonania testów.
Debuggowanie
Czynność związana z wytwarzaniem oprogramowania, która polega na znajdowaniu, analizowaniu i usuwaniu defektów
Defekt
Niedoskonałość lub wada produktu pracy, polegająca na niespełnieniu wymagań.
Implementacja testów
Czynność polegająca na przygotowaniu testaliów potrzebnych do wykonania testów, oparta na analizie i projektowaniu testów.
Jakość
Stopień, w jakim moduł, system lub proces spełnia określone wymagania i/lub spełnia potrzeby i oczekiwania klienta lub użytkownika.
Monitorowanie testów i nadzór nad testami (test monitoring/test control)
Aktywność polegająca na sprawdzaniu status aktywności testowych, identyfikowaniu odchylenia od planu lub oczekiwanego statusu oraz raportowaniu statusu do interesariuszy.Działalność, która rozwija i stosuje działania naprawcze, aby utrzymać w toku testy projektu, gdy odbiegają one od tego, co zostało zaplanowane.
Planowanie testów (test planning)
Czynność tworzenia planów testów lub wprowadzanie do nich zmian
Podstawa testów (test basis)
Zasób wiedzy używany jako podstawa dla analizy i projektowania testów.
Podstawowa przyczyna (root cause)
Przyczyna defektu, która – gdy zostanie wyeliminowana – wystąpienie tego typu defektu redukuje lub usuwa.
Pokrycie (coverage)
Stopień, w jakim określone elementy pokrycia zostały określone lub sprawdzone przez zestaw testowy wyrażony w procentach.
Pomyłka/Błąd (error/mistake)
Działanie człowieka powodujące powstanie nieprawidłowego rezultatu.
Procedura testowa (test procedure)
Sekwencja przypadków testowych w kolejności wykonywania oraz wszelkie powiązane działania, które mogą być wymagane do ustanowienia warunków wstępnych i wszelkich czynności podsumowujących po wykonaniu.
Proces testowy (test process)
Zbiór powiązanych ze sobą czynności obejmujący: planowanie testów, monitorowanie i nadzór nad testami, analizę testów, projektowanie testów, implementację testów, wykonywanie oraz ukończenie testów.
Projektowanie testów (test design)
Czynność wyprowadzania i specyfikowania przypadków testowych z warunków testowych.
Przedmiot testów (test object)
Moduł lub system podlegający testowaniu.
Przypadek testowy (test case)
Zestaw warunków wstępnych, danych wejściowych, akcji (w stosownych przypadkach), oczekiwanych rezultatów i warunków końcowych opracowany w oparciu o warunki testowe.
Śledzenie (traceability)
Stopień, w jakim można ustalić relację pomiędzy dwoma lub większą liczbą produktów prac.
Testalia (testware)
Produkty prac stworzone w ramach procesu testowego, używane do planowania, projektowania, wykonywania, oceny i raportowania testów.
Testowanie (testing)
Proces składający się z wszystkich czynności cyklu życia, zarówno statycznych jak i dynamicznych; skoncentrowany na planowaniu, przygotowaniu i ewaluacji oprogramowania oraz powiązanych produktów w celu określenia czy spełniają one wyspecyfikowane wymagania, na wykazaniu, że są one dopasowane do swoich celów oraz na wykrywaniu usterek.
Ukończenie testów (test completion)
Czynność obejmująca udostępnianie testaliów dla późniejszego użycia, pozostawianie środowisk testowych w zadowalającym stanie i komunikowanie wyników testowania odpowiednim interesariuszom.
Walidacja
Sprawdzenie czy system odpowiada na potrzeby użytkowników oraz innych interesariuszy w swoim środowisku operacyjnym
Warunek testowy (test condition)
Testowalna własność modułu lub systemu zidentyfikowana jako podstawa do testowania.
Weryfikacja
Egzaminowanie poprawności i dostarczenie obiektywnego dowodu, że produkt procesu wytwarzania oprogramowania spełnienia zdefiniowane wymagania.
Wykonywanie testów (test execution)
Czynność polegająca na przeprowadzeniu testu modułu lub systemu, by otrzymać rzeczywiste wyniki.
Wyrocznia testowa (test oracle)
Źródło określające oczekiwane wyniki w celu porównania z faktycznym wynikiem testowanego systemu.
Zapewnienie jakości (quality assurance)
Działania skoncentrowane na zapewnieniu, że wymagania jakościowe będą spełnione.
Zestaw testowy (test suite)
Zestaw wykonywanych przypadków testowych lub procedur testowych.
Jakie są typowe cele testowania?
“– zapobieganie defektom przez dokonywanie oceny produktów takich jak: wymagania, user stories, projekt, kod
– weryfikacja
– sprawdzenie kompletności przedmiotu testów i walidacja
– budowanie zaufania do poziomu jakości przedmiotu testów
– wykrywanie defektów i awarii, a tym samym zmniejszenie poziomu 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 lub sprawdzenie czy obiekt testów jest zgodny z tymi wymaganiami lub standardami”
Czym różni się testowanie od debugowania?
Testowanie pozwala ujawnić awarie będące skutkiem defektów w oprogramowaniu, natomiast debugowanie to czynność związana z wytwarzaniem oprogramowania, która polega na znajdowaniu, analizowaniu i usuwaniu tych defektów
Dlaczego testowanie jest niezbędne?
“– zmniejszenie ryzyka wystąpienia awarii podczas eksploatacji oprogramowania
– podniesienie jakości systemu
– spełnienie wymagań wynikających z umów/przepisów/norm”
W jaki sposób testowanie przyczynia się do podnoszenia jakości?
“Wspiera osiągnięcie odpowiednich poziomów jakości w procesie wytwarzania oprogramowania. – zapobiega defektom
– weryfikuje wymagania
– waliduje produkt
– zmniejsza poziom ryzyka związanego z niedostateczną jakością oprogramowania”
Jaka jest różnica między pomyłką, defektem i awarią?
Pomyłka jest błędem człowieka w efekcie której możliwe jest powstanie defektu w kodzie. Jeśli taki kod zostanie wykonany, wtedy mówimy o awarii.
Jaka jest różnica między przyczyną a skutkami defektów
Przyczyną defektu jest błąd człowieka, a skutkiem jego istnienia awaria.
Jak brzmi siedem zasad testowania?
“1. 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 (większość defektów występuje w niewielkiej liczbie modulów)
- Paradoks pestycydów (powtarzenie tych samych testów prowadzi do sytuacji w której przestaną one wykrywać nowe defekty)
- Testowanie zależy od kontekstu (inaczej testuje się system przemysłowy, inaczej bankowy)
- Przekonanie o braku defektów jest błędne”
Jaki wpływ na proces testowy ma kontekst?
Kluczowy, zależnie od np. dziedziny biznesowej, czynników ryzyka, rozważanych poziomów testów, ograniczeń, polityki testów, norm, a także wykorzystanego modelu cyklu życia i metodyki projektowej proces testowy będzie skrajnie inny.
Opisz czynności testowe i odpowiadające im zadania w ramach procesu testowego
"– planowanie testów – monitorowanie testów i nadzór nad nimi – analiza testów – projektowanie testów – implementacja testów – wykonywanie testów – ukończenie testów"
Jakie są produkty pracy wspomagające proces testowy?
“– plan testów– raporty testowe (raporty o postępach i sumaryczne raporty z testów)
– warunki testowe (powiązane z pokrywanymi elementami podstawy testów)
– przypadki testowe i ich zbiory
– procedury testowe
– harmonogram testów”
Jakie są korzyści wynikające ze śledzenie powiązań między podstawą testów a produktami pracy związanymi z testowaniem
“Śledzenie pozwala na:– ocenę pokrycia testowego
– analizę wpływu zmian
– prowadzenie audytu testów
– ocenę spełnienia kryteriów
– tworzenie bardziej zrozumiałych raportów z testów
– przekazanie biznesowi informacji o technicznych aspektach testów w zrozumiałej formie
– udzielenie informacji potrzebnych do oceny jakości produktów”
Jakie czynniki psychologiczne mają wpływ na powodzenie testowania?
“– wrażliwość twórcy na krytykę
– efekt potwierdzenia
– błędy poznawcze utrudniające zrozumienie lub akceptacje informacji uzyskanych w wyniku testów
– skłonność do obwiniania osoby przynoszącej złe wiadomości”
Jakie są różnice w sposobie myślenia testerów i programistów?
Programista patrzy na oprogramowanie z perspektywy projektanta i twórcy, tester z perspektywy osoby, której celem jest weryfikacja i walidacja oprogramowania.