<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Testing on JAVAPRO International</title><link>https://javapro-en.svenruppert.com/tags/testing/</link><description>Recent content in Testing on JAVAPRO International</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Tue, 30 Jun 2026 08:50:00 +0000</lastBuildDate><atom:link href="https://javapro-en.svenruppert.com/tags/testing/index.xml" rel="self" type="application/rss+xml"/><item><title>Stay Updated with Every New Free PDF Edition!</title><link>https://javapro-en.svenruppert.com/stay-updated-with-every-new-free-pdf-edition-26-6/</link><pubDate>Tue, 30 Jun 2026 08:50:00 +0000</pubDate><guid>https://javapro-en.svenruppert.com/stay-updated-with-every-new-free-pdf-edition-26-6/</guid><description>&lt;p&gt;&lt;strong&gt;Want to make sure you always receive the latest JAVAPRO magazine?&lt;/strong&gt;&lt;br&gt;
By &lt;a href="https://javapro.io/#pdf-newsletter"&gt;subscribing to our news&lt;/a&gt;, you’ll automatically get notified and receive every new PDF — free and direct to your inbox, no extra steps required.&lt;/p&gt;
&lt;p&gt;Enjoy exclusive content, special editions, and stay connected to everything new.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://javapro.io/#pdf-newsletter"&gt;Subscribe now to all future PDF editions&lt;/a&gt; and be the first to know!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://javapro-en.svenruppert.com/uploads/2026/06/JAVAPRO_06-2026.pdf"&gt;Download free PDF here&lt;/a&gt;: Edition 06/2026 | Autonomous Java&lt;/p&gt;
&lt;p&gt;&lt;a href="https://javapro.io/#pdf-newsletter"&gt;&lt;figure class="post-figure"&gt;
 &lt;img src="https://javapro-en.svenruppert.com/uploads/2026/06/Subscribe-Newsletter-JAVAPRO-Magazine-PDF-26-6-1024x576.png" alt="" loading="lazy" decoding="async"&gt;
 
 
 
&lt;/figure&gt;
&lt;/a&gt;&lt;/p&gt;</description></item><item><title>04-2026 | Java in the Age of AI - Special Edition</title><link>https://javapro-en.svenruppert.com/04-2026-java-in-the-age-of-ai/</link><pubDate>Mon, 27 Apr 2026 12:50:36 +0000</pubDate><guid>https://javapro-en.svenruppert.com/04-2026-java-in-the-age-of-ai/</guid><description>&lt;p&gt;&lt;a href="https://javapro-en.svenruppert.com/uploads/2026/04/JAVAPRO_04-2026.pdf"&gt;&lt;figure class="post-figure"&gt;
 &lt;img src="https://javapro-en.svenruppert.com/uploads/2026/04/Cover-2026-04-1.png" alt="" loading="lazy" decoding="async"&gt;
 
 
 
&lt;/figure&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://javapro-en.svenruppert.com/uploads/2026/04/JAVAPRO_04-2026.pdf"&gt;DOWNLOAD&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;JCON&lt;br&gt;
▪️A Big Screen Experience for Java Developers &amp;amp; Architects&lt;/p&gt;
&lt;p&gt;CORE JAVA&lt;br&gt;
▪️A Big Screen Experience for Java Developers &amp;amp; Architects&lt;br&gt;
▪️Effective Pattern Matching 2026 Edition&lt;br&gt;
▪️Data Oriented Programming with Java&lt;br&gt;
▪️Java 26 adopts HTTP/3 with the Evolution of the HttpClient&lt;br&gt;
▪️Java 26 GC: Making Data Streaming Faster and More Reliable in Containers&lt;br&gt;
▪️1BRC – The First 80%&lt;br&gt;
▪️Building GPU Accelerated LLM Inference Libraries with TornadoVM&lt;br&gt;
▪️Reactor Has Died, Long Live REACTOR!&lt;/p&gt;</description></item><item><title>03-2026 | From Coder to System Designer</title><link>https://javapro-en.svenruppert.com/03-2026-from-coder-to-system-designer/</link><pubDate>Thu, 26 Mar 2026 11:50:02 +0000</pubDate><guid>https://javapro-en.svenruppert.com/03-2026-from-coder-to-system-designer/</guid><description>&lt;p&gt;&lt;a href="https://javapro-en.svenruppert.com/uploads/2026/03/JAVAPRO_03-2026.pdf"&gt;&lt;figure class="post-figure"&gt;
 &lt;img src="https://javapro-en.svenruppert.com/uploads/2026/03/2026-03_JAVAPRO-Cover_from-coder-to-sytem-designer-scaled.jpg" alt="" loading="lazy" decoding="async"&gt;
 
 
 
&lt;/figure&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://javapro-en.svenruppert.com/uploads/2026/03/JAVAPRO_03-2026.pdf"&gt;DOWNLOAD&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;JCON&lt;br&gt;
▪️Architect Your Own Experience: Creating Your Individual JCON 2026 Journey&lt;/p&gt;
&lt;p&gt;CORE JAVA&lt;br&gt;
▪️The Foundations of Data-Oriented Programming in Java&lt;br&gt;
▪️Lazy Constants in Java 26: Deferred Immutability and JVM Trust&lt;br&gt;
▪️Final Is No Longer a Hint in Java 26&lt;br&gt;
▪️Java 26 in Practice: How the JVM Is Changing the Way We Write Code&lt;br&gt;
▪️Reverse Engineering Java: Backtracking Native Crashes&lt;/p&gt;
&lt;p&gt;API &amp;amp; FRAMEWORKS&lt;br&gt;
▪️Paketo Buildpacks: Ready for Java 26 &amp;amp; More!&lt;br&gt;
▪️Stop Writing YAML: How to Define, Test, and Deploy Your Cloud in Pure Java&lt;br&gt;
▪️Beyond REST: Rethinking APIs with GraphQL and Java&lt;br&gt;
▪️Solving Spring AI’s UI Challenge with AG-UI’s Java SDK&lt;/p&gt;</description></item><item><title>Stay Updated with Every New Free PDF Edition!</title><link>https://javapro-en.svenruppert.com/stay-updated-with-every-new-free-pdf-edition-3/</link><pubDate>Mon, 23 Feb 2026 12:20:13 +0000</pubDate><guid>https://javapro-en.svenruppert.com/stay-updated-with-every-new-free-pdf-edition-3/</guid><description>&lt;p&gt;&lt;strong&gt;Want to make sure you always receive the latest JAVAPRO magazine?&lt;/strong&gt;&lt;br&gt;
By &lt;a href="https://javapro.io/#pdf-newsletter"&gt;subscribing to our news&lt;/a&gt;, you’ll automatically get notified and receive every new PDF — free and direct to your inbox, no extra steps required.&lt;/p&gt;
&lt;p&gt;Enjoy exclusive content, special editions, and stay connected to everything new.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://javapro.io/#pdf-newsletter"&gt;Subscribe now to all future PDF editions&lt;/a&gt; and be the first to know!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://javapro-en.svenruppert.com/uploads/2026/02/JAVAPRO_02-2026.pdf"&gt;Download free PDF here&lt;/a&gt;: Edition 02/2026 | Engineering Intelligence - Building Systems in the AI Age&lt;/p&gt;</description></item><item><title>02-2026 | Engineering Intelligence</title><link>https://javapro-en.svenruppert.com/02-2026-engineering-intelligence/</link><pubDate>Mon, 23 Feb 2026 11:07:31 +0000</pubDate><guid>https://javapro-en.svenruppert.com/02-2026-engineering-intelligence/</guid><description>&lt;p&gt;&lt;a href="https://javapro-en.svenruppert.com/uploads/2026/02/JAVAPRO_02-2026.pdf"&gt;&lt;figure class="post-figure"&gt;
 &lt;img src="https://javapro-en.svenruppert.com/uploads/2026/02/Cover-2026-02.png" alt="" loading="lazy" decoding="async"&gt;
 
 
 
&lt;/figure&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://javapro-en.svenruppert.com/uploads/2026/02/JAVAPRO_02-2026.pdf"&gt;DOWNLOAD&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;JCON&lt;br&gt;
▪️Engineering Intelligence Live: JAVAPRO Benefits for JCON 2026&lt;/p&gt;
&lt;p&gt;CORE JAVA&lt;br&gt;
▪️Building Low-Latency Event Pipelines With Java 25&lt;br&gt;
▪️Achieving Microsecond Latencies With Java: Practical Techniques for Building Ultra-Fast Systems&lt;/p&gt;
&lt;p&gt;API &amp;amp; FRAMEWORKS&lt;br&gt;
▪️API Development: Implementing POST and SSE Events in Jakarta REST&lt;br&gt;
▪️Open J Proxy: A Modern Open-Source Approach to Database Connectivity for the Java Ecosystem&lt;br&gt;
▪️From Tables to JSON: Handling Unstructured Data in RDBMS Systems With Spring Boot&lt;br&gt;
▪️Java 26 and Spring Boot 4: From Certification Skills to Production-Ready Applications&lt;br&gt;
▪️From Cron to Carbon and Cost-Aware: Modernizing Java Background Jobs&lt;br&gt;
▪️Why Struts 1.3 Still Matters in 2026&lt;br&gt;
▪️The Jakarta Cliff: Why Modern Java Leaves Struts 1 Behind&lt;/p&gt;</description></item><item><title>LangChain4j Production-ready features with Quarkus</title><link>https://javapro-en.svenruppert.com/langchain4j-production-ready-features-with-quarkus/</link><pubDate>Thu, 20 Nov 2025 07:00:02 +0000</pubDate><guid>https://javapro-en.svenruppert.com/langchain4j-production-ready-features-with-quarkus/</guid><description>&lt;p&gt;Have you already read the article &amp;ldquo;&lt;strong&gt;Build AI Apps and Agents in Java: Hands-On with LangChain4j&amp;rdquo;&lt;/strong&gt; by Lize Raes in the “30 Years of Java” edition - part 1 - of that magazine? If so, you&amp;rsquo;re familiar with what LangChain4j is for.&lt;/p&gt;
&lt;p&gt;If not, don&amp;rsquo;t worry—I included the link at the end of this article. I recommend reading it before continuing with this one.&lt;/p&gt;
&lt;p&gt;In this article, we&amp;rsquo;ll explore and demonstrate important LangChain4j production-ready features using Quarkus, a lightweight Java framework that integrates seamlessly with LangChain4j.&lt;/p&gt;</description></item><item><title>Supercruising with Testcontainers: Making Tests Faster and More Flexible</title><link>https://javapro-en.svenruppert.com/supercruising-with-testcontainers-making-tests-faster-and-more-flexible/</link><pubDate>Fri, 10 Oct 2025 07:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/supercruising-with-testcontainers-making-tests-faster-and-more-flexible/</guid><description>&lt;p&gt;&lt;strong&gt;Testcontainers&lt;/strong&gt; has become an essential tool in many Java projects to run integration and system tests in realistic environments. However, when test scenarios grow complex, developers often run into limitations—especially around configuration, parallelization, and resource usage. An open-source framework built on top of Testcontainers addresses some of these challenges with powerful extensions.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/xdev-software/tci-base"&gt;&lt;strong&gt;Testcontainers Infrastructure (TCI) Framework&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="1-improve-customizability-and-parallelization"&gt;&lt;strong&gt;1. Improve customizability and parallelization&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;By using the factory pattern when creating containers, the goal is to make it easier for developers to adjust the containers as needed.&lt;/p&gt;</description></item><item><title>Where to Use AI FOR Development: A Practical Guide for Engineers and Managers</title><link>https://javapro-en.svenruppert.com/where-to-use-ai-for-development-a-practical-guide-for-engineers-and-managers/</link><pubDate>Fri, 26 Sep 2025 07:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/where-to-use-ai-for-development-a-practical-guide-for-engineers-and-managers/</guid><description>&lt;p&gt;There&amp;rsquo;s a lot of noise out there about AI generating code for you, creating tests, filing bugs, and possibly even conducting your sprint planning meetings. It&amp;rsquo;s easy to get swept up in the hype. You&amp;rsquo;ve probably seen claims like &amp;ldquo;AI can build your app from a prompt&amp;rdquo; or &amp;ldquo;Ship twice as fast with half the team&amp;rdquo;. Sounds appealing doesn&amp;rsquo;t it? The reality, as always, is more nuanced.&lt;/p&gt;
&lt;p&gt;In this article, I want to puncture some of the more inflated expectations and instead offer a grounded view of where AI can help in software development today. What works, what doesn&amp;rsquo;t, and what might be worth trying if you squint hard enough. The lens I want to use is risk. Because fundamentally, that&amp;rsquo;s what software development is: a careful game of managing risk against code.&lt;/p&gt;</description></item><item><title>Testing Done Right!</title><link>https://javapro-en.svenruppert.com/testing-done-right/</link><pubDate>Thu, 28 Aug 2025 07:00:00 +0000</pubDate><guid>https://javapro-en.svenruppert.com/testing-done-right/</guid><description>&lt;p&gt;Oh no! Not another article about testing! You can find a lot of publications about automated testing in software development, but there is a good reason for it. Testing your code is one of the most important aspects in software development!&lt;/p&gt;
&lt;p&gt;I’m not going to write yet another article about how you should write your tests. I’m also not covering the details of various types of tests. I will elaborate on some pitfalls you should be aware of when writing tests and how to solve them. This is not a scientific approach; it is just my opinion. What&amp;rsquo;s covered in this article? Let&amp;rsquo;s start with discussing why testing is so important in software development. Next, I’ll elaborate on some risks and how we can avoid them. I will also dive into sociable testing and test data generation.&lt;/p&gt;</description></item><item><title>A 10X Approach to Quality Assurance</title><link>https://javapro-en.svenruppert.com/a-10x-approach-to-quality-assurance/</link><pubDate>Wed, 20 Aug 2025 07:00:02 +0000</pubDate><guid>https://javapro-en.svenruppert.com/a-10x-approach-to-quality-assurance/</guid><description>&lt;p&gt;It&amp;rsquo;s often true that what you measure will define you. Measurements become critical indicators, which eventually become goals. Measure the speed of something, and soon, almost inevitably, the goal will be to increase it.&lt;/p&gt;
&lt;p&gt;In time, those goals and measurements will become the driving force behind behavior. The original objectives will be lost to history, and the new focus will be considered the norm.&lt;/p&gt;
&lt;p&gt;This transformation occurs frequently and is often the downfall of organisations. They forget what they are in business to achieve, get lost in the process, and have these fabricated objectives.&lt;/p&gt;</description></item><item><title>Kotlin Multiplatform's Cross-Platform Brilliance at Norway's Nearly 400-Year-Old National Postal Service</title><link>https://javapro-en.svenruppert.com/kotlin-multiplatforms-cross-platform-brilliance-at-norways-nearly-400-year-old-national-postal-service/</link><pubDate>Thu, 01 May 2025 08:56:32 +0000</pubDate><guid>https://javapro-en.svenruppert.com/kotlin-multiplatforms-cross-platform-brilliance-at-norways-nearly-400-year-old-national-postal-service/</guid><description>&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=nAkjwyQ8QOI&amp;amp;list=PLFeSAZzYdUodZjQy6a3pCBl43UUem8_E3&amp;amp;index=19"&gt;&lt;figure class="post-figure"&gt;
 &lt;img src="https://javapro-en.svenruppert.com/uploads/2025/04/Magazin-Artikel-Banner-2-1024x214.jpg" alt="" loading="lazy" decoding="async"&gt;
 
 
 
&lt;/figure&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When we think of Norway’s National Postal Service, we think of legacy, tradition, and history – a service that has been delivering letters, packages, parcels, and sometimes even joy, for nearly 400 years.\&lt;/p&gt;
&lt;p&gt;&lt;br&gt;
But what happens when such an ancient institution faces the modern challenges of software development and cross-platform integration? How does a company like Posten Bring navigate the world of fragmented business logic across multiple platforms and systems?&lt;br&gt;
&lt;br&gt;
But before I answer these questions, I want to ask &lt;strong&gt;YOU&lt;/strong&gt; - Have you ever had a complex business rule-set problem? You know the kind where you have business rules (logic) spread across multiple platforms, systems, and applications? Some of them might even be alter egos of the same rule hiding in different apps. You never know which one might turn up where; there is no single source of truth, solving errors takes hours of debugging, and making changes requires (oftentimes) painful coordination across teams and applications (ugh).&lt;br&gt;
&lt;br&gt;
We faced this exact challenge at Posten Bring As - Norwegian National Postal Service, founded way back in 1647 - a 378-year-old institution with software spanning more generations than most families! Our business logic was scattered across platforms, some of which were as ancient as the company itself (okay, maybe not that old, but close enough)!&lt;br&gt;
&lt;br&gt;
In this article, I’m spilling the tea. We will discover how the team at a century-old Norwegian postal services giant tackled modern challenges with cutting-edge technology.&lt;br&gt;
&lt;br&gt;
I’m going to walk you through our journey with Kotlin Multiplatform, including the hurdles we encountered, the lessons we learned, and why KMP is a game-changer for anyone grappling with similar challenges.&lt;br&gt;
&lt;br&gt;
This article is for you if troublesome &amp;amp; unruly business logic keeps you up at night &amp;amp; you want that to end NOW. It is also for you if you like to hear a good story.&lt;/p&gt;</description></item></channel></rss>