Shift-left testing, czyli wczesne testowanie

Przesunięcie testowania w lewo (shift-lef) jest podejściem, w którym testowanie wykonywane jest wcześnie w cyklu życia oprogramowania. Nie jest to koncepcja nowa, ale w ostatnich latach otrzymała nową definicję.

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?

  1. Przemyślane i konsultowane planowanie. Plany budowane są poprzez rozmowy o potrzebach biznesowych oraz końcowych użytkowników.
  2. Statyczne testowanie, w tym walidacja wymagań i projektów.
  3. 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.
  4. Analiza ryzyk. Ustalanie jakie aspekty naszego oprogramowania są prawdziwe, ryzykowne i definiowanie wymagań bazując na tej analizie.
  5. 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

 

Inspirowane przez:

 

Najbliższe terminy szkoleń

 

23-26 września - Rzeszów

Zawód Tester


26-27 września - Warszawa

Od Testera do Managera


30 września-3 października - Warszawa

Zawód Tester

 

Partnerzy

Narzędzia testerskie