Seledynowy
Quiz summary
0 z 15 pytań ukończone
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
Informacja
Pytania zawarte w quizie opracowałem na podstawie bazy pytań dostępnych na stronie Software Testing Genius.
W każdym pytaniu możesz sprawdzić prawidłową odpowiedź oraz zapoznać się z uzasadnieniem. Uzasadnienia odpowiedzi opracowałem na podstawie polskiej wersji sylabusa ISTQB poziomu podstawowego (wersja 2011.1.3 z dnia 11 listopada 2017 r.), polskiej wersji słownika terminów związanych z testowaniem (wersja 2.2.2 z dnia 8 października 2013 r.) oraz oryginalnej (anglojęzycznej) wersji sylabusa ISTQB CTFL (wersja 2011 z dnia 31 marca 2011 r.).
Kolejność odpowiedzi w pytaniach jest losowa (przy każdym uruchomieniu quizu odpowiedzi mogą być ułożone w innej kolejności).
W każdym pytaniu prawidłowa jest tylko jedna odpowiedź.
Już ukończyłeś quiz. Nie możesz rozpocząć jeszcze raz.
Ładowanie quizu…
Musisz się zalogować, aby rozpocząć quiz.
Wymóg wstępu
Musisz ukończyć następujący quiz, aby rozpocząć ten:
Wyniki
udzielono odpowiedzi dobrze na 0 z 15
Kategorie
- Nieskategoryzowany 0%
- Podstawy testowania 0%
- Statyczne techniki testowania 0%
- Techniki projektowania testów 0%
- Testowanie w cyklu życia oprogramowania 0%
- Testowanie wspierane narzędziami 0%
- Zarządzanie testowaniem 0%
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
-
Pytań 1 z 15Podstawy testowania1
Jak nazywamy sytuację gdy to, co widzi użytkownik końcowy różni się od wyspecyfikowanego lub oczekiwanego zachowania?
PoprawnieCele nauczania:
- LO-1.1.2 Kandydat rozróżnia przyczynę usterki od jej skutków. (K2)
- LO-1.1.5 Kandydat potrafi wyjaśnić i porównać pojęcia pomyłka, usterka, awaria oraz odpowiadające im pojęcia błąd i pluskwa, podając przykłady. (K2)
Sytuację gdy to, co widzi użytkownik końcowy różni się od wyspecyfikowanego lub oczekiwanego zachowania nazywamy awarią.
Sylabus w podrozdziale 1.1.2 Przyczyny usterek w oprogramowaniu wskazuje następująco:
Człowiek może popełnić błąd (pomyłkę), która powoduje powstanie defektu (usterki, pluskwy) w kodzie programu lub dokumencie. Jeżeli kod zawierający defekt zostaje wykonany, system nie zrobi tego co powinien (lub wykona to czego nie powinien) powodując awarię. Usterki w oprogramowaniu, systemach lub dokumentach mogą prowadzić do wystąpienia awarii, ale nie wszystkie usterki powodują awarie.
Defekty istnieją, ponieważ ludzie są omylni, działają pod presją, pracują ze złożonym kodem, w skomplikowanej infrastrukturze, ze zmieniającymi się technologiami oraz z dużą ilością interakcji pomiędzy systemami.
Awarie mogą zostać spowodowane też przez warunki środowiskowe. Na przykład promieniowanie, pole magnetyczne i elektryczne oraz zanieczyszczenia mogą spowodować awarie oprogramowania wbudowanego lub wpływać na oprogramowanie przez zmianę warunków działania sprzętu.
NiepoprawnieCele nauczania:
- LO-1.1.2 Kandydat rozróżnia przyczynę usterki od jej skutków. (K2)
- LO-1.1.5 Kandydat potrafi wyjaśnić i porównać pojęcia pomyłka, usterka, awaria oraz odpowiadające im pojęcia błąd i pluskwa, podając przykłady. (K2)
Sytuację gdy to, co widzi użytkownik końcowy różni się od wyspecyfikowanego lub oczekiwanego zachowania nazywamy awarią.
Sylabus w podrozdziale 1.1.2 Przyczyny usterek w oprogramowaniu wskazuje następująco:
Człowiek może popełnić błąd (pomyłkę), która powoduje powstanie defektu (usterki, pluskwy) w kodzie programu lub dokumencie. Jeżeli kod zawierający defekt zostaje wykonany, system nie zrobi tego co powinien (lub wykona to czego nie powinien) powodując awarię. Usterki w oprogramowaniu, systemach lub dokumentach mogą prowadzić do wystąpienia awarii, ale nie wszystkie usterki powodują awarie.
Defekty istnieją, ponieważ ludzie są omylni, działają pod presją, pracują ze złożonym kodem, w skomplikowanej infrastrukturze, ze zmieniającymi się technologiami oraz z dużą ilością interakcji pomiędzy systemami.
Awarie mogą zostać spowodowane też przez warunki środowiskowe. Na przykład promieniowanie, pole magnetyczne i elektryczne oraz zanieczyszczenia mogą spowodować awarie oprogramowania wbudowanego lub wpływać na oprogramowanie przez zmianę warunków działania sprzętu.
-
Pytań 2 z 15Podstawy testowania2
Testowanie należy przerwać, gdy:
PoprawnieZgodnie z podrozdziałem 1.1.5 Jak dużo testowania jest potrzebne? sylabusa:
Podczas podejmowania decyzji jak dużo testów należy wykonać, powinno się wziąć pod uwagę poziom ryzyka, włączając w to ryzyko techniczne, ryzyko związane z bezpieczeństwem, a także ryzyko biznesowe oraz ograniczenia projektowe takie jak czas i budżet.
Testowanie powinno dostarczać interesariuszom informacji wystarczających do podjęcia świadomych decyzji o dopuszczeniu testowanego oprogramowania lub systemu do następnej fazy rozwoju lub przekazaniu go klientowi.
Wiemy, że nie możemy przetestować wszystkiego, nawet jeśli diablo tego chcemy. Zgodnie z jedną z siedmiu podstawowych zasad testowania (zob. w sylabusie rozdział 1.3 Ogólne zasady testowania), testowanie gruntowne jest niewykonalne. Wiemy również, że każdy system podlega ryzyku takiego czy innego rodzaju oraz że istnieje pewien poziom jakości, który jest akceptowalny dla danego systemu.
Kluczowym aspektem osiągnięcia akceptowalnego wyniku w ramach skończonej i ograniczonej liczbie testów jest nadawanie priorytetów (priorytetyzacja). Najważniejsze testy należy wykonać w pierwszej kolejności, tak żeby w każdej chwili mieć pewność, że testy już wykonane są ważniejsze od tych, które są jeszcze do zrobienia. Dzięki temu nawet jeśli aktywność testowa zostanie zmniejszona o połowę, będziemy mogli zapewnić klienta lub kierownika, że najważniejsze testy zostały wykonane. Najważniejsze testy to te, które testują najbardziej istotne aspekty systemu: testują najważniejsze funkcje zdefiniowane przez użytkowników lub sponsorów systemu lub najważniejsze atrybuty niefunkcjonalne, a także dotyczą najbardziej ryzykownych obszarów.
Innym ważnym aspektem jest ustalenie kryteriów, które pozwolą w sposób najbardziej obiektywny określić, czy można bezpiecznie przerwać testy – kryteria te znane są jako kryteria zakończenia (wyjścia).
Priorytety i kryteria zakończenia stanowią podstawę planowania. W rezultacie pożądany poziom jakości i ryzyka może być zagrożony, ale nasze podejście zapewnia, że możemy jeszcze określić, ile testów jest wymaganych w celu osiągnięcia uzgodnionych poziomów i nadal możemy mieć pewność, że każda redukcja czasu lub wysiłku nie wpłynie na ostateczny bilans – najważniejsze testy będą nadal tymi, które zostały już wykonane, gdy tylko się zatrzymamy.
NiepoprawnieZgodnie z podrozdziałem 1.1.5 Jak dużo testowania jest potrzebne? sylabusa:
Podczas podejmowania decyzji jak dużo testów należy wykonać, powinno się wziąć pod uwagę poziom ryzyka, włączając w to ryzyko techniczne, ryzyko związane z bezpieczeństwem, a także ryzyko biznesowe oraz ograniczenia projektowe takie jak czas i budżet.
Testowanie powinno dostarczać interesariuszom informacji wystarczających do podjęcia świadomych decyzji o dopuszczeniu testowanego oprogramowania lub systemu do następnej fazy rozwoju lub przekazaniu go klientowi.
Wiemy, że nie możemy przetestować wszystkiego, nawet jeśli diablo tego chcemy. Zgodnie z jedną z siedmiu podstawowych zasad testowania (zob. w sylabusie rozdział 1.3 Ogólne zasady testowania), testowanie gruntowne jest niewykonalne. Wiemy również, że każdy system podlega ryzyku takiego czy innego rodzaju oraz że istnieje pewien poziom jakości, który jest akceptowalny dla danego systemu.
Kluczowym aspektem osiągnięcia akceptowalnego wyniku w ramach skończonej i ograniczonej liczbie testów jest nadawanie priorytetów (priorytetyzacja). Najważniejsze testy należy wykonać w pierwszej kolejności, tak żeby w każdej chwili mieć pewność, że testy już wykonane są ważniejsze od tych, które są jeszcze do zrobienia. Dzięki temu nawet jeśli aktywność testowa zostanie zmniejszona o połowę, będziemy mogli zapewnić klienta lub kierownika, że najważniejsze testy zostały wykonane. Najważniejsze testy to te, które testują najbardziej istotne aspekty systemu: testują najważniejsze funkcje zdefiniowane przez użytkowników lub sponsorów systemu lub najważniejsze atrybuty niefunkcjonalne, a także dotyczą najbardziej ryzykownych obszarów.
Innym ważnym aspektem jest ustalenie kryteriów, które pozwolą w sposób najbardziej obiektywny określić, czy można bezpiecznie przerwać testy – kryteria te znane są jako kryteria zakończenia (wyjścia).
Priorytety i kryteria zakończenia stanowią podstawę planowania. W rezultacie pożądany poziom jakości i ryzyka może być zagrożony, ale nasze podejście zapewnia, że możemy jeszcze określić, ile testów jest wymaganych w celu osiągnięcia uzgodnionych poziomów i nadal możemy mieć pewność, że każda redukcja czasu lub wysiłku nie wpłynie na ostateczny bilans – najważniejsze testy będą nadal tymi, które zostały już wykonane, gdy tylko się zatrzymamy.
-
Pytań 3 z 15Podstawy testowania3
Które z poniższych jest GŁÓWNYM zadaniem podczas planowania testów?
PoprawnieCele nauczania:
- LO-1.4.1 Kandydat pamięta pięć podstawowych czynności testowych i odpowiadające im zadania od planowania do zamknięcia testów. (K1)
Zgodnie z sylabusem (zob. rozdział 1.4 Podstawowy proces testowy), podstawowy proces testowy składa się z następujących czynności (czynności te w praktyce mogą się zazębiać lub występować jednocześnie i zwykle konieczne jest ich dostosowanie do kontekstu systemu oraz projektu):
- planowanie i kontrola (nadzór) testów,
- analiza i projektowanie testów,
- implementacja i wykonanie testów,
- ocena kryteriów zakończenia i raportowanie,
- czynności zamykające testy.
Jednym z głównych zadań wykonywanych podczas planowania testów jest planowanie czynności związanych z analizą i projektowaniem testów (ustalenie rozkładu tych prac w czasie). Wymienione w pozostałych opcjach czynności są związane raczej z kontrolą i monitorowaniem testów aniżeli z ich planowaniem. Czynności te jednakowoż są ze sobą bardzo powiązane – podczas planowania testów bierze się pod uwagę informacje pochodzące z monitorowania i kontroli testów.
Etap planowania i kontroli testów, o którym mowa w pytaniu, został opisany w sylabusie w podrozdziale 1.4.1 Planowanie i nadzór oraz w kilku rozdziałach działu 5. Zgodnie z podrozdziałem 1.4.1 sylabusa, planowanie testów polega na zdefiniowaniu celów testowania oraz określeniu czynności testowych potrzebnych do wypełnienia celów i misji testowania. Podrozdział 5.2.1 precyzuje, iż planowanie może zostać udokumentowane w głównym planie testów lub w oddzielnych planach testów dla każdego poziomu.
Zgodnie z podrozdziałem 5.2.2 Czynności związane z planowaniem testów sylabusa, w planowanie testów mogą wchodzić następujące czynności:
- ustalanie zakresu i ryzyka oraz zidentyfikowanie celów testowania,
- określanie ogólnego podejścia do testowania, włącznie z określeniem poziomów testów oraz kryteriów wejścia i zakończenia,
- integrowanie i koordynowanie czynności testowych z innymi czynnościami w cyklu życia oprogramowania (zakupami, dostawami, rozwojem, działaniem produkcyjnym oraz pielęgnacją),
- podejmowanie decyzji o tym, co testować, którym rolom przypisać jakie czynności testowe, jak czynności testowe powinny być wykonane oraz jak powinno się oceniać wyniki testów,
- harmonogramowanie analizy i projektowania testów,
- harmonogramowanie implementacji, wykonania i oceny testów,
- przydzielanie zasobów do różnych czynności testowych,
- określanie dokumentacji testowej: ilości, poziomu szczegółowości, struktury oraz wzorców,
- wybieranie metryk do monitorowania i kontrolowania przygotowania i wykonania testów, naprawy defektów oraz ryzyka,
- ustalanie poziomu szczegółowości procedur testowych, tak aby dostarczyć wystarczającą ilość informacji dla wsparcia powtarzalnego przygotowania i wykonania testów.
NiepoprawnieCele nauczania:
- LO-1.4.1 Kandydat pamięta pięć podstawowych czynności testowych i odpowiadające im zadania od planowania do zamknięcia testów. (K1)
Zgodnie z sylabusem (zob. rozdział 1.4 Podstawowy proces testowy), podstawowy proces testowy składa się z następujących czynności (czynności te w praktyce mogą się zazębiać lub występować jednocześnie i zwykle konieczne jest ich dostosowanie do kontekstu systemu oraz projektu):
- planowanie i kontrola (nadzór) testów,
- analiza i projektowanie testów,
- implementacja i wykonanie testów,
- ocena kryteriów zakończenia i raportowanie,
- czynności zamykające testy.
Jednym z głównych zadań wykonywanych podczas planowania testów jest planowanie czynności związanych z analizą i projektowaniem testów (ustalenie rozkładu tych prac w czasie). Wymienione w pozostałych opcjach czynności są związane raczej z kontrolą i monitorowaniem testów aniżeli z ich planowaniem. Czynności te jednakowoż są ze sobą bardzo powiązane – podczas planowania testów bierze się pod uwagę informacje pochodzące z monitorowania i kontroli testów.
Etap planowania i kontroli testów, o którym mowa w pytaniu, został opisany w sylabusie w podrozdziale 1.4.1 Planowanie i nadzór oraz w kilku rozdziałach działu 5. Zgodnie z podrozdziałem 1.4.1 sylabusa, planowanie testów polega na zdefiniowaniu celów testowania oraz określeniu czynności testowych potrzebnych do wypełnienia celów i misji testowania. Podrozdział 5.2.1 precyzuje, iż planowanie może zostać udokumentowane w głównym planie testów lub w oddzielnych planach testów dla każdego poziomu.
Zgodnie z podrozdziałem 5.2.2 Czynności związane z planowaniem testów sylabusa, w planowanie testów mogą wchodzić następujące czynności:
- ustalanie zakresu i ryzyka oraz zidentyfikowanie celów testowania,
- określanie ogólnego podejścia do testowania, włącznie z określeniem poziomów testów oraz kryteriów wejścia i zakończenia,
- integrowanie i koordynowanie czynności testowych z innymi czynnościami w cyklu życia oprogramowania (zakupami, dostawami, rozwojem, działaniem produkcyjnym oraz pielęgnacją),
- podejmowanie decyzji o tym, co testować, którym rolom przypisać jakie czynności testowe, jak czynności testowe powinny być wykonane oraz jak powinno się oceniać wyniki testów,
- harmonogramowanie analizy i projektowania testów,
- harmonogramowanie implementacji, wykonania i oceny testów,
- przydzielanie zasobów do różnych czynności testowych,
- określanie dokumentacji testowej: ilości, poziomu szczegółowości, struktury oraz wzorców,
- wybieranie metryk do monitorowania i kontrolowania przygotowania i wykonania testów, naprawy defektów oraz ryzyka,
- ustalanie poziomu szczegółowości procedur testowych, tak aby dostarczyć wystarczającą ilość informacji dla wsparcia powtarzalnego przygotowania i wykonania testów.
-
Pytań 4 z 15Podstawy testowania4
Częścią której podstawowej czynności testowej jest raportowanie rozbieżności jako incydentów?
PoprawnieCele nauczania:
- LO-1.4.1 Kandydat pamięta pięć podstawowych czynności testowych i odpowiadające im zadania od planowania do zamknięcia testów. (K1)
Zgodnie z sylabusem (zob. rozdział 1.4 Podstawowy proces testowy), podstawowy proces testowy składa się z następujących czynności (czynności te w praktyce mogą się zazębiać lub występować jednocześnie i zwykle konieczne jest ich dostosowanie do kontekstu systemu oraz projektu):
- planowanie i kontrola (nadzór) testów,
- analiza i projektowanie testów,
- implementacja i wykonanie testów,
- ocena kryteriów zakończenia i raportowanie,
- czynności zamykające testy.
Raportowanie rozbieżności jako incydentów to jedno z głównych zadań wykonywanych podczas implementacji i wykonania testów.
Etap implementacji i wykonania testów, o którym mowa w pytaniu, został opisany w podrozdziale 1.4.3 Implementacja i wykonanie testów sylabusa. Zgodnie z sylabusem, implementacja i wykonanie testów to czynność, podczas której specyfikowane są – m.in. poprzez połączenie przypadków testowych w konkretnej kolejności – procedury testowe (zwane również scenariuszami testowymi lub skryptami testowymi), a także ustawiane jest środowisko testowe oraz uruchamiane są testy.
Głównymi zadaniami implementacji i wykonania testów są:
- dokończanie, implementacja i priorytetyzacja przypadków testowych (włącznie z identyfikacją danych testowych),
- przygotowanie i priorytetyzacja procedur testowych, tworzenie danych testowych oraz (opcjonalnie) przygotowywanie jarzm testowych i pisanie automatycznych skryptów testowych,
- tworzenie zestawów testowych z procedur testowych w celu efektywnego wykonania testów,
- sprawdzanie, czy środowisko testowe zostało poprawnie ustawione,
- sprawdzanie oraz uaktualnianie dwukierunkowego śledzenia pomiędzy podstawą testów i przypadkami testowymi,
- wykonywanieprocedur testowych w zaplanowanej kolejności – ręcznie lub przy pomocy narzędzi do wykonywania testów,
- zapisywanie wyników wykonania testów oraz zapisywanie identyfikatorów i wersji testowanego oprogramowania, narzędzi testowych oraz testaliów,
- porównywaniewyników rzeczywistych z wynikami oczekiwanymi,
- raportowanie rozbieżności jako incydentów oraz ich analizowanie w celu ustalenia ich przyczyny (np. defekt w kodzie, defekt w danych testowych, defekt w dokumencie testowym, pomyłka w sposobie wykonania testu),
- powtarzanie czynności testowych jako rezultat akcji podjętej po stwierdzeniu rozbieżności, na przykład powtórne wykonanie testów poprzednio niezaliczonych, aby potwierdzić naprawę (testowanie potwierdzające), wykonanie poprawionych testów i/lub wykonanie testów w celu sprawdzenia, czy w niezmienianych częściach oprogramowania nie pojawiły się usterki lub czy naprawa usterek nie ujawniła innych usterek (testowanie regresywne).
NiepoprawnieCele nauczania:
- LO-1.4.1 Kandydat pamięta pięć podstawowych czynności testowych i odpowiadające im zadania od planowania do zamknięcia testów. (K1)
Zgodnie z sylabusem (zob. rozdział 1.4 Podstawowy proces testowy), podstawowy proces testowy składa się z następujących czynności (czynności te w praktyce mogą się zazębiać lub występować jednocześnie i zwykle konieczne jest ich dostosowanie do kontekstu systemu oraz projektu):
- planowanie i kontrola (nadzór) testów,
- analiza i projektowanie testów,
- implementacja i wykonanie testów,
- ocena kryteriów zakończenia i raportowanie,
- czynności zamykające testy.
Raportowanie rozbieżności jako incydentów to jedno z głównych zadań wykonywanych podczas implementacji i wykonania testów.
Etap implementacji i wykonania testów, o którym mowa w pytaniu, został opisany w podrozdziale 1.4.3 Implementacja i wykonanie testów sylabusa. Zgodnie z sylabusem, implementacja i wykonanie testów to czynność, podczas której specyfikowane są – m.in. poprzez połączenie przypadków testowych w konkretnej kolejności – procedury testowe (zwane również scenariuszami testowymi lub skryptami testowymi), a także ustawiane jest środowisko testowe oraz uruchamiane są testy.
Głównymi zadaniami implementacji i wykonania testów są:
- dokończanie, implementacja i priorytetyzacja przypadków testowych (włącznie z identyfikacją danych testowych),
- przygotowanie i priorytetyzacja procedur testowych, tworzenie danych testowych oraz (opcjonalnie) przygotowywanie jarzm testowych i pisanie automatycznych skryptów testowych,
- tworzenie zestawów testowych z procedur testowych w celu efektywnego wykonania testów,
- sprawdzanie, czy środowisko testowe zostało poprawnie ustawione,
- sprawdzanie oraz uaktualnianie dwukierunkowego śledzenia pomiędzy podstawą testów i przypadkami testowymi,
- wykonywanieprocedur testowych w zaplanowanej kolejności – ręcznie lub przy pomocy narzędzi do wykonywania testów,
- zapisywanie wyników wykonania testów oraz zapisywanie identyfikatorów i wersji testowanego oprogramowania, narzędzi testowych oraz testaliów,
- porównywaniewyników rzeczywistych z wynikami oczekiwanymi,
- raportowanie rozbieżności jako incydentów oraz ich analizowanie w celu ustalenia ich przyczyny (np. defekt w kodzie, defekt w danych testowych, defekt w dokumencie testowym, pomyłka w sposobie wykonania testu),
- powtarzanie czynności testowych jako rezultat akcji podjętej po stwierdzeniu rozbieżności, na przykład powtórne wykonanie testów poprzednio niezaliczonych, aby potwierdzić naprawę (testowanie potwierdzające), wykonanie poprawionych testów i/lub wykonanie testów w celu sprawdzenia, czy w niezmienianych częściach oprogramowania nie pojawiły się usterki lub czy naprawa usterek nie ujawniła innych usterek (testowanie regresywne).
-
Pytań 5 z 15Podstawy testowania5
Jaka główna korzyść może wynikać z niezależnego testowania?
PoprawnieCele nauczania:
- LO-1.5.1 Kandydat pamięta czynniki psychologiczne, od których zależy sukces testowania. (K1)
- LO-1.5.2 Kandydat potrafi pokazać różnice w nastawieniu testera i programisty. (K2)
Jedną z głównych korzyści wynikających z niezależnego testowania jest często większa skuteczność w znajdowaniu defektów. Wynika ona przede wszystkim z braku stronniczości testerów w ocenie oprogramowania, która to stronniczość mogłaby w sposób naturalny wystąpić, gdyby oceny własnego dzieła dokonywał jego autor (deweloper).
Zgodnie z rozdziałem 1.5 Psychologia testowania sylabusa:
Sposób myślenia stosowany podczas testowania i przeglądania różni się od stosowanego podczas rozwoju oprogramowania. Programiści posiadający odpowiednie nastawienie są w stanie testować swój kod, ale zwykle odpowiedzialność za testowanie przekazuje się testerom, żeby wzmocnić koncentrację wysiłków oraz uzyskać dodatkowe korzyści, takie jak niezależne spojrzenie wyszkolonych, zawodowych testerów. (…)
Niezależność do pewnego stopnia jest często bardziej skuteczna w znajdowaniu defektów i awarii (unika się stronniczości autora). Nie może ona jednak zastąpić znajomości rzeczy i z tego względu programiści są w stanie efektywnie znajdować usterki w swoim własnym kodzie.
NiepoprawnieCele nauczania:
- LO-1.5.1 Kandydat pamięta czynniki psychologiczne, od których zależy sukces testowania. (K1)
- LO-1.5.2 Kandydat potrafi pokazać różnice w nastawieniu testera i programisty. (K2)
Jedną z głównych korzyści wynikających z niezależnego testowania jest często większa skuteczność w znajdowaniu defektów. Wynika ona przede wszystkim z braku stronniczości testerów w ocenie oprogramowania, która to stronniczość mogłaby w sposób naturalny wystąpić, gdyby oceny własnego dzieła dokonywał jego autor (deweloper).
Zgodnie z rozdziałem 1.5 Psychologia testowania sylabusa:
Sposób myślenia stosowany podczas testowania i przeglądania różni się od stosowanego podczas rozwoju oprogramowania. Programiści posiadający odpowiednie nastawienie są w stanie testować swój kod, ale zwykle odpowiedzialność za testowanie przekazuje się testerom, żeby wzmocnić koncentrację wysiłków oraz uzyskać dodatkowe korzyści, takie jak niezależne spojrzenie wyszkolonych, zawodowych testerów. (…)
Niezależność do pewnego stopnia jest często bardziej skuteczna w znajdowaniu defektów i awarii (unika się stronniczości autora). Nie może ona jednak zastąpić znajomości rzeczy i z tego względu programiści są w stanie efektywnie znajdować usterki w swoim własnym kodzie.
-
Pytań 6 z 15Testowanie w cyklu życia oprogramowania6
Gdy defekt zostaje wykryty i poprawiony, oprogramowanie powinno zostać ponownie przetestowane, żeby sprawdzić, czy defekt został skutecznie usunięty. Takie testy to:
PoprawnieCele nauczania:
- LO-2.3.1 Kandydat potrafi porównać podając przykłady cztery typy testów (funkcjonalne, niefunkcjonalne, strukturalne oraz związane ze zmianami). (K2)
- LO-2.3.5 Kandydat potrafi opisać cel wykonywania testów potwierdzających i regresywnych. (K2)
Testy przeprowadzane w celu sprawdzenia, czy defekt został skutecznie usunięty to testy potwierdzające (tzw. re-testy). Należy przy tym pamiętać, że naprawa defektu (czyli debagowanie) jest czynnością programistyczną, a nie czynnością testową .
Sylabus (zob. rozdział 2.3 Typy testów) wymienia następujące cztery typy testów wyodrębnione według kryterium celu testów:
- testowanie funkcji (testowanie funkcjonalne) – gdy celem jest przetestowanie funkcji wykonywanej przez oprogramowanie;
- testowanie atrybutów niefunkcjonalnych (testowanie niefunkcjonalne) – gdy celem jest przetestowanie niefunkcjonalnej cechy jakościowej, np. niezawodności lub użyteczności oprogramowania,
- testowanie struktury / architektury oprogramowania (testowanie strukturalne) – gdy celem jest przetestowanie struktury lub architektury oprogramowania lub systemu;
- testowanie związane ze zmianami: testowanie potwierdzające oraz regresywne – gdy celem jest potwierdzanie, że defekty zostały naprawione (testowanie potwierdzające) oraz szukanie niezamierzonych zmian (testowanie regresywne).
Wskazane wśród możliwych odpowiedzi testowanie pielęgnacyjne to testowanie zmian we wdrożonym systemie lub testowanie wpływu zmienionego środowiska na wdrożony system, zaś testowanie ad hoc to testy wykonywane nieformalnie, w których m.in. brak jest oczekiwań co do rezultatów oraz wykonaniem testu kieruje dowolność.
NiepoprawnieCele nauczania:
- LO-2.3.1 Kandydat potrafi porównać podając przykłady cztery typy testów (funkcjonalne, niefunkcjonalne, strukturalne oraz związane ze zmianami). (K2)
- LO-2.3.5 Kandydat potrafi opisać cel wykonywania testów potwierdzających i regresywnych. (K2)
Testy przeprowadzane w celu sprawdzenia, czy defekt został skutecznie usunięty to testy potwierdzające (tzw. re-testy). Należy przy tym pamiętać, że naprawa defektu (czyli debagowanie) jest czynnością programistyczną, a nie czynnością testową .
Sylabus (zob. rozdział 2.3 Typy testów) wymienia następujące cztery typy testów wyodrębnione według kryterium celu testów:
- testowanie funkcji (testowanie funkcjonalne) – gdy celem jest przetestowanie funkcji wykonywanej przez oprogramowanie;
- testowanie atrybutów niefunkcjonalnych (testowanie niefunkcjonalne) – gdy celem jest przetestowanie niefunkcjonalnej cechy jakościowej, np. niezawodności lub użyteczności oprogramowania,
- testowanie struktury / architektury oprogramowania (testowanie strukturalne) – gdy celem jest przetestowanie struktury lub architektury oprogramowania lub systemu;
- testowanie związane ze zmianami: testowanie potwierdzające oraz regresywne – gdy celem jest potwierdzanie, że defekty zostały naprawione (testowanie potwierdzające) oraz szukanie niezamierzonych zmian (testowanie regresywne).
Wskazane wśród możliwych odpowiedzi testowanie pielęgnacyjne to testowanie zmian we wdrożonym systemie lub testowanie wpływu zmienionego środowiska na wdrożony system, zaś testowanie ad hoc to testy wykonywane nieformalnie, w których m.in. brak jest oczekiwań co do rezultatów oraz wykonaniem testu kieruje dowolność.
-
Pytań 7 z 15Testowanie w cyklu życia oprogramowania7
Rozważ następujące zdania na temat wczesnego projektowania testów:
A. Wcześnie projektowane testy mogą zapobiec powielaniu usterek.
B. Usterki znalezione podczas wcześnie zaprojektowanych testów są droższe do naprawienia.
C. Wcześnie projektowane testy mogą znaleźć usterki.
D. Wcześnie projektowane testy mogą spowodować zmianę wymagań.
E. Wczesne projektowanie testów wymaga więcej wysiłku.PoprawnieCele nauczania:
- LO-1.3.1 Kandydat potrafi wyjaśnić siedem zasad testowania. (K2)
- LO-2.1.3 Kandydat pamięta atrybuty dobrego testowania mające zastosowanie w każdym z modeli życia oprogramowania. (K1)
Zgodnie z jedną z podstawowych zasad testowania (zob. w sylabusie rozdział 1.3 Ogólne zasady testowania), testowanie należy rozpocząć tak wcześnie, jak to możliwe w cyklu życia oprogramowania. Udział testerów w przeglądach już od wczesnych wersji dokumentacji tworzonej podczas wytwarzania oprogramowania jest także jedną z cech dobrego testowania w każdym modelu rozwoju oprogramowania (zob. w sylabusie podrozdział 2.1.3 Testowanie w cyklu życia oprogramowania).
Naprawienie defektu we wczesnych etapach rozwoju oprogramowania jest zdecydowanie tańsze – na przykład usterki znalezione podczas przeglądów (np. defekty znalezione w wymaganiach) często okazują się dużo tańsze do usunięcia niż te wykryte podczas wykonywania testów dynamicznych (zob. w sylabusie rozdział 3.1 Techniki statyczne a proces testowania).
Fałszywa jest zatem odpowiedź, że usterki znalezione podczas wcześnie zaprojektowanych testów są droższe do naprawienia, ponieważ zazwyczaj są tańsze – np. zmiana w jednym punkcie specyfikacji powinna być tańsza niż poprawa kilkuset linijek kodu. Wczesne projektowanie testów nie zawsze również wymaga więcej wysiłku (dużo w tym przypadku zależy od kontekstu systemu i projektu).
NiepoprawnieCele nauczania:
- LO-1.3.1 Kandydat potrafi wyjaśnić siedem zasad testowania. (K2)
- LO-2.1.3 Kandydat pamięta atrybuty dobrego testowania mające zastosowanie w każdym z modeli życia oprogramowania. (K1)
Zgodnie z jedną z podstawowych zasad testowania (zob. w sylabusie rozdział 1.3 Ogólne zasady testowania), testowanie należy rozpocząć tak wcześnie, jak to możliwe w cyklu życia oprogramowania. Udział testerów w przeglądach już od wczesnych wersji dokumentacji tworzonej podczas wytwarzania oprogramowania jest także jedną z cech dobrego testowania w każdym modelu rozwoju oprogramowania (zob. w sylabusie podrozdział 2.1.3 Testowanie w cyklu życia oprogramowania).
Naprawienie defektu we wczesnych etapach rozwoju oprogramowania jest zdecydowanie tańsze – na przykład usterki znalezione podczas przeglądów (np. defekty znalezione w wymaganiach) często okazują się dużo tańsze do usunięcia niż te wykryte podczas wykonywania testów dynamicznych (zob. w sylabusie rozdział 3.1 Techniki statyczne a proces testowania).
Fałszywa jest zatem odpowiedź, że usterki znalezione podczas wcześnie zaprojektowanych testów są droższe do naprawienia, ponieważ zazwyczaj są tańsze – np. zmiana w jednym punkcie specyfikacji powinna być tańsza niż poprawa kilkuset linijek kodu. Wczesne projektowanie testów nie zawsze również wymaga więcej wysiłku (dużo w tym przypadku zależy od kontekstu systemu i projektu).
-
Pytań 8 z 15Testowanie w cyklu życia oprogramowania8
Aktywność testowa wykonywana w celu wykrycia defektów w interfejsach i interakcjach pomiędzy modułami to:
PoprawnieCele nauczania:
- LO-2.2.1 Kandydat potrafi porównać różne poziomy testów: główne cele, typowe przedmioty testów, typowe cele testowania (np. strukturalne lub funkcjonalne) i związane z nimi produkty, testerów, typy usterek i awarii do znalezienia. (K2)
Aktywność testowa wykonywana w celu wykrycia defektów w interfejsach i interakcjach pomiędzy modułami to testowanie integracyjne.
Testowanie integracyjne to jeden z poziomów testów (zob. w sylabusie rozdział 2.2 Poziomy testów), obok testów modułowych, systemowych i akceptacyjnych. Zgodnie z sylabusem:
Dla każdego poziomu testowania można zdefiniować: ogólne cele, produkty, na podstawie których tworzy się przypadki testowe (podstawę testów), przedmiot testów (to co jest testowane), typowe defekty i awarie do wykrycia, wymagania na jarzmo testowe oraz wsparcie narzędziowe, środowisko testowe, specyficzne podejście, odpowiedzialność.
Testowanie integracyjne sprawdza interfejsy pomiędzy modułami, interakcje z innymi częściami systemu (takimi jak system operacyjny, system plików i sprzęt) oraz interfejsy pomiędzy systemami.
Podstawą testów w testowaniu integracyjnym mogą być projekt oprogramowania i systemu, architektura, przepływy pracy oraz przypadki użycia.
Typowymi przedmiotami testów w testowaniu integracyjnym są podsystemy, implementacja baz danych, infrastruktura, interfejsy oraz konfiguracja systemu i dane konfiguracyjne.
Testowanie integracyjne może być wykonywane na więcej niż jednym poziomie i dla przedmiotów testów o różnej wielkości, np. testowanie integracji modułów sprawdza interakcje pomiędzy modułami oprogramowania i jest wykonywane po testach modułowych, zaś testowanie integracji systemów sprawdza interakcje pomiędzy różnymi systemami lub pomiędzy sprzętem a oprogramowaniem i może być wykonywane po testowaniu systemowym.
NiepoprawnieCele nauczania:
- LO-2.2.1 Kandydat potrafi porównać różne poziomy testów: główne cele, typowe przedmioty testów, typowe cele testowania (np. strukturalne lub funkcjonalne) i związane z nimi produkty, testerów, typy usterek i awarii do znalezienia. (K2)
Aktywność testowa wykonywana w celu wykrycia defektów w interfejsach i interakcjach pomiędzy modułami to testowanie integracyjne.
Testowanie integracyjne to jeden z poziomów testów (zob. w sylabusie rozdział 2.2 Poziomy testów), obok testów modułowych, systemowych i akceptacyjnych. Zgodnie z sylabusem:
Dla każdego poziomu testowania można zdefiniować: ogólne cele, produkty, na podstawie których tworzy się przypadki testowe (podstawę testów), przedmiot testów (to co jest testowane), typowe defekty i awarie do wykrycia, wymagania na jarzmo testowe oraz wsparcie narzędziowe, środowisko testowe, specyficzne podejście, odpowiedzialność.
Testowanie integracyjne sprawdza interfejsy pomiędzy modułami, interakcje z innymi częściami systemu (takimi jak system operacyjny, system plików i sprzęt) oraz interfejsy pomiędzy systemami.
Podstawą testów w testowaniu integracyjnym mogą być projekt oprogramowania i systemu, architektura, przepływy pracy oraz przypadki użycia.
Typowymi przedmiotami testów w testowaniu integracyjnym są podsystemy, implementacja baz danych, infrastruktura, interfejsy oraz konfiguracja systemu i dane konfiguracyjne.
Testowanie integracyjne może być wykonywane na więcej niż jednym poziomie i dla przedmiotów testów o różnej wielkości, np. testowanie integracji modułów sprawdza interakcje pomiędzy modułami oprogramowania i jest wykonywane po testach modułowych, zaś testowanie integracji systemów sprawdza interakcje pomiędzy różnymi systemami lub pomiędzy sprzętem a oprogramowaniem i może być wykonywane po testowaniu systemowym.
-
Pytań 9 z 15Statyczne techniki testowania9
Czy przeglądy kodu lub inspekcje są uważane za testowanie?
PoprawniePrzeglądy kodu lub inspekcje są uważane za testowanie.
NiepoprawniePrzeglądy kodu lub inspekcje są uważane za testowanie.
-
Pytań 10 z 15Statyczne techniki testowania10
W którym z poniższych przypadków najbardziej użyteczna będzie analiza statyczna?
PoprawnieSpośród wymienionych przypadków analiza statyczna będzie najbardziej użyteczna dla wymuszania stosowania standardów kodowania podczas procesu wytwarzania oprogramowania.
NiepoprawnieSpośród wymienionych przypadków analiza statyczna będzie najbardziej użyteczna dla wymuszania stosowania standardów kodowania podczas procesu wytwarzania oprogramowania.
-
Pytań 11 z 15Techniki projektowania testów11
Białoskrzynkowe techniki projektowania testów są również nazywane:
PoprawnieCele nauczania:
- LO-4.2.1 Kandydat pamięta do czego przydatne są techniki projektowania testów oparte na specyfikacji (czarnoskrzynkowe) oraz techniki oparte na strukturze (białoskrzynkowe) oraz potrafi wymienić typowe dla nich techniki. (K1)
- LO-4.2.2 Kandydat potrafi objaśnić cechy, podobieństwa oraz różnice pomiędzy technikami opartymi na specyfikacji, strukturze i doświadczeniu. (K2)
Białoskrzynkowe techniki projektowania testów to procedura wywodzenia i/ lub wybierania przypadków testowych oparta na analizie wewnętrznej struktury modułu lub systemu (zob. w sylabusie rozdziały 4.2 Kategorie technik projektowania testów oraz 4.4 Techniki oparte na strukturze lub białoskrzynkowe).
Białoskrzynkowe techniki projektowania testów określane są także po prostu jako białoskrzynkowe techniki lub jako projektowanie strukturalnych przypadków testowych, techniki oparte o strukturę lub techniki projektowania testów w oparciu o strukturę.
Pozostałe opcje odpowiedzi (testowanie oparte na projekcie, zgadywanie błędów, testowanie oparte na doświadczeniu) dotyczą innych technik i sposobów testowania.
NiepoprawnieCele nauczania:
- LO-4.2.1 Kandydat pamięta do czego przydatne są techniki projektowania testów oparte na specyfikacji (czarnoskrzynkowe) oraz techniki oparte na strukturze (białoskrzynkowe) oraz potrafi wymienić typowe dla nich techniki. (K1)
- LO-4.2.2 Kandydat potrafi objaśnić cechy, podobieństwa oraz różnice pomiędzy technikami opartymi na specyfikacji, strukturze i doświadczeniu. (K2)
Białoskrzynkowe techniki projektowania testów to procedura wywodzenia i/ lub wybierania przypadków testowych oparta na analizie wewnętrznej struktury modułu lub systemu (zob. w sylabusie rozdziały 4.2 Kategorie technik projektowania testów oraz 4.4 Techniki oparte na strukturze lub białoskrzynkowe).
Białoskrzynkowe techniki projektowania testów określane są także po prostu jako białoskrzynkowe techniki lub jako projektowanie strukturalnych przypadków testowych, techniki oparte o strukturę lub techniki projektowania testów w oparciu o strukturę.
Pozostałe opcje odpowiedzi (testowanie oparte na projekcie, zgadywanie błędów, testowanie oparte na doświadczeniu) dotyczą innych technik i sposobów testowania.
-
Pytań 12 z 15Techniki projektowania testów12
Zaprojektowałeś przypadki testowe, które pokrywają 100% instrukcji oraz 100% decyzji w poniższym fragmencie kodu:
IF WIDTH > length THEN
biggest_dimension = WIDTH
ELSE
biggest_dimension = length
END IFDo powyższego fragmentu został dodany następujący kod:
PRINT "Biggest dimension is " & biggest_dimension
PRINT "Width: " & WIDTH
PRINT "Length: " & lengthIle przypadków testowych trzeba doprojektować?
PoprawnieW związku z tym, że 100% pokrycia decyzji implikuje 100% pokrycia instrukcji, dodanie do kodu kolejnych instrukcji nie wpłynie na pokrycie instrukcji i decyzji w zaprojektowanych już przypadkach testowych.
NiepoprawnieW związku z tym, że 100% pokrycia decyzji implikuje 100% pokrycia instrukcji, dodanie do kodu kolejnych instrukcji nie wpłynie na pokrycie instrukcji i decyzji w zaprojektowanych już przypadkach testowych.
-
Pytań 13 z 15Techniki projektowania testów13
Hurtownik sprzedaje wkłady do drukarek. Minimalna ilość w zamówieniu to 5. Przy zamówieniu 100 lub więcej klient dostaje 20% rabatu. Zostałeś poproszony o przygotowanie przypadków testowych z użyciem różnych wartości dla liczby wkładów w zamówieniu. Która z poniższych grup zawiera trzy dane wejściowe, które zostałyby wygenerowane przy użyciu analizy wartości brzegowych?
PoprawnieCele nauczania:
- LO-4.3.1 Kandydat potrafi napisać przypadki testowe na podstawie podanych modeli oprogramowania używając techniki klas równoważności, analizy wartości brzegowych, testowania w oparciu o tablicę decyzyjną, testowania przejść pomiędzy stanami (K3)
W oparciu o treść pytania można wydzielić następujące klasy równoważności: { x < 5 }, { 5 ≤ x < 100 } oraz { x ≥ 100 }. Spośród możliwych opcji odpowiedzi, dane wejściowe, które zostałyby wygenerowane przy użyciu analizy wartości brzegowych zawiera odpowiedź „4, 5, 99”.
Podział na klasy równoważności oraz analiza wartości brzegowych to czarnoskrzynkowe techniki projektowania przypadków testowych (zob. w sylabusie podrozdziały 4.3.1 Podział na klasy równoważności oraz 4.3.2 Analiza wartości brzegowych).
W technice podziału na klasy równoważności wejścia programu lub systemu są dzielone na grupy, które powodują podobne zachowanie oprogramowania, więc jest bardzo prawdopodobne, że będą przetwarzane w ten sam sposób. Dzięki temu nie musimy testować wszystkich elementów w zbiorze (powinno wystarczyć sprawdzenie wartości dla jednego elementu z klasy równoważności).
Klasy równoważności można znaleźć zarówno dla danych poprawnych, jak i danych niepoprawnych:
- klasy poprawności – zbiory wartości, dla których przewidujemy poprawne działanie programu;
- klasy niepoprawności – zbiory wartości, dla których przewidujemy błędne działanie programu.
W analizie wartości brzegowych zakłada się, że istnieje większe prawdopodobieństwo, że oprogramowania będzie się błędnie zachowywać dla wartości na krawędziach klas równoważności niż w ich środku, więc testowanie tych obszarów najprawdopodobniej wykryje błędy. Wartość brzegowa poprawnego przedziału jest nazywana poprawną wartością brzegową, a wartość brzegowa niepoprawnego przedziału – niepoprawną wartością brzegową. Testy można zaprojektować tak, żeby pokrywały zarówno poprawne, jak i niepoprawne wartości brzegowe.
Podczas projektowania testów tworzy się przypadek testowy dla każdej wartości brzegowej. Technika analizy wartości brzegowych jest często uważana za rozwinięcie techniki podziału na klasy równoważności lub innych technik czarnoskrzynkowych.
Obie techniki (podział na klasy równoważności, analiza wartości brzegowych) można zastosować na każdym poziomie testowania.
NiepoprawnieCele nauczania:
- LO-4.3.1 Kandydat potrafi napisać przypadki testowe na podstawie podanych modeli oprogramowania używając techniki klas równoważności, analizy wartości brzegowych, testowania w oparciu o tablicę decyzyjną, testowania przejść pomiędzy stanami (K3)
W oparciu o treść pytania można wydzielić następujące klasy równoważności: { x < 5 }, { 5 ≤ x < 100 } oraz { x ≥ 100 }. Spośród możliwych opcji odpowiedzi, dane wejściowe, które zostałyby wygenerowane przy użyciu analizy wartości brzegowych zawiera odpowiedź „4, 5, 99”.
Podział na klasy równoważności oraz analiza wartości brzegowych to czarnoskrzynkowe techniki projektowania przypadków testowych (zob. w sylabusie podrozdziały 4.3.1 Podział na klasy równoważności oraz 4.3.2 Analiza wartości brzegowych).
W technice podziału na klasy równoważności wejścia programu lub systemu są dzielone na grupy, które powodują podobne zachowanie oprogramowania, więc jest bardzo prawdopodobne, że będą przetwarzane w ten sam sposób. Dzięki temu nie musimy testować wszystkich elementów w zbiorze (powinno wystarczyć sprawdzenie wartości dla jednego elementu z klasy równoważności).
Klasy równoważności można znaleźć zarówno dla danych poprawnych, jak i danych niepoprawnych:
- klasy poprawności – zbiory wartości, dla których przewidujemy poprawne działanie programu;
- klasy niepoprawności – zbiory wartości, dla których przewidujemy błędne działanie programu.
W analizie wartości brzegowych zakłada się, że istnieje większe prawdopodobieństwo, że oprogramowania będzie się błędnie zachowywać dla wartości na krawędziach klas równoważności niż w ich środku, więc testowanie tych obszarów najprawdopodobniej wykryje błędy. Wartość brzegowa poprawnego przedziału jest nazywana poprawną wartością brzegową, a wartość brzegowa niepoprawnego przedziału – niepoprawną wartością brzegową. Testy można zaprojektować tak, żeby pokrywały zarówno poprawne, jak i niepoprawne wartości brzegowe.
Podczas projektowania testów tworzy się przypadek testowy dla każdej wartości brzegowej. Technika analizy wartości brzegowych jest często uważana za rozwinięcie techniki podziału na klasy równoważności lub innych technik czarnoskrzynkowych.
Obie techniki (podział na klasy równoważności, analiza wartości brzegowych) można zastosować na każdym poziomie testowania.
-
Pytań 14 z 15Zarządzanie testowaniem14
Kiedy należy wdrażać procedury zarządzania konfiguracją?
PoprawnieCele nauczania:
- LO-5.4.1 Kandydat potrafi opisać krótko, w jaki sposób zarządzanie konfiguracją wspiera testowanie. (K2)
Procedury zarządzania konfiguracją powinny zostać wybrane, udokumentowane i wdrożone podczas fazy planowania testów (więcej na temat fazy planowania testów zob. w sylabusie w podrozdziałach 1.4.1 Planowanie i nadzór oraz 5.2.2 Czynności związane z planowaniem testów).
Zgodnie z treścią rozdziału 5.4 Zarządzanie konfiguracją sylabusa:
Celem zarządzania konfiguracją jest ustanowienie i utrzymanie integralności produktów (modułów, danych i dokumentacji) związanych z oprogramowaniem lub systemem przez cały projekt lub cykl życia produktu.
Z punktu widzenia procesu testowania, zarządzanie konfiguracją zapewnia, że:
- wszystkie elementy
oprogramowaniatestaliów* są zidentyfikowane, poddane kontroli wersji, śledzone pod względem zmian, powiązane między sobą oraz z elementami wytwarzania (przedmiotami testów), tak aby utrzymać możliwość ich śledzenia przez cały proces testowy, - wszystkie zidentyfikowane dokumenty oraz elementy oprogramowania posiadają jednoznaczne odniesienie w dokumentacji testowej .
Z punktu widzenia testera, zarządzanie konfiguracją pomaga w jednoznaczny sposób zidentyfikować (i odtworzyć) testowany element, dokumenty testowe, testy oraz jarzmo testowe.
* W wersji polskiej sylabusa (wersja 2011.1.1 oraz 2011.1.2) w tym punkcie jest mowa o „elementach oprogramowania”, a nie o testaliach, natomiast wersja angielska mówi o „all items of testware”, czyli właśnie testaliach – co wydaje się bardziej logiczne w kontekście rozdziału. Zawarte w polskim sylabusie tłumaczenie zwrotu „items of testware” jako „elementy oprogramowania” należy uznać w tym kontekście za co najmniej wprowadzające w błąd, dlatego powyżej napisałem o testaliach, a nie elementach oprogramowania.
NiepoprawnieCele nauczania:
- LO-5.4.1 Kandydat potrafi opisać krótko, w jaki sposób zarządzanie konfiguracją wspiera testowanie. (K2)
Procedury zarządzania konfiguracją powinny zostać wybrane, udokumentowane i wdrożone podczas fazy planowania testów (więcej na temat fazy planowania testów zob. w sylabusie w podrozdziałach 1.4.1 Planowanie i nadzór oraz 5.2.2 Czynności związane z planowaniem testów).
Zgodnie z treścią rozdziału 5.4 Zarządzanie konfiguracją sylabusa:
Celem zarządzania konfiguracją jest ustanowienie i utrzymanie integralności produktów (modułów, danych i dokumentacji) związanych z oprogramowaniem lub systemem przez cały projekt lub cykl życia produktu.
Z punktu widzenia procesu testowania, zarządzanie konfiguracją zapewnia, że:
- wszystkie elementy
oprogramowaniatestaliów* są zidentyfikowane, poddane kontroli wersji, śledzone pod względem zmian, powiązane między sobą oraz z elementami wytwarzania (przedmiotami testów), tak aby utrzymać możliwość ich śledzenia przez cały proces testowy, - wszystkie zidentyfikowane dokumenty oraz elementy oprogramowania posiadają jednoznaczne odniesienie w dokumentacji testowej .
Z punktu widzenia testera, zarządzanie konfiguracją pomaga w jednoznaczny sposób zidentyfikować (i odtworzyć) testowany element, dokumenty testowe, testy oraz jarzmo testowe.
* W wersji polskiej sylabusa (wersja 2011.1.1 oraz 2011.1.2) w tym punkcie jest mowa o „elementach oprogramowania”, a nie o testaliach, natomiast wersja angielska mówi o „all items of testware”, czyli właśnie testaliach – co wydaje się bardziej logiczne w kontekście rozdziału. Zawarte w polskim sylabusie tłumaczenie zwrotu „items of testware” jako „elementy oprogramowania” należy uznać w tym kontekście za co najmniej wprowadzające w błąd, dlatego powyżej napisałem o testaliach, a nie elementach oprogramowania.
-
Pytań 15 z 15Testowanie wspierane narzędziami15
Niektóre narzędzia są skierowane bardziej w stronę programistów. Które z pięciu poniższych typów narzędzi są przeznaczone bardziej dla programistów?
A. Narzędzia do testów wydajnościowych.
B. Narzędzia do pomiaru pokrycia.
C. Komparatory testowe.
D. Narzędzia do analizy dynamicznej.
E. Narzędzia do zarządzania incydentami.PoprawnieCele nauczania:
- LO-6.1.1 Kandydat potrafi podzielić różne typy narzędzi testowych według ich celów, według czynności w podstawowym procesie testowym oraz w cyklu życia oprogramowania. (K2)
- LO-6.1.3 Kandydat potrafi wyjaśnić pojęcie „narzędzie testowe” oraz cel wsparcia narzędziowego dla testów. (K2)
Zgodnie z podrozdziałem 6.1.2 Klasyfikacja narzędzi testowych sylabusa, niektóre narzędzia testowe oferują wsparcie bardziej odpowiednie dla programistów (np. narzędzia używane w testowaniu modułowym lub testowaniu integracji modułów), niż dla testerów.
Do narzędzi skierowanych bardziej w stronę programistów (oznaczonych w sylabusie w podrozdziałach od 6.1.3 do 6.1.8 literką „D”) zaliczono:
- narzędzia do analizy statycznej (zob. podrozdział 6.1.4 Wsparcie narzędziowe dla testów statycznych),
- narzędzia do modelowania (zob. podrozdział 6.1.4 Wsparcie narzędziowe dla testów statycznych),
- jarzma testowe / struktury do testów jednostkowych (zob. podrozdział 6.1.6 Wsparcie narzędziowe dla wykonania testów oraz logowania),
- narzędzia mierzące pokrycie (zob. podrozdział 6.1.6 Wsparcie narzędziowe dla wykonania testów oraz logowania),
- narzędzia do analizy dynamicznej (zob. podrozdział 6.1.7 Wsparcie narzędziowe dla wydajności i monitorowania).
NiepoprawnieCele nauczania:
- LO-6.1.1 Kandydat potrafi podzielić różne typy narzędzi testowych według ich celów, według czynności w podstawowym procesie testowym oraz w cyklu życia oprogramowania. (K2)
- LO-6.1.3 Kandydat potrafi wyjaśnić pojęcie „narzędzie testowe” oraz cel wsparcia narzędziowego dla testów. (K2)
Zgodnie z podrozdziałem 6.1.2 Klasyfikacja narzędzi testowych sylabusa, niektóre narzędzia testowe oferują wsparcie bardziej odpowiednie dla programistów (np. narzędzia używane w testowaniu modułowym lub testowaniu integracji modułów), niż dla testerów.
Do narzędzi skierowanych bardziej w stronę programistów (oznaczonych w sylabusie w podrozdziałach od 6.1.3 do 6.1.8 literką „D”) zaliczono:
- narzędzia do analizy statycznej (zob. podrozdział 6.1.4 Wsparcie narzędziowe dla testów statycznych),
- narzędzia do modelowania (zob. podrozdział 6.1.4 Wsparcie narzędziowe dla testów statycznych),
- jarzma testowe / struktury do testów jednostkowych (zob. podrozdział 6.1.6 Wsparcie narzędziowe dla wykonania testów oraz logowania),
- narzędzia mierzące pokrycie (zob. podrozdział 6.1.6 Wsparcie narzędziowe dla wykonania testów oraz logowania),
- narzędzia do analizy dynamicznej (zob. podrozdział 6.1.7 Wsparcie narzędziowe dla wydajności i monitorowania).