Automated Tests: Strategy
A guide to creating an effective automated testing strategy, covering evaluation criteria like certainty, speed, and maintainability with a practical use case example.
Kamil Grzybek is a software architect and engineering leader with 15+ years of experience solving complex business problems. He specializes in enterprise systems, .NET, Domain-Driven Design, and knowledge sharing through consulting, training, and mentoring.
27 articles from this blog
A guide to creating an effective automated testing strategy, covering evaluation criteria like certainty, speed, and maintainability with a practical use case example.
Explores the concept of testability in software architecture, its importance for quality and continuous delivery, and breaks down key components like controllability.
Explores the importance and benefits of automated testing in software development, addressing common barriers and the value of testing culture.
Explores designing a Modular Monolith architecture using domain-centric principles, focusing on high modularity and encapsulation.
Explores integration styles for modules within a modular monolith architecture, discussing coupling, complexity, and data timeliness.
Explains how to use the Aggregate Pattern in Domain-Driven Design with EF Core to handle concurrency and enforce domain invariants like order line limits.
Explores methods for enforcing architectural design in modular monoliths to prevent code-model divergence and maintain modularity over time.
Explores architectural drivers like functional requirements and quality attributes that influence the choice between a Modular Monolith and Microservices.
An introduction to Modular Monolith architecture, contrasting it with microservices and defining its core principles.
Explores principles for creating a clean, maintainable Domain Model in software, applying clean code concepts to Domain-Driven Design.
Explores combining domain events with the Outbox Pattern for reliable, structured data processing in deep, complex software systems.
An explanation of GRASP (General Responsibility Assignment Software Patterns), a set of object-oriented design principles for assigning responsibilities in software.
Explains the Outbox Pattern for reliable event publishing in distributed systems, addressing atomicity issues between database transactions and external messaging.
Explores domain model validation in Domain-Driven Design, covering Aggregate invariants and Bounded Context rules with implementation solutions.
A guide to implementing data validation and proper error response handling for REST APIs, covering validation rules and the Problem Details standard.
Explores implementing Domain-Driven Design with Entity Framework 2.2, focusing on encapsulation and persistence ignorance for a domain model.
A guide to implementing a simple CQRS pattern using raw SQL and Domain-Driven Design (DDD) principles in a .NET Core REST API application.
A software architecture article advocating for organizing code by business features instead of technical layers to improve cohesion and maintainability.
Explores challenges and best practices for managing database schema changes in development teams, focusing on automation and CI/CD integration.
A guide to managing database changes in .NET using Database Projects for state versioning and DbUp for migration scripting.