Who Shook Up the World of PL/SQL Testing? A Conversation with Jacek Gębal



A new PWOW webinar is approaching, focusing on a topic often—unfairly—neglected: Unit Testing. 🧪 The key to success isn't just writing ad hoc tests, but their REUSE. During this session, you will learn how to design a testing process within your development cycle and which tools to use to achieve the best results with minimal effort.

In connection with the upcoming webinar, we have a special treat for you – an interview with the creator of the utPLSQL tool, Jacek Gębal:

Who Shook Up the World of PL/SQL Testing? A Conversation with Jacek Gębal.

Meet the man who brought order to the chaos of database code. While the original foundation of utPLSQL was first laid by the legendary Steven Feuerstein, the framework has since undergone a modern transformation. Today, Jacek Gębal stands as the lead architect and driving force behind its evolution, helping Oracle developers trade manual "hope-it-works" testing for professional automation.

Check out the framework at utplsql.org.

Now that you know who’s behind the tool, enjoy our interview!


What made you decide to write utPLSQL in the first place?

Was there a moment when you thought, “Right, I can’t keep testing like this”? 😄

Before utPLSQL v3 was created, I was already working with ruby-plsql-spec and loved the simplicity and clarity of unit test definitions written in Ruby.

Moving to Ireland and changing projects forced me to stop using ruby-plsql-spec. The company didn’t want to use yet another tool – they were using utPLSQL v2.

At that time, v2 hadn’t been developed for years and was a mishmash of different visions. It lacked good reporting, test coverage, and integration with Jenkins or other CI (continuous integration) platforms.

In conversations with technical leads, I kept hearing that nothing could be done and that everyone had to test using utPLSQL.

So I thought that utPLSQL needed to be rewritten from scratch, because the existing version was unmaintainable and couldn’t be developed further.

At first, I thought it was impossible. After a few weeks of writing tests in utPLSQL v2, I realised that testing like that wasn’t feasible either.

So I went on Sourceforge  and asked a few questions. It turned out there were a few madmen like me who wanted to rewrite utPLSQL from scratch.

So we got down to work in 2015 (click)

 

When you first started utPLSQL, did you see it as a large framework, or more as a small tool “for yourself and a few friends” that later grew? 😄

 From the start, I had a vision of creating a large, robust framework, with clear module boundaries and separation of responsibilities. It was (and still is) quite an adventure.

 

What do you think is utPLSQL’s greatest strength today? 

Something that really makes a difference when working with PL/SQL?

Ease of use, compatibility, integration with CI platforms (Azure/GitHub/Jenkins/Sonar), automatic rollback, shared setup and test grouping (suitepath). utplsq-cli from the command line. The ability to add your own extensions (reports, operators, data types).

 

The largest utPLSQL project you’ve seen — roughly how many tests were there?

And how long did a full run take? Was it more of a ‘click and it’s done’ sort of thing, or more like time for a coffee? 😄

utPLSQL itself is tested and there are ~1100 tests here. *The execution time for all tests is less than 3 minutes. * (click)

In many projects, the time is much longer. With one client, I saw 40 minutes for 1,500 tests; with others, it took hours for 200 tests.

It all depends on the circumstances.

Testing requires strategy and planning, especially when dealing with data operations.

 

And the most important question 😄

5. Do you ever find yourself saying:

“Don’t worry, those tests have been red for ages. That’s just how it is.” 😄

Hahaha...🤣 ... no
If my tests are failing, my top priority is fixing the code (or the tests). For me, it’s like a bungee jump knowing something’s not right.
I’ve delivered production hotfixes with red tests before, but we knew exactly why the tests were red and fixing the issue in production was an absolute priority. After delivering a critical fix to production, the tests were always fixed first.
When I see red tests, I feel as if I’ve eaten spoiled meat.  🤭🫢🤢🥵

 

Thank you, Jacek, for the talk!

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

If you want to explore the tool—check out utplsql.org.

And if you’re not sure how to start your testing journey—you’re invited to join our 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/en/groups

📅 PWOW Calendar: how2ora.pl/en/pwow

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




Komentarze