Cutting Edge - Beyond CRUD: Commands, Events and Bus

Cutting Edge - Beyond CRUD: Commands, Events and Bus: IC506997.jpg

In a simple CRUD system, each business event is pertinent to a single aggregate and only rarely the same event touches on multiple aggregates. However, when this happens, and aggregates and events are too numerous, the complexity of the resulting software grows considerably.


Essential .NET - Dependency Injection with .NET Core

Essential .NET - Dependency Injection with .NET Core: Mark Michaelis explores the dependency injection (DI) capabilities of .NET Core, and shows why the simple and lightweight implemenatation provides a great way to for developers new to the technology to get started.

Code Coverage Isn't Only for Unit Tests

Code Coverage Isn't Only for Unit Tests:


What is Code (or Test) Coverage?

Code coverage (or test coverage) shows which lines of the code were (or were not) being executed by the tests. It is also a metric which helps you to find out the percentage of your covered (executed) code by the tests. E.g.: It tells you that your codebase consists of 10 lines, 8 lines were being executed by your tests, so your coverage is 80%. (It tells you nothing about the quality of your software or how good your tests are.)

If you want to read more about code coverage, check these links:

Two Approaches to Test Automation Architectures

Two Approaches to Test Automation Architectures:


I’ve yet to see two development environments that are alike. But even if there is no cookie cutter approach to software delivery, there are standard approaches, and methodologies that are consistent throughout modern software development and that frame nearly all environments.

Because there is a big move in software testing to go from purely manual testing (a non-technical process) to a fully automated deeply technical one, how QA processes are set up, and how it fits into the overall delivery chain is very important. Let’s take a look at the two most common architectures for test automation, and why they may or may not be the best approach.