Archive for April, 2017

Home » April 2017

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

The Art of the README

Just recently I was reminded about an obvious and vital but all too often neglected aspect of good quality software: Creating and maintaining a README file to both onboard new developers and to get users started with your software easily.While certainly essential in the context of open source software maintaining a high quality README is also relevant regarding proprietary / company-internal software that's limited to only a select circle of developers and users: It enables both your customers and internal users ... Read more

What Causes Over-engineering and How Can You Prevent It?

Last year software engineer Fagner Brack wrote an interesting and thoughtful article on "How To Accept Over-Engineering For What It Really Is"The article is very much worth the read in its entirety. There are a few key takeaways though I derived from it personally:I like the definition of over-engineering (quoted from Jeff Sternal) as "Code that solves problems you don’t have.".Fagner's conclusion is that what constitutes over-engineering depends on both context and the people involved.Over-engineering is usually brought about by unclear ... Read more

Clear Acceptance Criteria: The Key to Good Software Quality Right from the Start

Actually it should come as no surprise that clear acceptance criteria are a quintessential prerequisite for high quality software that meets both design requirements and customer demand. All too often however, acceptance criteria for software products are either non-existent or vague and ambiguous at best.Who hasn't come across 'acceptance criteria' such as "The app should have a modern UI." or "The application should be easy to use."? What do bromides like that amount to? Not much, unfortunately.Elena Kulik of RubyGarage wrote ... Read more

Design Patterns: Event Sourcing and Command and Query Responsibility Segregation (CQRS)

Event Sourcing and Command and Query Responsibility Segregation (CQRS) are system design patterns that allow you to deal with event streams in a consistent manner.Common line-of-business applications typically are built using the MVC design pattern with the database tables representing the model tier in MVC as the single source of truth for the application state.Event-based systems are different - and inherently more complex - in that their single source of truth is the stream of events that led to the current ... Read more

By continuing to use the site you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or if you click "Accept" below then you are consenting to this.

Close