Cosmin Rentea

Cosmin Rentea is a software engineer and trainer. His main interest lies in using Big Data technologies for innovative solutions, and his expertise is mainly in scalable backends, JVM, and microservices areas. He has an active presence in Bucharest JUG, local conferences, and workshops. He contributed to Big Data systems for digital marketing, enterprise solutions for large retail companies, and to Java and Go open-source projects.

Feature Flags – and using them wisely…

Day 1 - 17th Oct 16:45-17:10 Hall 2 (Main Side) Novice

Feature flags (a.k.a. feature toggles) are a set of patterns that enable dev-teams to deliver features to users rapidly and safely.

This talk leads you on a journey with a dev team as they adopt feature flags, covering what they are, why they’re helpful, and how to use them successfully. Along the way, you’ll discover that feature-management covers a broader set of use cases than you might initially think.

We’ll see how different types of toggles can be categorized and learn why it’s important to manage the various types of toggles in different ways, even if they share a common underlying implementation. We will discuss different ways to store toggle configuration and enabling strategies, and how to prevent them from getting out of control.

As a practical demonstration, a real-life Java web application using an open-source solution (Togglz) will showcase how feature flags were employed while transitioning between its development stages.

Finally we’ll share best practices from the industry and tips on how to succeed with feature flags in the age of microservices.

Mutation Testing

Day 1 - 17th Oct 16:20-16:45 Hall 2 (Main Side) Novice

How well tested is your system? How do you measure it? Code coverage can give you an answer, however how well are tests actually written, and… can we trust them?

As a developer: How do you know that even the smallest change to the code will make at least a test fail?

As someone with a management role: How do you handle big projects with high quality requirements, when developers can write a lot of unit tests which have no assertions whatsoever? (and yes, the test coverage is very high)

Mutation testing is a method to check the quality of your unit tests and show more reasonable and useful code coverage reports. This session will describe the main idea and concepts of mutation testing, and some technical means to implement it in Java/JVM.

Finally, a live example will follow, with the use of PIT Mutation Testing framework – first illustrating the concepts, and then showing results of testing a more complex Java web application.