ISTQB® – co powinieneś wiedzieć zanim przystąpisz do kursu
Dla kogo przeznaczone są szkolenia ISTQB®?
Szkolenie ISTQB® to obowiązkowa pozycja na liście edukacyjnych “must have” dla takich osób jak: testerzy, analitycy testów, inżynierowie testów, konsultanci i menedżerowie testów, testerzy akceptacyjni użytkownika, testerzy oprogramowania czy programiści. Wiedza z zakresu testowania oprogramowania przyda się również w pracy kierownika projektów, kierownika jakości czy tworzenia oprogramowania, analityka biznesowego, dyrektora IT, a także konsultanta zarządu, czyli wszystkich tych osób, które z testerami na co dzień pracują.
Co daje certyfikat ISTQB®?
Posiadanie certyfikatu ISTQB® jest potwierdzeniem zdobytej wiedzy i kompetencji z zakresu testowania oprogramowania i daje konkretne uprawnienia do podejmowania określonych ról zawodowych.
ISTQB® Certified Tester Foundation Level (CTFL) – daje kwalifikacje do pełnienia roli testera, który pod nadzorem Menadżera Testów, może manualnie przetwarzać testy i je udokumentować.
ISTQB® Certified Tester Advanced Level – Test Manager (CTAL-TM) upoważnia do podjęcia roli kierownika testów. Natomiast ISTQB® Certified Tester Advanced Level – Technical Test Analyst (CTAL-TTA) – daje kwalifikacje do pełnienia roli technicznego analityka testów.
Dlaczego testowanie oprogramowania jest istotne?
Testowanie ma kluczowe znaczenie w procesie wytwarzania oprogramowania. Odpowiednio wcześnie wykryte i zdiagnozowane błędy i braki w funkcjonalnościach pozwalają na szybką reakcję i korektę defektów. Im wcześniej braki zostaną wykryte i naprawione tym mniej kosztowne będą.
Jakie są typy i cele testów?
ISTQB® dzieli testy na funkcjonalne (czarna skrzynka), niefunkcjonalne (testowanie atrybutów niefunkcjonalnych, np. wydajność, niezawodność), strukturalne lub architektury oprogramowania lub systemu oraz testowanie powiązane ze zmianami (testy potwierdzające, testy regresji).
Testowanie funkcjonalne – czarna skrzynka
Testy funkcjonalne opierają się na funkcjonalnościach lub funkcjach systemów, podsystemów i komponentów opisanych jako wymagania specyfikacji, czy przypadki użycia.
Ten typ testowania polega na analizie zewnętrznego zachowania oprogramowania, podobnie jak w przypadku czarnej skrzynki.
Testowanie niefunkcjonalne – testowanie atrybutów niefunkcjonalnych
Testy niefunkcjonalne obejmują m.in. testy wydajności, obciążeń, przeciążające, użyteczności, zdolności do operowania, utrzymaniowe, niezawodności i zdolności do pracy na różnych platformach. Testy niefunkcjonalne określają JAK system działa.
Mogą być one wykonywane na wszystkich poziomach testowych.
Testowanie strukturalne – biała skrzynka
Na wszystkich poziomach testowych mogą być również wykonane testy strukturalne. Te techniki stosuje się do wspierania pomiarów dokładności testowania poprzez ocenę pokrycia określonego typu struktury. Jest ono mierzone za pomocą zestawu różnych testów i określane procentowo.
Testowanie regresywne i potwierdzające
Testy potwierdzające przeprowadzane są w celu upewnienia się, że znaleziony defekt został naprawiony. Testy regresji to powtarzalne testy, przeprowadzone po modyfikacjach programu w celu zdiagnozowania ewentualnych innych defektów, wcześniej nie wykrytych. Testy regresywne wykonywane są gdy oprogramowanie lub jego środowisko, zostanie zmienione. Mają one jako główne zadanie dokonać oceny ryzyka.
Czym są statyczne techniki testowania?
Testowanie statyczne to proces wyszukiwania błędów od zbierania wymagań biznesowych przez konstruowanie kodu, po dostarczenie produktu. W odróżnieniu od testowania dynamicznego przeprowadzane jest bez uruchamiania aplikacji. Wykonywane jest za pomocą przeglądów (sprawdzanie ręczne) oraz analizy statycznej (analiza automatyczna).
Przegląd to proces (bądź spotkanie), w którym produkt prezentowany jest członkom zespołu projektowego, użytkownikom i interesariuszom projektu, mający na celu pozyskanie opinii na temat rozwiązania. Przeglądy mogą być przeprowadzane zarówno w formie nieformalnych spotkań, jak i moderowanych, ustrukturyzowanych sesji.
Analiza statyczna prowadzona jest w oparciu o analizę artefaktów oprogramowania (np. wymagań bądź kodu programu), która jest przeprowadzona bez wykonywania tych artefaktów. Analiza statyczna zazwyczaj przeprowadzana jest przy pomocy narzędzi, takich jak analizator statyczny.
Testy statyczne są wartościowe ze względu na możliwość wykrycia nieprawidłowości już na etapie formułowania wymagań, co przekłada się na niższe koszty dla projektu. Zaletą przeglądów jest niezależność od dostarczonego kodu.
Podsumowanie
Testowanie to ważny i nieodłączny aspekt każdego projektu zorientowany na wytwarzanie rozwiązań. Od przeprowadzanych testów w dużej mierze zależy jakość i funkcjonalność wytwarzanego produktu oraz wysokość ostatecznych kosztów projektu.
Z tego powodu osoby pracujące przy procesach testowania powinny być odpowiednio wykwalifikowane i przygotowane, aby móc zapewniać jak najwyższą jakość testów. Znajomość specyfiki testowania jest kluczowa również dla osób współpracujących, nadzorujących i koordynujących pracę testerów. Dla testerów, inżynierów i analityków testów, a także dla kierownictwa projektów polecamy udział w szkoleniach ISTQB®.
Źródła:
- Słownik wyrażeń związanych z testowaniem ISTQB®
- https://testerzy.pl/artykuly/statyczne-techniki-testowania
- https://testerzy.pl/baza-wiedzy/typy-testow
- http://www.testowanie.net/testowanie/testowanie-statyczne/