InfoQ Homepage Automated testing Content on InfoQ
-
Testing Microservices: Examining the Tradeoffs of Twelve Techniques - Part 2
A successful microservice testing strategy must effectively manage the interdependent components involved. This article presents the tradeoffs for twelve testing techniques. Each approach has advantages and disadvantages. Which technique, or blend of techniques, should be used for your application, depends on your context.
-
Testing Microservices: an Overview of 12 Useful Techniques - Part 1
When building a microservice system, you will need to manage inter-dependent components in order to test in a cost and time effective way. You can use test doubles in your microservice tests that pretend to be real dependencies for the purpose of the test. However, there are many options for implementing this. This article provides an overview and tradeoffs of 12 techniques.
-
Unlocking Continuous Testing: The Four Best Practices Necessary for Success
While the majority of organizations have enthusiastically embraced agile planning and development, most still find themselves unable to effectively implement continuous testing throughout the software development lifecycle. There are four best practices to help overcome this: focus on test quality, keep your tests short and atomic, test across multiple platforms, and leverage parallelization.
-
Service Virtualization Meets Java: Hoverfly Tutorial
Service virtualization is a technique used to simulate the behavior of dependencies of service during automated testing. This article explores this topic, and includes a tutorial using Hoverfly Java.
-
Test Automation in the World of AI & ML
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.
-
Headless Selenium Browsers
Selenium is a well-known, powerful tool for automated testing in web browsers. While Selenium Web driver supports all the major browsers, you don’t always want the costs of testing in a real browser.
-
Using Golang to Build Microservices at The Economist: A Retrospective
Microservices written in Go was a key component of a new system that would enable The Economist to deliver scalable, high performing services and quickly iterate new products. Go's baked in concurrency and API support along with its design as a static, compiled language enabled a distributed eventing system. Overall, The Economist team's experience with Go has been a positive experience.
-
James Bach on a Career in Testing and Advice for New Players
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.
-
Testing Programmable Infrastructure - a Year On
Programmable infrastructure is becoming widespread. There are very specific domain issues that make testing it tricky. This article looks at the evolution of tooling and approaches used to address it.
-
How to Achieve Collaboration as a Key Driver for Continuous Testing
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.
-
Improving Testability of Java Microservices with Container Orchestration and a Service Mesh
In enterprise test scenarios, software needs to be tested in the same way as it will run in production. This article provides a practical demonstration of testing Java microservices that are running on Kubernetes with the Istio service mesh. K8s service abstractions enable mocking, and Istio enables us to re-route traffic and inject faulty responses or delays to verify our services' resiliency.
-
How Contract Tests Improve the Quality of Your Distributed Systems
Catching bugs at the end of a development cycle is costly, but how do you incrementally test complex distributed systems? In this article, Marcin Grzejszczak looks at an integration testing approach for communication between components. He reviews contract testing, and Spring Cloud Contract, as one solution.