bashunit
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…
Test-Driven Development: writing tests first to drive better design.

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…

A practical guide to pair programming that works -- roles, rotation, when to pair, common pitfalls, and how to make sessions productive.

From time to time I have had to face this question: how to test private methods? I have put together in an article the techniques that I usually use.

This will be controversial, but let's talk about the QA position. The hidden truth behind the lack of software quality and why this should concern you if you write software.

My interview with devm.io regarding Agile and Extreme Programming. Agile is more about HOW you do certain things, rather than WHAT things you do.

Robert C. Martin covers the three pillars of software craftsmanship: TDD disciplines with practical examples, professional standards for teams, and the ethical responsibilities of programmers.

Real seniority goes beyond job titles. It's about impact, mentoring others, owning outcomes, and raising the bar for your entire team.

Our profession is constantly evolving; therefore, it demands a non-stop learning process. Embracing the change is not optional in our software industry. We need to create spaces to get out of our comfort zone.

There are two known schools in TDD: the mockist school (aka Outside-in) and the classicist school (aka Inside-out).

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

TDD is a design practice, not just a testing technique. Writing tests first changes how you think about code and shape its structure.

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

How to write characterization tests for legacy code to safely refactor without breaking existing behavior.

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

This book is about Agile. What it was, what it is, and what it will be. This is a back-to-basics talk that covers the history of Agile, what motivated it, and what has happened to it since.

Extreme Programming (XP) is an agile software development framework that aims to produce higher quality software, and higher quality of life for the development team. XP is the most specific of the agile frameworks regar…

Michael Feathers presents practical techniques for adding tests to untested code, breaking dependencies, and safely refactoring large legacy systems without introducing bugs.

Robert C. Martin's guide to professional behavior in software development, covering time management, pressure handling, TDD practices, and what it truly means to be a software craftsman.

Even bad code can function. But if code isn't clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn't hav…