W tradycyjnych modelach kontroli jakości, testowanie zawsze przesuwane było w prawo w cyklu życia oporgramowania. Oznacza to, że najwięcej testów uruchamianych było w późnych fazach projektowych.
Na pierwszym miejscu stawiano zawsze definiowanie i tworzenie oprogramowania bez większej kontroli jakości, a dopiero później sprawdzano, co zostało wytworzone. Generuje to wiele problemów projektowych oraz produktowych.
Późne testowanie powoduje między innymi:
- mniejsze zaangażowanie testerów czasowe i budżetowe w kontrolę jakości,
- defekty wymagań, projektu itp. są znajdywane później, zazwyczaj jak już zostały „zaimplementowane”,
- eliminowanie defektów (identyfikacja, debugowanie, naprawianie, testowanie regresyjne) staje się trudniejsze,
- testowanie białoskrzynkowe polegające na pokryciu kodu staje się praktycznie niemożliwe,
- zostaje mniej czasu na naprawę defektów znalezionych w testowaniu, więc mogą otrzymać status „przesunięte na kolejną wersję”.
Całościowo, koszty naprawy defektów stają się większe wraz z czasem upływającym od rozpoczęcia projektu. Dobrze obrazuje to tabela odnosząca się do reguły 1:10:100.
Wczesne testowanie znane ze źródeł ISTQB mówi co prawda o wczesnym testowaniu, ale zazwyczaj oznacza to wczesne zaangażowanie testera. Koncept shift-left mówi o tym, że całościowy wysiłek na kontrolę jakości musi się rozpocząć wcześnie w cyklu życia oprogramowania.
Jak przeprowadzamy wdrożenie testowania przesunięcia w lewo?
- Przemyślane i konsultowane planowanie. Plany budowane są poprzez rozmowy o potrzebach biznesowych oraz końcowych użytkowników.
- Statyczne testowanie, w tym walidacja wymagań i projektów.
- Całościowa strategia testowania dla wszystkich obszarów kontroli jakości, od testów jednostkowych poprzez testy manualne, aż po testy akceptacyjne i powdrożeniowe. Pomaga to redukować nakłady na testy oraz nie dublować prac.
- Analiza ryzyk. Ustalanie jakie aspekty naszego oprogramowania są prawdziwe, ryzykowne i definiowanie wymagań bazując na tej analizie.
- Automatyzacja prac, która pomaga redukować ludzkie błędy i zwiększać pokrycie.
Wdrożenie shift-left to wiele korzyści projektowych jak szybsze wdrożenia, większe zadowolenie członków zespołu i partnerów biznesowych.
Autor: Grzegorz Ler