my blog. for you.

Let’s talk digital.

I’m an independent IT consultant and entrepreneur in the Internet and software business. I’m interested in design, enterprise applications, web apps and SaaS products. I design and develop business solutions and applications. I help companies in terms of software quality and knowledge transfer, e.g. with Angular and Spring Boot.

Things I Wish I Knew When I Started Testing Spring Boot Applications by Philip Riecks @ Spring I/O

Read more

Revisiting Popular Posts: Spring Batch Resources & Maven Failsafe With Spring Boot

Two of the most popular posts on this blog cover resources for Spring Batch and how to use Maven Failsafe with Spring Boot: Spring Batch Resources: Batch Processing, ETL And Data Conversion Using Maven Failsafe With Spring Boot While doing some regular blog housekeeping, I recently revised those articles and fixed a few broken links. If you're interested in these technologies and frameworks, you might want to check those articles out. Read more

Using Maven Failsafe With Spring Boot

Maven Failsafe is a Maven plugin designed to be used in conjunction with the Maven Surefire Plugin. While the former plugin is intended for running integration tests the latter's purpose is to run unit tests. These plugins are tremendously useful for partitioning tests in Maven-based Java applications in order to make tests and builds run faster. When recently using Maven Failsafe with a Spring Boot application, though, I encountered a somewhat gnarly problem. Running mvn verify caused this error for all of the ... Read more

A Guide to Refactoring Large Functions by Robert Muth

Software Engineer Robert Muth wrote this interesting article on refactoring large functions. The article starts with providing ample motivation for using functions (or methods in a strictly object-oriented context). Apart from making code shareable and reusable, which is only a minor benefit of functions / methods, reasons for writing code as functions are: giving a meaningful name to several lines of related code readability limiting visibility lowering indentation levels improving testability The article goes on to describe several common cues indicating that extracting the code at hand to ... Read more

Kent Beck’s Novel Approach to Software Quality: test && commit || revert

In a Hanselminutes episode from December last year I heard preeminent programmer and agile advocate Kent Beck talk about his intriguing approach to creating working, high-quality code. In line with the steps this approach involves he calls it test && commit || revert. In lieu of the TDD circle of life (write test - test fails - write code - test passes - refactor - test fails ...) test && commit || revert has you commit each time when after a code ... Read more

Test-driven Development (TDD) with Angular 2 / 4

Recently, together with Jan Massenberg of Setlog I gave a talk on test-driven development (TDD) with Angular at the 2nd Angular Ruhr meetup. Currently, I help Setlog with improving their software quality and in particular with developing a SaaS tool that simplifies quality assurance processes (QA) in supply chain management. The talk was about hands-on experience with using TDD for implementing this SaaS tool. Read more

Testing REST Services with REST Assured

RESTful service testing can be unwieldy and difficult to get started with. Providing a REST API implies using a variety of technologies and techniques such as HTTP, JSON, authentication, various payload transfer mechanisms and content types. This is where a tool that abstracts over these technical details and facilitates their application comes in handy. REST Assured is a high-level DSL for testing REST APIs. It draws upon behaviour-driven development (BDD) and hence makes for readable test descriptions. A typical acceptance test with ... Read more

Mockito 2 now available

Last week version 2.1.0 of the Mockito testing framework for Java has been released. For more information on this latest iteration check out this page. As the name suggests, Mockito allows you to mock object behaviour during unit tests. When writing unit tests you only want to test a particular unit's behaviour (hence the name). Depending on the programming language used such a unit might be a function, a procedure or - most commonly in today's object-oriented programming environments - a ... Read more

Libraries.io and Dependency CI: Open Source Library Discovery and Dependency QA

Recently, I came across Libraries.io and its companion service Dependency CI. Open Source Library Discovery and Dependency QA Read more

Varying Degrees Of Software Quality And What To Do About It

When working on client projects I come across copious amounts of source code, which sometimes is very well-maintained, sometimes less so. The various code bases are as diverse as their owners and respective stakeholders: A few come with an inherent sense of quality, lots of unit tests serving as the specification for the product. They're typically delightful to maintain and extend. Some though at times leave the impression of having been cobbled together in a rather haphazard, impromptu manner in order to solve ... Read more