InfoQ Homepage Integration Testing Content on InfoQ
-
The Unit in Unit Testing
In this article, we will focus on how developers should consider using fake objects instead of mock objects, as fake objects offer similar isolation benefits while driving high confidence, clear documentation, and loose coupling between implementation and test code.
-
Proven Solutions to Five Test Automation Issues
Automated testing is often blocked due to some well-known issues, especially in a microservices architecture. API and service simulators can eliminate five common issues that block test automation.
-
An Ode to Unit Tests: in Defense of the Testing Pyramid
The switch to the testing diamond approach has not effectively addressed issues caused by the testing pyramid. Instead, the focus should be on using unit tests correctly within a testable architecture.
-
Using API-First Development and API Mocking to Break Critical Path Dependencies
Teams are using API mocking to break critical path dependencies and enable what were serial execution sequences into parallel paths. This article looks at where mocks should be used for the greatest impact and provides a model to estimate the effect of implementing API mocking and an API-first approach.
-
The Fundamentals of Testing with Persistence Layers
Mocking out dependencies such as databases and other persistence layers leads to ineffective tests. Unfortunately, our industry is also focused on function-level testing to the exclusion of all else, so few are trained on how to write any other type of test. This article seeks to correct the issue by reintroducing the concept of testing with databases.
-
Testing Quarkus Web Applications: Reactive Messaging, Kafka, and Testcontainers
Quarkus is a full-stack, Kubernetes-native Java framework that supports many coding styles, including reactive programming. Writing clean unit/component/integration tests for Quarkus applications when a reactive approach is used is vitally important. Here we demonstrate testing reactive code, reactive messaging, and full integration testing.
-
Testing Quarkus Web Applications: Writing Clean Component Tests
In this article, we will learn how to write clean integration tests for Quarkus applications. We will see how we can write simple and clean tests for the following scenarios: a mail client, security with RBAC, testing using containers, and rest clients.
-
Test-Driven Development: Really, It’s a Design Technique
Using a step-by-step example in Java, this article provides a practical example of how to use test-driven development (TDD) to divide, test, and conquer larger problems when coding.
-
Tap Compare Testing with Diferencia and Java Microservices
“Tap compare” is a testing technique that allows you to test the behavior and performance of the new service by comparing its results against the old service. This article provides an example of using a new open source tool, Diferencia, and mirroring production traffic across both old and new services to compare the difference in result.
-
How Contract Tests Improve the Quality of Your Distributed Systems
Catching bugs at the end of a development cycle is costly, but how do you incrementally test complex distributed systems? In this article, Marcin Grzejszczak looks at an integration testing approach for communication between components. He reviews contract testing, and Spring Cloud Contract, as one solution.
-
Automated Journey Testing with Cascade
Starting with a brief history of software testing, we investigate Cascade, a new framework for testing “journeys”, eliminating overlapping coverage to produce fast unit tests.
-
The Holistic Approach: Preventing Software Disasters
Olivier Bonsignour on what "X-Raying" software means, how it can help prevent software disasters and why CIOs should care.