Elementy testowania z ISTQB® podważane przez Agile

Elementy testowania z ISTQB® podważane przez Agile
W tym artykule skoncentrujemy się na tych rzeczach, które mają znaczenie w sylabusie poziomu podstawowego ISTQB®, ale zostały skutecznie podważone przez projekty zwinne i inne współczesne metody wytwarzania oprogramowania.

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ę.

To powinno Cię zainteresować