Skip to main content

Posts

Showing posts from June, 2018

iOS: LLVM based mutation testing to check your unit test reliability, Android and Kotlin: JVM based mutation testing

LLVM-BASED MUTATION TESTING SYSTEM

Several years ago I discovered very powerful technique - Mutation Testing. Since then I was (and still am) dreaming to have a tool which will do the job for languages like C, Objective-C and C++.

Now I have confidence in that it can be implemented using LLVM.

Outline for this article:

overview of mutation testingmutation testing system - proof of conceptthoughts on potential implementation of MT system using LLVM
LowLevelBits
Mutation testing system built on top of LLVM on GitHub.
mull-project / mull


JVM-BASED MUTATION TESTING

PIT is a state of the art mutation testing system, providing gold standard test coverage for Java and the jvm. It's fast, scalable and integrates with modern test and build tooling.

PIT Mutation Testing

How to keep apps and a microservice based backend in sync? Read about Pact and consumer-driven-contracts

7 Reasons to Choose Consumer-Driven Contract Tests Over End-to-End Tests

In a distributed system, testing the successful integration between
distributed services is essential for ensuring that the services won’t fail in production just because they’re not speaking the same language. This article discusses three approaches to implementing integration tests between distributed services and shows the advantages of Consumer-Driven Contract tests.

Reflectoring.io


Testing a Spring Boot REST API against a Consumer-Driven Contract with Pact

Consumer-driven contract tests are a technique to test integration points between API providers and API consumers without the hassle of end-to-end tests. A common use case for consumer-driven contract tests is testing interfaces between services in a microservice architecture. In the Java ecosystem, Spring Boot is a widely used technology for implementing microservices. Pact is a framework that facilitates consumer-driven contract tests. So let’s have a look…