Studenci sztuki testowania, czyli jak uczyć testowania przez kontekst

"Edukacja studentów na uczelniach daje olbrzymią satysfakcję zawsze, gdy ci teoretycznie niedoświadczeni testerzy pokazują umiejętności i wiedzę zarezerwowaną dla ich doświadczonych kolegów" - Radek Smilgin podsumowuje wrażenia po zajęciach ze studentami testowania oprogramowania.

 

Podczas studiów często mamy do czynienia z osobami nie mającymi żadnego praktycznego doświadczenia w testowaniu i których dopiero mamy wszystkiego nauczyć. Osobiście na swoich zajęciach próbuję pokazać im szeroką perspektywę testowania, nieograniczoną tylko wykonaniem testów. Wspólnie próbujemy zrozumieć współczesny świat IT, modele wytwórcze i wpasowanie do tego testowania. Można pokazać teoretyczny model wytwarzania oprogramowania, ale można również pokazać jego zastosowanie.

 

 

 

Dla mnie ważną umiejętnością każdego testera jest zrozumienie kontekstu, w jakim pracuje. Przedstawiając procesy testowania zawsze podkreślam, że są one bardzo podobne, a główne różnice są w szczegółach, takich jak techniki czy kolejność wykonania operacji. Często takie same działania po prostu nazywają się inaczej, a podobne produkty mają zupełnie niepodobne nazwy. Procesy są jednak niczym bez wpasowania ich w modele wytwarzania oprogramowania. Na moich zajęciach każdy student musi zrozumieć, że dobre testowanie jest nierozerwalnie związane z dopasowaniem do modelu wytwórczego. Jednym z kluczowych i bardzo trudnych zadań jest zastosowanie teorii procesów testowych w realnym modelu. Moje podejście do edukacji w tym obszarze ewoluowało przez dotychczasowe zajęcia i wydaje mi się, że osiągnęło finalną formę podczas ostatnich zajęć na Uniwersytecie Jagiellońskim. Po krótkim wprowadzeniu teoretycznym poprosiłem studentów o dopasowanie testowania do wybranego modelu wytwórczego. Większość wybrała DevOps.

 

 

Wizualizacja DevOps z Wikipedii

 

Co ważne nie opowiadam czym jest DevOps, nie mówię o teorii modelu wytwarzania, bo specyfika danej organizacji i projektu w większości przypadków modyfikuje model wytwórczy do potrzeb konkretnego produktu. Nie ma więc sensu opowiadać o teorii, a jedynie skoncentrować się na odnalezieniu w tej prostej wizualizacji modelu czynności testowania. Nie odbieram studentom prawa do posługiwania się Internetem i poszukiwania źródeł. Jeśli nie wiedzą, czym są poszczególne działania i zadają pytania, co dzieje się w konkretnych fazach, chętnie udzielam odpowiedzi. Nie oczekuję, że proces testowy, jaki wysnują z modelu będzie doskonale poprawny. Bazują na szczątkowych informacjach i mają prawo popełniać błędy. Kolejna iteracja analizy modelu da im więcej informacji i dokładniejszy (zgodny z teorią) proces. Poniżej prezentuję wynik około 30-minutowej, samodzielnej pracy, której celem było wpisanie w DevOps testowania. Na model zostały naniesione czynności i produkty testowania.


PLAN

Czynności:

  • testowanie wymagań
  • wstępne przygotowanie przypadków testowych
  • tworzenie/konsultacja wymagań do testów

Produkt:

  • zgłoszenia poprawek do wymagań
  • wymagania do testów
  • Definition of done


CREATE

Czynności:

  • przygotowanie przypadków, środowisk oraz danych testowych
  • unit testy
  • automatyczne testy regresyjne

Produkt:

  • plan testów
  • procedury testowe
  • przypadki i dane testowe


VERIFY (na środowisku testowym)

Czynności:

  • wykonanie testów w oparciu o przygotowane przypadki
  • testy akceptacyjne
  • testy regresyjne (automatyczne/manualne)

Produkt:

  • zgłoszenia bugów
  • raport z testów


PACKAGE (pre-prod)

Czynności:

  • testy regresyjne automatyczne

Produkt:

  • raport


RELEASE (produkcja; możliwy rollback do poprzedniej wersji)

Czynności:

  • testy poinstalacyjne


MONITOR (produkcja; możliwy rollback do poprzedniej wersji)

Czynności:

  • testy hot fixów
  • pen testy
  • testy wydajnościowe

Produkt:

  • raport


Wejście w kolejny etap planowania powinno być poprzedzone retrospekcją poprzednich działań i wyciągnięciem z nich wniosków co do usprawnień i praktyk, które chcemy  wdrożyć przed kolejną iteracją/sprintem.

 

Z olbrzymią satysfakcją czytam wynik tej pracy, ponieważ mam wewnętrzne przekonanie, że udało mi się tych studentów czegoś nauczyć, a może po prostu odkryć potencjał, który posiadali. W wynikach widać duże zrozumienie dla procesu testowego oraz umiejętne przeniesienie go na SDLC. Edukacja studencka w tym wypadku jest jak zapisywanie białej karty. Ludzie z praktycznie zerowym doświadczeniem wykonują zadania, które my - doświadczeni testerzy - wykonujemy (lub powinniśmy wykonywać) przy każdym kolejnym projekcie. Mam przekonanie, że tak nabyte umiejętności pozostaną na długo w ich głowach i przełożą się na lepsze świadczenie usługi testowania w projektach.



Radek Smilgin

 

 

 
 

Najbliższe szkolenia

 

29-31.05.17 - Katowice

ISTQB Poziom Podstawowy (Foundation Level)


1-2.06.17 - Warszawa

Dobry Tester - Laboratorium


12-14.06.17 - Warszawa

ISTQB Poziom Podstawowy (Foundation Level)

 

Partnerzy

Narzędzia testerskie