Blog & Artikel von Jacek Bilski

Blog-Post

Behaviour over structure

We, developers, often forget why we even exist. We quite often don’t remember that our purpose is not to write software, but to solve problems. Those come in different forms, but can be generalized as «we need to start doing this», «we need to stop doing this» or «we need to do this differently». Those «do» and «doing» are the key, whatever «this» is. It’s the behaviour our software exhibits that is most important, almost everything else is secondary.

Blog-Post

Test organization and naming

As our system grows, so will our test suites. For our production code, we have learned techniques to keep it maintainable. For example, we try to structure our logic into sub-aspects, put them in specific locations and give the units meaningful names. We want to achieve the same for our tests. One of the main goals is that a developer - or generally speaking, the person who has to maintain the test - knows where to find which test. We also want to understand as quickly as possible what the test is for and what might be the reason for a failing test.

Blog-Post

Test Strategy

Blog-Post

Tests Granularity

In two previous posts we discussed the benefits of automated tests and the properties of a good test. So far we were trying to avoid differentiating the tests in any way. This time we want to address one way how tests can be classified: tests granularity.

Blog-Post

Anatomy of a Good Test

In our last post, we focused on why we should write tests and what value they provide. This time we will go far more technical and take a look at a single test. We will show what makes a test a good one and describe desired and unwanted properties. Interestingly enough, all those properties hold, no matter how isolated or integrated the test is. This already gives us a hint that all tests are alike, we should remember that. Unfortunately, as the topic is very broad, we will have to skip some aspects that play a role when we’re talking about test suites. We will get back to them in one of our next posts.

Blog-Post

Why you should write automated tests

Blog-Post

Familiarity - friend or foe

Familiarity has two sides. On one, it is quite beneficial, you know the ways, the tools, the pitfalls and it all enables you to work fast. But at the same time, it can make you blind to mistakes you’re doing or violations of processes or good practices.

Blog-Post

Testing is storytelling

Tests do not only exist to verify the absence of known bugs. They’re also documenting the expected behaviour of a system. Moreover, they’re showing developers how to use code.

Blog-Post

Understanding decomposed

Blog-Post

Spring-less testing

Spring is a great project, it helps a lot with common, usually mundane, tasks. But it’s not always unicorns and rainbows. Too much Spring in tests can cause a few issues like long execution time and fragility. Here, I’m showing how to avoid such pitfalls.

Blog-Post

Supporting understanding with simplicity

Why do we even talk about simplicity? Why is it such a hot topic? Why is nobody praising complexity? Why do things like the KISS exist?