1. Przykładowe egzaminy EN
1.1. Oficjalne
1.1.1. ISTQB CTL Syllbus
1.1.1.1. http://www.istqb.org/downloads/finish/16/15.html
1.1.2. ISTQB Glossary of Testing Terms
1.1.2.1. http://www.istqb.org/downloads/finish/20/145.html
1.2. ISTQB Foundation Level – Tips & Tricks to Pass Easily (With Sample Papers)
1.2.1. http://www.istqb.guru/istqb-foundation-level/
1.3. ISTQB Dumps – Download mock tests and sample question papers from 2012 to 2014
1.3.1. http://istqbexamcertification.com/istqb-dumps-download-mock-tests-and-sample-question-papers-from-2012-to-2014/
1.4. ISTQB Foundation Level Practice Test - 1
1.4.1. http://www.proprofs.com/quiz-school/story.php?title=istqb-foundation-level-practice-test-1_1
1.5. ISTQB Foundation – Practice Exam 1
1.5.1. http://www.testingexcellence.com/istqb-quiz/istqb-foundation-practice-exam-1/
1.6. ISTQB Foundation – Practice Exam 2
1.6.1. http://www.testingexcellence.com/istqb-quiz/istqb-foundation-practice-exam-2/
1.7. ISTQB Mock Test
1.7.1. http://www.proprofs.com/quiz-school/story.php?title=istqb-mock-test
1.8. ISTQB Online Mock Test 2012
1.8.1. http://www.proprofs.com/quiz-school/story.php?title=istqb-online-mock-test-2012
1.9. ISTQB Patshala
1.9.1. http://istqb.patshala.com/
1.10. ISTQB Foundation Question Bank
1.10.1. http://istqbquestionbank.blogspot.com/2012/01/istqb-foundation-sample-question-paper.html
2. Ta darmowa mapa (zgodna z najnowszą wersją certyfikacji ISTQB® Poziom Podstawowy) została pieczołowicie stworzona z pasji i zamiłowania do nauki oraz ciągłego rozwoju jak również w celu promocji dobrych praktyk zawartych w ISTQB®. Mapa pomoże Ci również w nauce do egzaminu ISTQB® Poziom Podstawowy. (podziel się tą mapą z innymi, polub i przekazaż informacje zwrotne - Twoja opinie, komentarze i sugestie są moją motywacją do dalszego jej rozwmoju THX.!)
2.1. Questions / issues / errors? What do you think about my work? Your comments are highly appreciated. Please don't hesitate to contact me for :-) Mirosław Dąbrowski, Poland/Warsaw.
2.1.1. http://www.linkedin.com/in/miroslawdabrowski
2.1.2. https://www.google.com/+MiroslawDabrowski
2.1.3. https://play.spotify.com/user/miroslawdabrowski/
2.1.4. http://www.miroslawdabrowski.com
2.1.5. https://twitter.com/mirodabrowski
2.1.6. miroslaw_dabrowski
3. Przykładowe egzaminy PL
3.1. Oficjalne
3.1.1. ISTQB Słownik wyrażeń związanych z testowaniem
3.1.1.1. http://sjsi.org/wp-content/uploads/2013/11/slownik-termin%C3%B3w-testowych-ver-2.2.2-z-dnia-02.11.2013.pdf
3.1.2. Certyfikowany tester - Plan poziomu podstawowego
3.1.2.1. http://sjsi.org/wp-content/uploads/2013/08/sylabus-poziomu-podstawowego-wersja-2011.1.1_20120925.pdf
3.1.3. Certyfikowany tester - Przykładowy egzamin poziomu podstawowego
3.1.3.1. http://sjsi.org/wp-content/uploads/2013/08/przykladowy-egzamin-CTFL-ver.-2011.1_20120925.pdf
4. TMMi Foundation
4.1. Testing Maturity Model (TMM)
4.1.1. 5 Levels of maturity
4.1.1.1. Level 1: Initial
4.1.1.2. Level 2: Definition
4.1.1.3. Level 3: Integration
4.1.1.4. Level 4: Management and measurement
4.1.1.5. Level 5: Optimisation
5. 1. Podstawy testowania
5.1. Dlaczego testowanie jest niezbędne?
5.1.1. Definicje / Pojęcia
5.1.1.1. pomyłka, błąd (ang. mistake, bład)
5.1.1.1.1. Dziatanie cztowieka powodujqce powstanie nieprawidtowego rezultatu. [wg IEEE 610]
5.1.1.2. defekt, usterka, pluskwa (ang. defect, fault, bug)
5.1.1.2.1. Wada modułu lub systemu, która może spowodować, że moduł lub system nie wykona zakładanej czynności, np. niepoprawne wyrażenie lub definicja danych. Defekt, który wystąpi podczas uruchomienia programu, może spowodować awarię modułu lub systemu.
5.1.1.3. awaria (ang. failure)
5.1.1.3.1. Odchyłka modułu lub systemu od oczekiwanego zachowania lub rezultatu działania, [wg Fenton]
5.1.1.4. jakość (ang. quality)
5.1.1.4.1. Stopień, w jakim moduł, system lub proces spełnia określone wymagania i/lub spełnia potrzeby i oczekiwania klienta lub użytkownika, [wg IEEE 610]
5.1.1.5. ryzyko (ang. risk)
5.1.1.5.1. Czynnik, który w przyszłości może skutkować negatywnymi konsekwencjami; zazwyczaj opisywany jako wpływ oraz prawdopodobieństwo.
5.1.2. Nie branże przemysłu, w których nie używa się oprogramowania
5.1.3. Systemy informatyczne odgrywają coraz większą rolę w życiu, począwszy od rozwiązań dla biznesu (sektor bankowy / finansowy) aż do urządzeń dla konsumenta
5.1.4. Dziś wciąż popełniamy duże błędy w oprogramowaniu, które może:
5.1.4.1. 1. spowodować utratę zaufania klientów
5.1.4.2. 2. utrudnić zdobycie nowych klientów
5.1.4.3. 3. wyeliminować z rynku
5.1.5. Tylko równoczesne zaistnienie tych trzech czynników powoduje nieprawidłowe działanie TP (Testowanego Produktu)
5.1.5.1. Pomyłka
5.1.5.2. Defekt
5.1.5.3. Awaria
5.1.6. Defekty (usterki) istnieją, ponieważ:
5.1.6.1. ludzie są omyli (ang. human error)
5.1.6.2. wytwórcy działają
5.1.6.2.1. pod presją czasu
5.1.6.2.2. w sytuacji skomplikowanego kodu
5.1.6.2.3. w skomplikowanej infrastrukturze
5.1.6.2.4. przy zmieniających się technologiach
5.1.6.3. jest wiele interakcji wewnątrz systemu i pomiędzy współpracującymi systemami
5.1.7. Awarie mogą być wywołane także przez czynniki środowiska:
5.1.7.1. promieniowanie
5.1.7.2. magnetyzm
5.1.7.3. pole elektryczne
5.1.7.4. skażenie
5.1.7.5. ...
5.1.7.6. Może to powodować awarie w oprogramowaniu wbudowanym lub wpływać na działanie oprogramowania przez zmianę warunktów działania sprzętu
5.1.8. Rygorystyczne testowanie systemów i dokumentacji może zredukować ryzyko wystąpienia awarii w środowisku produkcyjnym i przyczynić się do osiągnięcia wysokiej jakości systemu
5.1.8.1. Konieczne jest, aby znalezione defekty były poprawione przed dopuszczeniem systemu do działania w środowisku produkcyjnym
5.1.9. Testowanie a jakość produktu
5.1.9.1. Testowanie umożliwia określnienie jakości produktu
5.1.9.1.1. atrybuty funkcjonalne
5.1.9.1.2. atrybuty niefunkcjonlane
5.1.9.2. Testowanie podnosi zaufanie co do jakości oprogramowania, jeżeli znaleziono mało lub nie znaleznion błędów
5.1.9.3. Testowanie umożliwia poprawę jakości, gdy błędy są znalezione i usunięte
5.1.9.4. Testowanie ułatwia zapobieganie awariom
5.2. Co to jest testowanie?
5.2.1. Definicje / Pojęcia
5.2.1.1. debagowanie
5.2.1.2. wymaganie
5.2.1.3. przegląd
5.2.1.4. przypadek testowy
5.2.1.5. testowanie
5.2.1.6. cel testu
5.2.1.7. debagowanie
5.2.1.8. wymaganie
5.2.1.9. przegląd
5.2.1.10. przypadek testowy
5.2.1.11. testowanie
5.2.1.12. cel testu
5.3. Ogólne zasady testowania
5.3.1. Definicje / Pojęcia
5.3.1.1. testowanie gruntowne
5.4. Podstawowy proces testowy
5.4.1. Definicje / Pojęcia
5.4.1.1. testowanie potwierdzające
5.4.1.2. retesty
5.4.1.3. kryteria wyjścia
5.4.1.4. incydent
5.4.1.5. testowanie regresywne
5.4.1.6. podstawa testów
5.4.1.7. warunek testowy
5.4.1.8. pokrycie testowe
5.4.1.9. dane testowe
5.4.1.10. wykonanie testów
5.4.1.11. log
5.4.1.12. testowy
5.4.1.13. plan testów
5.4.1.14. procedura testowa
5.4.1.15. polityka testów
5.4.1.16. zestaw testów
5.4.1.17. sumaryczny
5.4.1.18. raport z testów
5.4.1.19. testalia
5.5. Psychologia testowania
5.5.1. Definicje / Pojęcia
5.5.1.1. zgadywanie błędów
5.5.1.2. niezależność testowania
6. 2. Testowanie w cyklu życia oprogramowania
6.1. Modele wytwarzania oprogramowania
6.1.1. Definicje / Pojęcia
6.1.1.1. komercyjne oprogramowanie z półki (COTS)
6.1.1.2. iteracyjny - przyrostowy model wytwarzania
6.1.1.3. walidacja
6.1.1.4. weryfikacja
6.1.1.5. model V
6.2. Poziomy testów
6.2.1. Definicje / Pojęcia
6.2.1.1. testowanie alfa
6.2.1.2. testowanie beta
6.2.1.3. testy modułowe
6.2.1.4. sterownik
6.2.1.5. testowanie w warunkach polowych
6.2.1.6. wymaganie funkcjonalne
6.2.1.7. integracja
6.2.1.8. testy integracyjne
6.2.1.9. wymaganie niefunkcjonalne
6.2.1.10. testowanie odporności
6.2.1.11. zaślepka
6.2.1.12. testy systemowe
6.2.1.13. środowisko testowe
6.2.1.14. poziom testów
6.2.1.15. wytwarzanie sterowane testami
6.2.1.16. testowanie akceptacyjne przez użytkownika
6.3. Typy testów
6.3.1. Definicje / Pojęcia
6.3.1.1. testowanie czarnoskrzynkowe
6.3.1.2. pokrycie kodu
6.3.1.3. testowanie funkcjonalne
6.3.1.4. testowanie współdziałania
6.3.1.5. testowanie obciążeniowe
6.3.1.6. testowanie pielęgnowalności
6.3.1.7. testowanie wydajnościowe
6.3.1.8. testowanie przenaszalności
6.3.1.9. testowanie niezawodności
6.3.1.10. testowanie zabezpieczeń
6.3.1.11. testowanie przeciążające
6.3.1.12. testowanie strukturalne
6.3.1.13. testowanie użyteczności
6.3.1.14. testowanie białoskrzynkowe
6.4. Testowanie pielęgnacyjne
6.4.1. Definicje / Pojęcia
6.4.1.1. analiza wpływu
6.4.1.2. testowanie pielęgnacyjne
7. 3. Statyczne techniki testowania
7.1. Techniki statyczne a proces testowania
7.1.1. Definicje / Pojęcia
7.1.1.1. testowanie dynamiczne
7.1.1.2. testowanie statyczne
7.1.2. Typy
7.1.2.1. przegląd (ręczny)
7.1.2.2. analiza statyczna (autoamtyczna)
7.1.3. Cel
7.1.3.1. znajdowanie usterek
7.1.4. Korzyści
7.1.4.1. wczesne wykrycie i naprawa usterek
7.1.4.2. zwiększenie produktywności produkcji oprogramowania
7.1.4.3. redukcja czasu produkcji oprogramowania
7.1.4.4. zmniejszenie kosztów i czasu testowania
7.1.4.5. ogólne zmniejszenie kosztu wytwarzania i użytkowania oprogramowania
7.1.4.6. zmniejszenie liczby usterek
7.1.4.7. usprawnienie komunikacji
7.1.5. Do typowych usterek, które łatwiej wykryć w testach statycznych niż dynamicznych należą min.:
7.1.5.1. odchylenia od standardów
7.1.5.2. usterki w wymaganiach
7.1.5.3. usterki w projekcie
7.1.5.4. niedostateczna pielęgnowalność
7.1.5.5. nieprawidłowe specyfikacje interfejsów
7.2. Proces przeglądu
7.2.1. Definicje / Pojęcia
7.2.1.1. kryteria wejścia
7.2.1.2. przegląd formalny
7.2.1.3. przegląd nieformalny
7.2.1.4. inspekcja
7.2.1.5. metryka
7.2.1.6. moderator
7.2.1.7. przegląd koleżeński
7.2.1.8. przeglądający
7.2.1.9. protokolant
7.2.1.10. przegląd techniczny
7.2.1.11. przejrzenie
7.2.2. Typy przeglądów
7.2.2.1. nieformalne
7.2.2.2. przejrzenie (ang. walkthrough)
7.2.2.3. przegląd techniczny
7.2.2.4. inspekcja
7.2.3. Przegląd formalny
7.2.3.1. Kroki / fazy przeglądu formalnego
7.2.3.1.1. 1. Planowanie
7.2.3.1.2. 2. rozpoczęcie
7.2.3.1.3. 3. przygotowanie indywidualne
7.2.3.1.4. 4. Kontrola / ocena / zapisanie wyników (spotkanie przeglądowe)
7.2.3.1.5. 5. Poprawki
7.2.3.1.6. 6. Zakończenie
7.2.3.2. Role i odpowiedzialności przeglądu formalnego
7.2.3.2.1. kierownik
7.2.3.2.2. moderator
7.2.3.2.3. autor
7.2.3.2.4. przeglądający
7.2.3.2.5. protokólant
7.2.4. Czynniki wpływające na powodzenie przeglądów
7.2.4.1. każdy przegląd ma jasno zdefiniowany cel
7.2.4.2. w przegląd zaangażowani są ludzie odpowiedni do jego celu
7.2.4.3. testerzy są wartościowymi przeglądającymi, którzy przyczyniają się do sukcesu przeglądu oraz poznają produkt, co pozwala im przygotować testy wcześniej
7.2.4.4. znalezione usterki są przyjmowane pozytywnie i wyrażane w sposób obiektywny
7.2.4.5. rozwiązuje się problemy personalne i psychologiczne (np. jest to pozytywnym doświadczeniem dla autora)
7.2.4.6. przegląd jest prowadzony w atmosferze zaufania; wyniki przeglądu nie zostają użyte do oceny uczestników przeglądu
7.2.4.7. stosuje się techniki przeglądania adekwatne do celów przeglądu, do typu i poziomu produktu oraz przeglądających
7.2.4.8. jeżeli jest to potrzebne, zostają użyte listy kontrolne lub role do podniesienia skuteczności znajdowania usterek
7.2.4.9. organizuje się szkolenia, szczególnie z bardziej formalnych technik takich jak inspekcja
7.2.4.10. kierownictwo wspiera dobry proces przeglądu (np. przez przeznaczenie odpowiedniej ilości czasu w harmonogramach na zadania związane z przeglądem)
7.2.4.11. kładzie się nacisk na uczenie się oraz doskonalenie procesów
7.3. Analiza statyczna przy pomocy narzędzi
7.3.1. Definicje / Pojęcia
7.3.1.1. kompilator
7.3.1.2. złożoność
7.3.1.3. przepływ sterowania
7.3.1.4. przepływ danych
7.3.1.5. analiza statyczna
7.3.2. Cechy
7.3.2.1. wczesne wykrywanie usterek, jeszcze przed wykonaniem testów
7.3.2.2. wczesne wykrywanie podejrzanych aspektów kodu lub projektu przez wyliczenie miar, takich jak wysoki stopień złożoności
7.3.2.3. identyfikacja defektów trudnych do wykrycia przez testowanie
7.3.2.4. wykrywanie zależności i niespójności w modelach oprogramowania
7.3.2.5. zwiększenie pielęgnowalności kodu i projektu
7.3.2.6. zapobieganie defektom, jeżeli zastosowane zostają wnioski z analizy procesu rozwoju oprogramowania
7.3.3. Wykrywa następujące typy usterek:
7.3.3.1. odwołanie do niezainicjalizowanej zmiennej
7.3.3.2. niespójne interfejsy pomiędzy modułami
7.3.3.3. niewykorzystywane lub niepoprawnie zadeklarowane zmienne
7.3.3.4. martwy kod
7.3.3.5. brakująca albo błędna logika (pętle potencjalnie nieskończone)
7.3.3.6. zbyt skomplikowane konstrukcje
7.3.3.7. naruszenie standardów kodowania
7.3.3.8. słabe punkty zabezpieczeń
7.3.3.9. naruszenie reguł składni kodu i modeli oprogramowania
8. 4. Techniki projektowania testów
8.1. Proces rozwoju testów
8.1.1. Definicje / Pojęcia
8.1.1.1. specyfikacja przypadków testowych
8.1.1.2. projekt testu
8.1.1.3. harmonogram wykonania testu
8.1.1.4. specyfikacja procedury testowej
8.1.1.5. skrypt testowy
8.1.1.6. śledzenie
8.2. Kategorie technik projektowania testów
8.2.1. Definicje / Pojęcia
8.2.1.1. czarnoskrzynkowa technika projektowania przypadków testowych
8.2.1.2. technika projektowania testów oparta na doświadczeniu
8.2.1.3. technika projektowania testów
8.2.1.4. białoskrzynkowa technika projektowania przypadków testowych
8.3. Techniki oparte na specyfikacji lub czarnoskrzynkowe
8.3.1. Definicje / Pojęcia
8.3.1.1. analiza wartości brzegowych
8.3.1.2. testowanie w oparciu o tablicę decyzyjną
8.3.1.3. podział na klasy
8.3.1.4. równoważności
8.3.1.5. testowanie przejść pomiędzy stanami
8.3.1.6. testowanie w oparciu o przypadki użycia
8.4. Techniki oparte na strukturze lub białoskrzynkowe
8.4.1. Definicje / Pojęcia
8.4.1.1. pokrycie kodu
8.4.1.2. pokrycie decyzji
8.4.1.3. pokrycie instrukcji
8.4.1.4. testowanie oparte na strukturze
8.5. Techniki oparte na doświadczeniu
8.5.1. Definicje / Pojęcia
8.5.1.1. testowanie eksploracyjne
8.5.1.2. atak (usterkowy)
8.6. Wybór technik testowania
8.6.1. Definicje / Pojęcia
8.6.1.1. brak ...
9. 5. Zarządzanie testowaniem
9.1. Organizacja testów
9.1.1. Definicje / Pojęcia
9.1.1.1. tester
9.1.1.2. lider testów
9.1.1.3. kierownik testów
9.2. Planowanie i szacowanie testów
9.2.1. Definicje / Pojęcia
9.2.1.1. podejście do testów
9.2.1.2. strategia testów
9.3. Monitorowanie postępu testów i nadzór
9.3.1. Definicje / Pojęcia
9.3.1.1. gęstość błędów
9.3.1.2. współczynnik awarii
9.3.1.3. nadzorowanie testu
9.3.1.4. monitorowanie testów
9.3.1.5. sumaryczny raport z testów
9.4. Zarządzanie konfiguracją
9.4.1. Definicje / Pojęcia
9.4.1.1. zarządzanie konfiguracją
9.4.1.2. kontrola wersji
9.5. Ryzyka a testowanie
9.5.1. Definicje / Pojęcia
9.5.1.1. ryzyko produktowe
9.5.1.2. ryzyko projektowe
9.5.1.3. ryzyko
9.5.1.4. testowanie oparte na ryzyku
9.6. Zarządzanie incydentami
9.6.1. Definicje / Pojęcia
9.6.1.1. rejestracja incydentu
9.6.1.2. zarządzanie incydentami
9.6.1.3. raport o incydencie
10. 6. Testowanie wspierane narzędziami
10.1. Typy narzędzi testowych
10.1.1. Definicje / Pojęcia
10.1.1.1. narzędzie do zarządzania konfiguracją
10.1.1.2. narzędzie mierzące pokrycie
10.1.1.3. narzędzie do debagowania
10.1.1.4. narzędzie do analizy dynamicznej
10.1.1.5. narzędzie do zarządzania incydentami
10.1.1.6. narzędzie do testów obciążeniowych
10.1.1.7. narzędzie do modelowania, narzędzie monitorujące
10.1.1.8. narzędzie do testów wydajnościowych
10.1.1.9. efekt próbnika
10.1.1.10. narzędzie do zarządzania wymaganiami
10.1.1.11. narzędzie wspomagające przeglądy
10.1.1.12. narzędzie do zabezpieczeń
10.1.1.13. narzędzie do analizy statycznej
10.1.1.14. narzędzie do testowania przeciążającego
10.1.1.15. komparator testowy
10.1.1.16. narzędzie do przygotowywania danych testowych
10.1.1.17. narzędzie do projektowania testów
10.1.1.18. jarzmo testowe
10.1.1.19. narzędzie do wykonywania testów
10.1.1.20. narzędzie do zarządzania testami
10.1.1.21. struktura do testów jednostkowych
10.2. Skuteczne użycie narzędzi, potencjalne korzyści i ryzyko
10.2.1. Definicje / Pojęcia
10.2.1.1. testowanie sterowane danymi
10.2.1.2. testowanie oparte o słowa kluczowe
10.2.1.3. język skryptowy
10.3. Wdrażanie narzędzi w organizacji
10.3.1. Definicje / Pojęcia
10.3.1.1. brak ...