PrzedsprzedażAkademia AI w testach i jakości oprogramowania: 1 350 zł zamiast 1 750 zł netto do 30 listopada

Startuje przedsprzedaż Akademii AI w testach i jakości oprogramowania: 5 tygodni z Tomaszem Stelmachem, start 11 stycznia 2027. Wyjątkowa cena 1 350 zł netto zamiast 1 750 zł tylko do 30 listopada.

zostało 38 dniZobacz program i zapisz się
7 zasad testowania oprogramowania według ISTQB: przykłady z projektów QA
Czas czytania: 13 minut

7 zasad testowania to siedem obserwacji opisanych w sylabusie ISTQB Certyfikowany Tester Poziom Podstawowy 4.0, które tłumaczą, czego testowanie oprogramowania może dowieść, a czego nie, gdzie szukać błędów i kiedy zaczynać testy. Znacie je pewnie z egzaminu. W tym artykule pokazujemy, jak każda z nich wygląda w prawdziwym projekcie i jaką decyzję z niej wyciągnąć w poniedziałek rano.

Wiele zespołów testuje intensywnie, a błędy i tak trafiają na produkcję. Rzadko winna jest pracowitość, częściej brak wspólnych założeń: tester zakłada, że regresja jest kompletna, product owner, że „przetestowane” znaczy „bez błędów”, a programista, że testy zaczną się dopiero po merge’u. Siedem zasad testowania oprogramowania porządkuje te założenia, zanim zamienią się w incydent.

Czym jest 7 zasad testowania według ISTQB?

Sylabus ISTQB w wersji 4.0.1 z września 2024 roku opisuje siedem zasad w podrozdziale 1.3 i od kandydata na egzaminie oczekuje, że potrafi je objaśnić. Każda zasada ma w sylabusie źródło w literaturze, od raportu NATO z 1970 roku po książkę Kanera z 2011 roku, więc to nie są slogany, tylko streszczenie kilkudziesięciu lat obserwacji. Polskie brzmienie pochodzi z tłumaczenia Stowarzyszenia Jakości Systemów Informatycznych.

Zasada (polski sylabus 4.0) Oryginał ISTQB Decyzja, którą z niej wyciągacie
1. Testowanie ujawnia defekty, ale nie może dowieść ich braku Testing shows the presence, not the absence of defects raport mówi, co sprawdzono i z jakim wynikiem, nigdy „brak błędów”
2. Testowanie gruntowne jest niemożliwe Exhaustive testing is impossible zakres testów wynika z ryzyka, technik i priorytetów
3. Wczesne testowanie oszczędza czas i pieniądze Early testing saves time and money tester czyta wymagania, zanim powstanie kod
4. Defekty mogą się kumulować Defects cluster together historia zgłoszeń wskazuje, gdzie dołożyć testów
5. Testy ulegają zużyciu Tests wear out przegląd i odświeżanie przypadków testowych co release
6. Testowanie zależy od kontekstu Testing is context dependent strategia pod produkt, branżę i regulacje, nie z szablonu
7. Przekonanie o braku defektów jest błędem Absence-of-defects fallacy obok weryfikacji robicie walidację z użytkownikiem

Źródło: ISTQB, Certified Tester Foundation Level, sylabus v4.0.1, 2024, podrozdział 1.3; tłumaczenie SJSI, wersja pl 4.0.0.1, 2025.

Jeśli przygotowujecie się do certyfikacji, cały sylabus przerobicie na szkoleniu Foundation Level 4.0, a o tym, komu egzamin się opłaca, piszemy w tekście certyfikat ISTQB: czy warto go zdawać. Dalej skupiamy się na praktyce.

Zasada 1: dlaczego testy nie dowodzą braku błędów?

Bo testy sprawdzają próbkę, nie całość. Sylabus mówi wprost, że testowanie zmniejsza prawdopodobieństwo, że w produkcie zostaną niewykryte defekty, ale samo niewykrycie defektów nie jest dowodem poprawności. Zielony raport z 400 przypadków testowych oznacza tylko tyle, że te 400 ścieżek działa w tych danych i w tym środowisku.

Skąd to się wzięło

Zdanie, od którego zaczyna się zasada 1, nie powstało w ISTQB. Sylabus podaje źródło „Buxton 1970”, czyli raport z konferencji NATO o inżynierii oprogramowania w Rzymie, 27 do 31 października 1969 roku, wydany w kwietniu 1970 roku przez Johna Buxtona i Briana Randella. W zapisie dyskusji pada krótkie zdanie Edsgera Dijkstry: „Testing shows the presence, not the absence of bugs”. Zasada, którą zdajecie na egzaminie w 2026 roku, ma więc ponad 55 lat i nadal jest aktualna co do słowa.

W praktyce zasada 1 zmienia przede wszystkim sposób raportowania. W naszych projektach z sektora medycznego, gdzie dla ChaosGears budowaliśmy dokumentację testową i odbiorczą oraz realizowaliśmy procedury odbiorcze, raport z odbioru nigdy nie mówi „system wolny od błędów”. Mówi, które wymagania pokryto, którymi testami, z jakim wynikiem i jakie ryzyka zostały świadomie zaakceptowane. To zdanie mniej efektowne, za to nie da się go podważyć.

Zamiast „aplikacja przetestowana, brak błędów” piszcie „wykonano 412 z 430 zaplanowanych przypadków, 3 defekty otwarte, w tym 0 krytycznych, nie testowano płatności kartą firmową”. Dla osoby decydującej o wydaniu to dużo lepsza informacja, bo widzi, gdzie kończy się wiedza zespołu.

Zasada 2: co testować, skoro wszystkiego się nie da?

To, co najbardziej boli, gdy zawiedzie. Sylabus zaleca zamiast testowania gruntownego trzy narzędzia: techniki projektowania testów, ustalanie priorytetów przypadków testowych i testowanie oparte na ryzyku. Prosty formularz z pięcioma polami po dziesięć wartości to już 100 000 kombinacji, a prawdziwy system ma setki formularzy, integracje i konfiguracje przeglądarek. Kto obiecuje przetestować wszystko, zwykle obiecuje też, że ten sprint na pewno skończy się w piątek.

U naszych klientów z branży wynajmu samochodów kryterium ryzyka było oczywiste: sezon wakacyjny i proces rezerwacji. W projekcie dla Autono liczyły się dwa obszary, proces rezerwacji i obciążenie w sezonie, a efekt potwierdzony przez klienta to system stabilny przy ruchu większym o 120 procent w sezonie i o 55 procent mniej błędów krytycznych w procesach rezerwacji. Nikt nie testował wszystkiego. Testowano właściwe rzeczy, mocniej niż resztę.

Jak ustalić, co jest „właściwe”, rozpisujemy w artykule o ryzyku projektowym w testowaniu i zasadzie Pareto. Najprostsza wersja to macierz: prawdopodobieństwo awarii razy skutek dla użytkownika i biznesu, oceniane razem przez testera, programistę i product ownera.

Zasada 3: ile naprawdę oszczędza wczesne testowanie?

Sylabus nie podaje jednej liczby i dobrze, bo popularne „błąd na produkcji kosztuje 100 razy więcej” trudno dziś udokumentować. Podaje mechanizm, za Boehmem z 1981 roku: defekt usunięty wcześnie nie powoduje kolejnych defektów w produktach pochodnych, więc spada koszt jakości. Błąd w wymaganiu, który przeżyje do kodu, rodzi błędny kod, błędne testy i błędną dokumentację naraz.

Skalę problemu pokazują dwa raporty. Według badania NIST z 2002 roku roczny koszt niedostatecznej infrastruktury testowania oprogramowania w gospodarce USA wynosił 59,5 miliarda dolarów, a realnie możliwe usprawnienia mogły obniżyć go o 22,2 miliarda. Raport CISQ z 2022 roku szacuje łączny koszt złej jakości oprogramowania w USA na co najmniej 2,41 biliona dolarów.

Koszt złej jakości oprogramowania w liczbach

59,5 mld $

roczny koszt niedostatecznego testowania w USA, NIST 2002

60%

tego kosztu ponoszą użytkownicy, nie producenci, NIST 2002

2,41 bln $

koszt złej jakości oprogramowania w USA, CISQ 2022

1,52 bln $

dług techniczny w oprogramowaniu w USA, CISQ 2022

Źródło: NIST, The Economic Impacts of Inadequate Infrastructure for Software Testing, 2002; CISQ, The Cost of Poor Quality Software in the US, 2022.

Wczesne testowanie to najczęściej testowanie statyczne: przegląd wymagań, kryteriów akceptacji i projektu, zanim ktokolwiek otworzy IDE. Najtańsze pytanie testera brzmi „co ma się stać, jeśli użytkownik zrobi to dwa razy?”, zadane na refinemencie. Przy audytach procesów, które prowadzimy w Quality Island, brak testera na etapie wymagań to jedno z pierwszych ustaleń, a plan testów spisany przed sprintem zwykle wystarcza, żeby to zmienić.

Zasada 4: jak znaleźć skupiska defektów we własnym trackerze?

Sylabus mówi, że zwykle większość wykrytych defektów albo awarii w eksploatacji pochodzi z niewielkiej liczby modułów, co jest ilustracją zasady Pareto, i powołuje się na badanie Endersa z 1975 roku. Dobra wiadomość: nie musicie zgadywać, gdzie są te moduły. Odpowiedź leży w Waszym trackerze. Wystarczy eksport zgłoszeń do CSV i kilkanaście linijek Pythona.

import csv
from collections import Counter

# Eksport z Jiry: wyszukiwanie zgłoszeń, Export, CSV (all fields).
# Przy kilku komponentach Jira tworzy kilka kolumn "Component/s",
# DictReader bierze wtedy ostatnią, więc do analizy wystarczy jedna na zgłoszenie.
with open("defekty.csv", newline="", encoding="utf-8") as plik:
    komponenty = Counter(
        wiersz.get("Component/s") or "bez komponentu"
        for wiersz in csv.DictReader(plik)
        if wiersz.get("Issue Type") == "Bug"
    )

suma = sum(komponenty.values())
narastajaco = 0
for komponent, liczba in komponenty.most_common():
    narastajaco += liczba
    print(f"{komponent:<30} {liczba:>5} {narastajaco / suma:>7.1%}")

Skrypt wypisuje komponenty od najbardziej zabugowanego, z udziałem narastającym. Interesuje Was moment, w którym kolumna procentów przekracza 70 do 80 procent: komponenty powyżej tej linii to Wasze skupiska. Jak przeczytać wynik i co z nim zrobić, pokazuje tabela.

Co widzicie w wyniku Co to zwykle znaczy Co zrobić w następnym sprincie
2 lub 3 komponenty dają ponad połowę zgłoszeń klasyczne skupisko: złożoność, częste zmiany albo presja czasu więcej przypadków i eksploracji w tych komponentach, przegląd kodu z testerem
dużo zgłoszeń „bez komponentu” tracker nie mówi prawdy, bo nikt nie uzupełnia pola uzupełnienie pola obowiązkowe przy zgłoszeniu, analiza za miesiąc
skupisko w module, którego nikt nie zmieniał błędy w danych, integracji albo konfiguracji, nie w kodzie testy integracyjne i przegląd danych testowych
rozkład równomierny rzadkie, ale możliwe; albo zbyt ogólne komponenty podział komponentów na mniejsze, wtedy powtórzyć analizę

Źródło: interpretacja redakcji Quality Island na podstawie sylabusa ISTQB 4.0.1, podrozdziały 1.3 i 5.2.

Sylabus łączy tę zasadę z testowaniem opartym na ryzyku: przewidywane i zaobserwowane skupiska są wejściem do analizy ryzyka. Z naszego doświadczenia wynika jeszcze jedna rzecz: najciekawsze bywa skupisko, którego nikt się nie spodziewał, bo zwykle wskazuje moduł bez właściciela.

Zasada 5: paradoks pestycydów, czyli kiedy testy się zużywają?

Gdy te same testy, na tych samych danych, od miesięcy świecą na zielono. W sylabusie 4.0 zasada nazywa się „testy ulegają zużyciu” (Tests wear out), w starszych wersjach i w codziennym języku testerów funkcjonuje jako paradoks pestycydów: szkodniki uodparniają się na ten sam oprysk, a kod na ten sam zestaw scenariuszy. Sylabus powołuje się tu na Beizera z 1990 roku i zaleca modyfikowanie testów i danych testowych oraz pisanie nowych.

Ważny niuans, który często umyka: sylabus sam zaznacza, że powtarzanie tych samych testów bywa korzystne, a przykładem jest automatyczne testowanie regresji. Regresja nie ma szukać nowych błędów, ma pilnować, żeby stare nie wróciły. U klienta Argos z branży e-commerce automatyzacja testów i uporządkowanie procesów QA skróciły regresję przed wydaniem z 5 dni do 10 godzin, a liczba awarii w okresach szczytowych spadła o 72 procent. Paradoks pestycydów dotyczy więc testów, od których oczekujecie odkryć, nie siatki bezpieczeństwa.

Argos, e-commerce: regresja, która ma się powtarzać

10 h

regresja przed wydaniem, wcześniej 5 dni

−72%

awarii w okresach szczytowych

−46%

błędów krytycznych na produkcji

+12%

konwersji dzięki stabilności checkoutu i płatności

Źródło: case study Quality Island, liczby potwierdzone przez klienta.

Praktyczny podział, który stosujemy: zestaw regresji automatycznej zostaje stabilny, a odkrywanie przenosicie do testów eksploracyjnych z nowymi celami co sprint. Jak to zrobić krok po kroku, opisujemy w artykule jak skrócić testy regresyjne z 5 dni do 10 godzin, a szersze tło daje tekst o testowaniu manualnym i automatycznym.

Zasada 6: jak kontekst zmienia sposób testowania?

Sylabus ujmuje to w dwóch zdaniach: nie ma jednego uniwersalnego podejścia, a testowanie wykonuje się różnie w różnych kontekstach, za Kanerem i współautorami z 2011 roku. W praktyce kontekst to branża, regulacje, skala ruchu, sposób wydawania wersji i to, kto ponosi skutek błędu. Te same trzy pytania dają w różnych firmach zupełnie inne odpowiedzi.

Kontekst Co jest największym ryzykiem Co to zmienia w testach Przykład z naszych projektów
Bankowość, sektor regulowany zgodność, bezpieczeństwo danych, audytowalność strategia jakości dla całej organizacji, ślad od wymagania do testu PKO BP: strategia jakości, audyt procesów QA, szkolenia zespołów
Medycyna bezpieczeństwo pacjenta, odbiór formalny dokumentacja testowa i odbiorcza, procedury odbiorcze ChaosGears: dokumentacja testowa i automatyzacja
E-commerce przychód w szczycie sprzedaży, checkout szybka regresja automatyczna, testy płatności Argos: regresja z 5 dni do 10 godzin
Rezerwacje, sezonowość obciążenie w sezonie testy wydajności i ścieżek rezerwacji Autono: stabilność przy obciążeniu większym o 120%

Źródło: case studies Quality Island; liczby Argos i Autono potwierdzone przez klientów, PKO BP i ChaosGears opisane zakresem prac.

W bankowości i medycynie dochodzi jeszcze wymóg testów niezależnych od producenta oprogramowania, czyli wprost kontekst prawny, nie techniczny. Jak to wygląda w praktyce, opisujemy na przykładzie audytu QA w sektorze regulowanym. Jeśli chcecie zaprojektować podejście pod własny produkt, punktem wyjścia jest strategia jakości oprogramowania.

Zasada 7: dlaczego brak defektów nie oznacza sukcesu?

Bo weryfikacja sprawdza, czy zbudowaliście system zgodnie ze specyfikacją, a nie czy specyfikacja była dobra. Sylabus mówi, że nawet dokładne przetestowanie wszystkich wymagań i usunięcie wszystkich defektów nie chroni przed systemem, który nie zaspokoi potrzeb użytkowników, nie pomoże w osiągnięciu celów biznesowych albo przegra z konkurencją. Dlatego obok weryfikacji potrzebna jest walidacja.

Najlepiej widać to na liczbach biznesowych. W przypadku Argos najważniejszym wynikiem dla zarządu nie był spadek liczby błędów, tylko wzrost konwersji o 12 procent dzięki stabilności checkoutu i płatności. Testy przestały być działem zgłoszeń, a stały się argumentem o przychodzie. Walidację z użytkownikami wspierają testy użyteczności, które sprawdzają, czy ludzie potrafią z produktu skorzystać, a nie tylko czy przycisk działa.

Jak wprowadzić 7 zasad testowania w zespole w jeden sprint?

Zasady same niczego nie poprawią. Poprawiają nawyki, które z nich wynikają. Poniżej cztery zmiany, które wprowadzicie w jednym sprincie, bez nowego narzędzia i bez budżetu. Konkretne zadania dla testera poza testami funkcjonalnymi, od badania użyteczności po analizę błędów z produkcji, zebraliśmy w tekście rola testera w projekcie: 6 sposobów na wartość poza testami.

Zasady 1 i 7

Nowy szablon raportu z testów

Trzy pola obowiązkowe: co przetestowano, czego nie przetestowano, jakie ryzyko akceptujemy. Plus jedno pytanie walidacyjne: czy użytkownik osiągnie swój cel.

Zasady 2 i 6

Macierz ryzyka na refinemencie

Dziesięć minut na każdą większą historię: prawdopodobieństwo awarii razy skutek. Wynik decyduje o głębokości testów, nie kolejność w backlogu.

Zasady 3 i 4

Tester na przeglądzie wymagań i analiza skupisk

Tester czyta kryteria akceptacji przed sprintem, a raz w miesiącu uruchamiacie skrypt z tego artykułu na eksporcie z trackera.

Zasada 5

Rotacja danych i godzina eksploracji

Co release zmieniacie część danych testowych, a jedna sesja eksploracyjna ma cel w module z największym skupiskiem.

Jeśli wolicie zacząć od diagnozy, sprawdzamy dojrzałość procesu w ramach audytu QA, a liderzy, którzy chcą układać strategię testów wokół ryzyka, znajdą to w szkoleniach z zarządzania testami. Antywzorce, które najczęściej łamią te zasady w zespołach, zebrała też Strefa QA w tekście o antywzorcach w testowaniu.

Co zabrać z tego artykułu

017 zasad testowania pochodzi z sylabusa ISTQB 4.0.1, podrozdział 1.3. Zasada 5 nazywa się teraz „testy ulegają zużyciu”, w praktyce wciąż mówimy o paradoksie pestycydów.

02Raportujcie zakres i ryzyko, nie „brak błędów”. Zdanie Dijkstry z 1969 roku nadal jest aktualne.

03Zakres testów ustala ryzyko, a skupiska defektów znajdziecie w eksporcie z trackera kilkunastoma linijkami Pythona.

04Powtarzalna regresja automatyczna to nie paradoks pestycydów, tylko siatka bezpieczeństwa. U Argos skróciła wydanie z 5 dni do 10 godzin.

05Brak defektów nie jest celem. Celem jest produkt, który realizuje cel użytkownika i biznesu, dlatego obok weryfikacji robicie walidację.

Źródło: ISTQB CTFL v4.0.1, 2024; raport NATO 1970; case studies Quality Island.

Chcecie sprawdzić, które z siedmiu zasad Wasz proces łamie najczęściej? Audyt QA pokaże to na Waszych danych, z listą zmian ułożoną według ryzyka.

Zobacz audyt QA


Powiązane na blogu Quality Island

Pełna lista źródeł

Co o tym sądzisz?

Dodaj komentarz

Bądź na bieżąco
Strefa QA, portal z eksperckimi artykułami o jakości oprogramowania
Bądź na bieżąco
Testy bezpieczeństwa dla początkujących
Testy bezpieczeństwa dla początkujących: OWASP Top 10 i pierwsze testy aplikacji webowych

1 000,00 zł

18.11.26, 09.12.26, 13.01.27, 03.02.27, 24.02.27, 17.03.27
1 dzień
AI Act w wyrobach medycznych
AI Act w wyrobach medycznych: testy i dokumentacja AI pod MDR

1 690,00 zł

30.11.26, 18.01.27, 08.03.27
1 dzień
AI Act w bankowości i ubezpieczeniach
AI Act w bankowości i ubezpieczeniach: scoring kredytowy, wycena ubezpieczeń i FRIA

1 690,00 zł

27.11.26, 15.01.27, 05.03.27
1 dzień
Popularne artykuły
Język Gherkin: co to jest i jak go używać w testowaniu oprogramowania
Smoke test: co to jest, kiedy go uruchamiać i czym różni się od sanity testu
Jak zostać testerem oprogramowania: ścieżka krok po kroku bez dyplomu informatyka
Najnowsze artykuły
Testowanie migracji danych i systemów: co sprawdzić, zanim przełączycie produkcję
Metryki DORA psują się w erze AI: dlaczego szybkość wydawania przestaje być dowodem jakości
OWASP Top 10:2025 okiem testera: co sprawdzić w każdej z dziesięciu kategorii
Popularne kategorie