Sylabus w swojej współczesnej formie został odświeżony i oprócz opisywania klasycznego podejścia do testowania pokazuje również, jak sprawy mają się w odniesieniu do projektów zwinnych. Używa się w nim ciekawego zabiegu, w którym na początku pokazane jest historyczne podejście do testowania, a później tłumaczy się jak to wygląda w Agile. W rzeczywistości poprawniej byłoby stwierdzić, że czynności opisane w sylabusach są teorią, a w praktyce wygląda to zupełnie inaczej. Agile i współczesny świat odrzuca testowanie opisane w sylabusach, a wśród przyczyn można znaleźć: brak praktyczności, niezrozumiałość i zawiłość definicji, duże koszty wdrożenia i brak elastyczności.
Ciężko mówić nawet o podważaniu czegokolwiek przez Agile, ponieważ nie wchodzi on w polemikę z ISTQB®, tylko działa w oparciu o własne zasady. Oto rzeczy, jakie znajdziemy w sylabusach, ale nie w sprincie lub iteracji.
Cele testowania
Testowanie w Agile ma jeden cel, taki sam jak wszystkie inne działania zespołów zwinnych, a wszystkie inne są jego pochodną. Celem tym jest: działające oprogramowanie. Jest to coś, czego ISTQB® nie uwzględnia, ponieważ testowanie w sylabusach jest odseparowaną czynnością, a w Agile jest to powinność zespołu, w skład których wchodzą osoby, które testują.
Testowanie a debugowanie
Dziś coraz bardziej zamazuje się silnie zarysowana w sylabusie granica między testowaniem a programowaniem. Debugujący tester nie jest już niczym dziwnym tak jak i testujący developer.
Dlaczego testowanie jest niezbędne?
Testowanie w klasycznym rozumieniu jest zbędne w Agile. Podkreśla to manifest, Scrum Guide i wiele innych publikacji zwinnego świata. To hasło sie po prostu tam nie pojawia.
Zapewnienie jakości a testowanie
Agile, ale również wiele innych projektów nie rozróżnia zapewnienia jakości (QA) od testowania.
Świat stosuje zamiennie nazwy ról projektowych "tester" i "QA". Dla formalistów jest tu oczywista różnica, ale w Agile obowiązki QA-a biorą na siebie Scrum Master z Product Ownerem. Można więc sobie testera nazywać QA-em.
Pomyłki, defekty i awarie
W Agile tak się nie mówi i mało kto widzi różnicę między tymi pojęciami. Słownikowe różnice nie mają żadnego znaczenia.
Proces testowy
Procesowość testów została sprowadzona do prostych (możliwie najprostszych) czynności rzadko znajdujących swoje odpowiedniki w iteracjach i zupełnie inaczej wykonywanych niż ma to miejsce w sylabusach.
Różnice w sposobie myślenia testerów i programistów
Klimat przeciwstawiania sobie testerów i programistów jako herosów prowadzących nieustanną bitwę jest w ISTQB® mocno wyczuwalny. Agile-owiec retorycznie zapyta WTF? Tak. Zdarza się, że dwie osoby w zespole myślą inaczej, ale wyróżnianie dwóch ról i podskórne ich antagonizowanie jest sprzeczne z podstawowymi zasadami zwinności.
Poziomy i typy testów
Poziomy i typy testów są martwe. Nie da się tworzyć iteracyjnie oprogramowania i mieć sytuacji, w której poziomy się nie przenikają i nie stanowią spójnej całości. Szkoda na to czasu. Co prawda niektóre rzeczy będą wymagały bardziej specjalistycznej wiedzy, ale Agile nie przypisuje temu szczególnej wagi.
Testowanie pielęgnacyjne
W modelu CI/CD lub kulturze DevOps próba wyróżnienia testów fazy utrzymania wydaje się co najmniej karkołomna. Oprogramowanie w całym swoim cyklu życia jest praktycznie ciągle rozwijane.
Podsumowanie
Powyższe dotyczy tylko fundamentalnych reguł opisanych w dwóch pierwszych rozdziałach sylabusa ISTQB®. W większości projektów agile-owych oczywiście nie znajdziemy również wielu innych elementów opisanych w kolejnych rozdziałach sylabusa, jak np. formalnych przeglądów, ciężkich technik projektowania testów, monitorowania testów i nadzoru nad nimi czy zarządzania ryzykiem itd.
Świat zwinności odjechał, a ISTQB® zostało na peronie. Próba stworzenia sylabusa i certyfikatu "Agile tester" była próbą dogonienia Agile, ale w opinii wielu kompletnie nieudaną. Nie jest jednak za późno i jest jeszcze szansa na poprawę.