InfoQ Homepage Automated testing Content on InfoQ
-
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.
-
Thinking Deductively to Understand Complex Software Systems
Thinking differently can allow us to approach problems in new ways. With testing, approaching the problem with a negative approach can lead to more thorough test cases.
-
If You Want to Deliver Fast, Your Tests Have the Last Word
A good testing strategy is critical for safe code changes, fast delivery, reduced MTTR, and improved developer experience. Shifting the concept of “unit” can reduce the time needed for changes.
-
Effective Test Automation Approaches for Modern CI/CD Pipelines
Shifting left can be used to improve test design and lead to faster, more effective CI/CD pipelines. By focusing on building effective and efficient tests, CI/CD runs can quickly return feedback.
-
A Simpler Testing Pyramid: Getting the Most out of Your Tests
Overcomplicating your test structure can lead to slow, brittle tests. A focus on test speed as the primary labeling mechanism maximizes your test investment.
-
Moving towards a Future of Testing in the Metaverse
In this article, Tariq King describes the metaverse concept, discusses its key engineering challenges and quality concerns, and then walks through recent technological advances in AI and software testing that are helping to mitigate these challenges. To wrap up, he shares some of his thoughts on the role of software testers as we move towards a future of testing in the metaverse.
-
How Practicing TCR (Test && Commit || Revert) Reduces Batch Size
The practice of test && commit || revert teaches how to write code in smaller chunks, further reducing batch size. TCR yields high coverage by design, which smooths the downstream testing pipeline.
-
How I Contributed as a Tester to a Machine Learning System: Opportunities, Challenges and Learnings
Have you ever wondered about systems based on machine learning? In those cases, testing takes a backseat. And even if testing is done, it’s done mostly by developers themselves. A tester’s role is not clearly portrayed. Testers usually struggle to understand ML-based systems and explore what contributions they can make. This is a journey of assuring quality of ML-based systems as a tester.
-
Proven Solutions to Five Test Automation Issues
Automated testing is often blocked due to some well-known issues, especially in a microservices architecture. API and service simulators can eliminate five common issues that block test automation.
-
How We Improved Application’s Resiliency by Uncovering Our Hidden Issues Using Chaos Testing
This article lists the chaos testing principles which are outlined by Netflix. The readers should be able to understand the advantages and disadvantages that chaos testing offers. This will help them to decide whether they want to perform it or not. The article also explains why we should convince the management to perform chaos tests, considering all benefits over the risks.
-
Writing Automated Tests on a Legacy Node.js Back-End
Let’s explore why some Node.js codebases are more challenging to test than others. Then, we explore several techniques to write tests that are simple, robust and fast to check the business logic, including inversion of control, approval tests and - spoiler alert - no mocks!
-
The Fundamentals of Testing with Persistence Layers
Mocking out dependencies such as databases and other persistence layers leads to ineffective tests. Unfortunately, our industry is also focused on function-level testing to the exclusion of all else, so few are trained on how to write any other type of test. This article seeks to correct the issue by reintroducing the concept of testing with databases.