profile picture

9 pages tagged with "testing"

bashunit

October 30, 2024

blog-cover

bashunit is a lightweight, easy-to-use testing framework for Bash, packed with handy features like parallel and snapshot testing, test doubles, data providers, and tons of built-in assertions. Backed by clear docs and an active community, it’s become a favorite for reliable Bash testing. What started as a simple dev frustration has grown into an open-source tool that makes testing in Bash a lot easier and fun.

bashunit is a lightweight, easy-to-use testing framework for Bash, packed with handy features like parallel and snapshot testing, test doubles, data providers, and tons of built-in assertions. Backed by clear docs and an active community, it’s become a favorite for reliable Bash testing. What start…

How to test private methods?

October 20, 2023

blog-cover

This is a question that I have encountered with some frequency for a long time. So I thought I would put together my thoughts on the subject here.

This is a question that I have encountered with some frequency for a long time. So I thought I would put together my thoughts on the subject here. Short answer Never. Long answer Never ever. What if…? If you really want to test a private method, consider extracting that private method logic into a…

TDD vs BDD

September 25, 2021

blog-cover

These are two different techniques. The key to each of them is about the mindset and context of what you want to achieve.

These are two different techniques. The key to each of them is about the mindset and context of what you want to achieve. BDD is a “test-driven feature” Basically, it’s a test-first driven development, where the main focus is ensuring the expected final behavior, and therefore the result of the sof…

Test-Driven (Development)

August 01, 2021

blog-cover

The complexity here is not about writing tests itself, but the habits that we have to change to create software that is easy to be tested.

The complexity here is not about writing tests itself, but the habits that we have to change to create software that is easy to be tested. The root of the problem Without (a solid) experience in testing, developers can have a hard time while trying to apply testing in general as part of their daily…

To mock or not to mock

January 11, 2021

blog-cover

Mocking is useful, but “what to mock” usually turns out to be a bit more complicated than expected if you don’t treat this carefully.

Mocking is useful, but “what to mock” usually turns out to be a bit more complicated than expected if you don’t treat this carefully. How to escape the mocking hell What is actually happening when we create a mock? Which types of mocks are there? Is mocking good or bad? Well, as always, everything …

Testing Effectively Legacy Code

August 17, 2020

blog-cover

These tests are also known as Characterization tests.

These tests are also known as Characterization tests. A characterization test describes the actual behavior of an existing piece of software, and therefore protects existing behavior of legacy code against unintended changes via automated testing. This term was coined by Michael Feathers. They e…

The art of refactoring

June 28, 2020

blog-cover

If you see something, in the scope of your current task, that can be easily improved, improve it. And if you have any questions about it, ask.

If you see something, in the scope of your current task, that can be easily improved, improve it. And if you have any questions about it, ask. What is refactoring? Refactoring means improving your code. It can go from making a variable name more readable, extract some lines of code into a private m…

The art of testing: where design meets quality

April 07, 2020

blog-cover

Why you should consider testing as part of your daily development habit and how it’s directly linked to the software quality.

Why you should consider testing as part of your daily development habit and how it’s directly linked to the software quality. This post intends not to explain the different testing techniques that we can use. I’m not going to tell you the differences between unit, integration, feature, or end-to-e…

Working Effectively with Legacy Code

July 01, 2019
What is legacy code? Legacy code is simply code without tests. Benefits of tests Behavior is central to understanding the benefits of testing: Behavior is the most important thing about software. It is what users depend on. Users like it when we add behavior (provided it is what they really want…