BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Testing Content on InfoQ

  • Beyond Accidental Quality: Finding Hidden Bugs with Generative Testing

    Generative testing uncovers hidden software bugs by exploring the input space and verifying system invariants. This surpasses example-based tests that rely on known scenarios and can miss edge cases.

  • A Plan-Do-Check-Act Framework for AI Code Generation

    AI code generation tools promise faster development but often create quality issues, integration problems, and delivery delays. A structured Plan-Do-Check-Act cycle can maintain code quality while leveraging AI capabilities. Through working agreements, structured prompts, and continuous retrospection, it asserts accountability over code while guiding AI to produce tested, maintainable software.

  • Zero-Downtime Critical Cloud Infrastructure Upgrades at Scale

    Engineers can avoid common pitfalls in large-scale infrastructure upgrades by studying others' experiences. The article provides lessons learned from big firms like eBay and Snowflake, offering solutions for legacy systems, performance validation, and rollback planning. It emphasizes systematic preparation and clear communication to handle challenges and ensure zero-downtime upgrades at scale.

  • Spotting Image Differences in Visual Software Testing with AI

    Current AI, including multimodal models, fails at robust visual regression testing, missing structural changes that pixel-based tools flag as false positives. This article proposes a CNN-based solution to compare image segments, tolerating minor displacements. For larger distortions, a multi-scale algorithm realigns the images before comparison, isolating the true differences.

  • Reaching Your Automatic Testing Goals by Enhancing Your Test Architecture

    If you have automatic end-to-end tests, you have test architecture, even if you’ve never given it a thought. Test architecture encompasses everything from code to more theoretical concerns like enterprise architecture, but with concrete, immediate consequences. Let's explore how you can achieve the goals you have for your automatic testing effort.

  • Mastering Impact Analysis and Optimizing Change Release Processes

    Dynamic IT professional with a proven track record in optimizing production processes and analyzing outages in complex systems handling millions of TPS. The recent CrowdStrike outage highlights the importance of continuous improvement and adherence to best practices. Passionate about elevating operational excellence through strategic reviews and effective process enhancements.

  • How Quality Champions Foster Sustainable Software Quality Improvement at Swiss Post

    Even skilled and motivated agile teams sometimes fail to achieve their own software quality goals. In this article, we present a practice we use to assist agile teams in reaching their quality goals and share our experience. The practice is about paying constant attention to specific metrics. It means encouraging people to improve themselves in both qualitative and quantitative ways.

  • Experimenting with LLMs for Developer Productivity

    This article describes an experiment that sought to determine if no-cost LLM-based code generation tools can improve developer productivity. The experiment evaluated several LLMs by generating unit tests for some open-source code and measuring the code coverage as well as the manual rework necessary to make the tests work.

  • Is Your Test Suite Brittle? Maybe It’s Too DRY

    One important design principle in software development is DRY – Don’t Repeat Yourself. However, when DRY is applied to test code, it can cause the test suite to become brittle — difficult to understand, maintain, and change. In this article, I will present some indications that a test suite is brittle, guidelines to follow when reducing duplication in tests, and better ways to DRY up tests.

  • Modernizing Testing Practices for Jakarta EE Projects

    This article focuses on the increasing adoption of data-driven testing in Java enterprise applications and sheds light on the Data and NoSQL Jakarta specifications. It highlights the significance of modern testing libraries such as JUnit Jupiter and AssertJ and emphasizes the importance of container-based frameworks like Testcontainers in enhancing testing practices.

  • Testing Machine Learning: Insight and Experience from Using Simulators to Test Trained Functionality

    When testing machine learning systems, we must apply existing test processes and methods differently. Machine Learning applications consist of a few lines of code, with complex networks of weighted data points that form the implementation. The data used in training is where the functionality is ultimately defined, and that is where you will find your issues and bugs.

  • Efficiently Arranging Test Data: Streamlining Setup with Instancio

    The need to ensure code quality is ubiquitous, regardless of the development paradigm. Continuous Deployment and Continuous Delivery indicate that reliable test suites are directly connected to the speed of development and quicker customer feedback loop. Instancio automates the data setup step - the A in Arrange-Act-Assert. So, it allows you to put more emphasis on the business feature tested.

BT