Featured in Architecture & Design

Monal Daxini presents a blueprint for streaming data architectures and a review of desirable features of a streaming engine. He also talks about streaming application patterns and anti-patterns, and use cases and concrete examples using Apache Flink.

Featured in AI, ML & Data Engineering

Joy Gao talks about how database streaming is essential to WePay's infrastructure and the many functions that database streaming serves. She provides information on how the database streaming infrastructure was created & managed so that others can leverage their work to develop their own database streaming solutions. She goes over challenges faced with streaming peer-to-peer distributed databases.

An in-depth look at the criteria & requirements for Functional Test Automation in the agile world, and the capabilities you should build in your custom framework, or should exist the tools you choose. Anand Bagmar explores aspects like readability, reuse, debugging / rca, CI, Test Data, Parallel Execution, integration with other tools & libraries, free Vs open-source and support.

As part of our core values of sharing knowledge, the InfoQ editors were keen to capture and share our book and article recommendations for 2018, so that others can benefit from this too. In this second part we are sharing the final batch of recommendations

In this interview, James Bach explores making software testing legible and how to assess the values of your testing work and risk in a software product. He talks about how to overcome the testing automation pesticide paradox, and how should we leverage AI and ML in our testing. With more than 30 years software testing experience, Bach gives three pieces of advice to software testing beginners.

Continuous Delivery is about working in a way that keeps the system in a releasable state throughout its development. This article describes how a large software development organization at Siemens Healthineers started the transformation towards Continuous Delivery. It describes the strategy and tactics used to gradually and safely change the development process in a regulated medical domain.

Far too often the dream of a successful digital transformation shatters against a limited, team-centric continuous testing strategy. This article describes how testing must be applied to fit not only agile teams but also the whole enterprise, why collaboration is the key enabler and how different testing techniques work together for overall success.

Collaboration is one of the core values of Agile Methodology. That being said, what happens when you notice lack of collaboration between developers, testers and business-minded individuals in agile teams? This article provides a quick guide to implementing Acceptance Test Driven Development (ATDD) in your projects to mitigate problems due to lack of collaboration.

Testing microservices should not be done in a separate test phase, by a dedicated test team, but instead collaboratively by cross-functional teams. There is a shift left in testing to ensure that teams stay autonomous and a shift right in testing towards exploration and experimentation. Continuous Testing and a culture of experimentation are enablers to release microservices fast and reliably.

However tedious, regression testing is a powerful gatekeeper protecting product quality. It is present in any project regardless of the development methodology. But how to organize it well? This calls for a quality regression testing strategy that requires good understanding of all aspects of this testing effort (types, methods and approaches). Find out more in our article.

Author Gojko Adzic has released a book, Humans vs Computers, in which he tells stories about the impact of inflexible automation, edge cases and software bugs on the lives of real people. He explains the common mistakes built into the systems and provides advice on how to prevent these mistakes from being built into our systems in the first place.

Tests should always keep the end user view in mind. But how to test web services, which are not directly customer-facing, and in particular, how to performance test them in a meaningful way? This article outlines performance split testing as a performance test approach that is relying on real-time production traffic.

Automated acceptance testing reduces time wasted in manual testing and bug fixing, and when combined with Behaviour-Driven Development, can guide development effort. But it requires skill, practice and discipline. The Screenplay Pattern helps teams address these difficulties and is where you may end up by mercilessly refactoring Page Objects using SOLID design principles.