Kto namieszał w świecie testów PL/SQL? Rozmowa z Jackiem Gębalem


 

Zbliża się kolejny webinar z cyklu PWOW. Tym razem bierzemy na warsztat temat, który często jest traktowany po macoszemu: testy jednostkowe. 🧪

Bo prawda jest taka, że samo „napisanie kilku testów” to dopiero początek. Największy sens mają wtedy, gdy da się ich używać wielokrotnie, bez przepisywania wszystkiego od nowa przy każdej zmianie. Podczas webinaru pokażemy, jak sensownie wpleść testy w proces developmentu i z jakich narzędzi korzystać, żeby osiągnąć dobry efekt bez dokładania sobie roboty.

A z okazji webinaru mamy też coś ekstra — rozmowę z twórcą utPLSQL, Jackiem Gębalem.

Kto namieszał w świecie testów PL/SQL? Rozmowa z Jackiem Gębalem

Poznajcie człowieka, który pomógł ogarnąć chaos w testowaniu kodu bazodanowego. Fundamenty pod utPLSQL położył co prawda Steven Feuerstein, ale przez lata framework przeszedł sporą ewolucję. Dziś za jego rozwój odpowiada głównie Jacek Gębal — człowiek, dzięki któremu „odpal i zobaczymy, czy działa” można zamienić na porządne, automatyczne testy.

Framework możecie sprawdzić tutaj: utPLSQL

A skoro już wiecie, kto za tym stoi — zapraszamy do wywiadu 🙂


Co Cię w ogóle skłoniło do napisania utPLSQL?

Był jakiś moment typu „dobra, nie da się już tak testować”? 😄

Przed powstaniem utPLSQLa v3 pracowałem już z ruby-plsql-spec i uwielbiałem prostotę i klarowność definicji testów jednostkowych pisanych w Ruby.

Przenosiny do Irlandii i zmiana projektu zmusiła mnie do zaprzestania ruby-plsql-spec. Firma nie chciała używać kolejnego narzędzia - używali utPLSQL v2.

W tamtym czasie v2 był juz nie rozwijany od lat i był zlepkiem różnych wizji. Brakowało dobrego raportowania, pokrycia kodu testami, integracji z Jenkinsem czy innymi platformami CI (continuos integration).

W rozmowach z liderami technologicznymi ciągle słyszałem że nic się nie da zrobić i że wszyscy mają testować w utPLSQL.

Więc pomyślałem że trzeba tego utPLSQLa napisać od nowa, bo istniejący nie jest utrzymywalny i nie da się go rozwijać.

W pierwszej chwili pomyślałem że to jest niewykonalne. Po kilku tygodniach pisania testów w utPLSQL v2 uznałem że tak też się nie da testować.

Wszedłem więc na Sourceforge i zadałem kilka pytań. Okazało się że takich wariatów jak ja, co chcą utPLSQL of nowa napisać jest kilku.

Wiec zabraliśmy się do roboty w 2015 roku (click)

 

Jak zaczynałeś utPLSQL, to myślałeś o tym jako o dużym frameworku, czy raczej o małym narzędziu „dla siebie i kilku znajomych”, które potem urosło? 😄

 Od początku miałem wizję stworzenia dużego, solidnego framerwoku, z porządnymi granicami modułów i segregacją odpowiedzialności. To była (i nadal jest) niezła przygoda.

 

Co według Ciebie jest dziś największą zaletą utPLSQL?

Coś, co naprawdę zmienia życie przy pracy z PL/SQL?

 Prostota użycia, kompatybilność, integracja z platformami CI (Azure/Gihub/Jenkins/Sonar), automatyczny rollback, współdzielony setup i grupowanie testów (suitepath). utplsq-cli z linii poleceń. Możliwość dodawania własnych rozszerzeń (raporty, operatory, typy danych).

 

Największy projekt z utPLSQL, jaki widziałeś — ile tam było mniej więcej testów?

I ile trwało pełne odpalenie? Tak bardziej „klik i jest”, czy raczej czas na kawę? 😄

utPLSQL sam w sobie jest testowany i jest tu ~1100 testów. *Czas wykonania wszystkich testów to mniej niż 3 minuty. click

W wielu projektach czas jest dużo dłuższy. U jednego klienta widziałem 40 minut dla 1500 testów u innych czas szedł w godziny dla 200 testów.

Wszystko zależy od okoliczności.

Testowanie wymaga strategii i planowania, zwłaszcza gdy mamy do czynienia z operacjami na danych.

 

I najważniejsze pytanie 😄

Czy Tobie też zdarza się czasem powiedzieć:

*„Spokojnie, te testy od dawna są czerwone. Tak ma być.” 😄*

Hahaha...🤣 ... nie

Jak mam czerwone testy to pierwszy priorytet to naprawa kodu (lub testów). Dla mnie to jak skok na bungee wiedząc że coś jest nie tak.

Zdarzało mi się dostarczyć na hotfix produkcję z czerwonymi testami ale było dokładnie wiadomo dlaczego testy są czerwone a naprawa problemu na produkcji miała absolutny priorytet. Po dostarczeniu krytycznej poprawki na produkcję testy zawsze były naprawiane w pierwszej kolejności.

Jak widzę czerwone testy to czuję się jakbym zjadł zepsute mięso.  🤭🫢🤢🥵

 

Dzięki, Jacek, za rozmowę!

-----------------------------------------------------------------------------------------------------

Jeśli chcecie zacząc przygodę z testami jednostkowymi z narzędziem utPLSQL - zerknijcie na stronę utplsql.org


A jeśli nie jesteście pewni, jak rozpocząć przygodę z testami jednostkowymi zapraszamy na nasz darmowy webinar: 

🎙️ Speaker: Sabine Heimsath

🗓️ Date: 27.05.2026

 Topic: utPLSQL – The Perfect Testing Tool for Lazy People

💰 Cost: 0 PLN / FREE

🔗 Details: how2ora.pl/pwow

✍️ Register: pwowwebinar3.konfeo.com/groups

📅 PWOW Calendar: how2ora.pl/pwow

📅 POUG Calendar:  poug.org/kalendarz-wydarzen/











Komentarze