InfoQ Homepage Software Testing Content on InfoQ
-
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.
-
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.
-
Reducing Verification Lead Time by 50% by Lowering Defect Slippage and Applying AI/ML Techniques
Can we increase our flexibility? Can we increase our test coverage? Can we increase our efficiency? And is it possible to reduce our verification lead-time by 50%? One company challenged itself with these questions. This article explores two important “‘pillars”’ of their testing strategy: shifting left and using state-of-the-art techniques to support verification activities.
-
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.
-
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.
-
The Unit in Unit Testing
In this article, we will focus on how developers should consider using fake objects instead of mock objects, as fake objects offer similar isolation benefits while driving high confidence, clear documentation, and loose coupling between implementation and test code.
-
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.
-
Software Testing, Artificial Intelligence and Machine Learning Trends in 2023
Technology has taken significant leaps within the last few years, introducing advancements that have taken us further into the digital age, impacting the software testing industry, and we're seeing advances in machine learning, artificial intelligence, and the neural networks making them possible. These new technologies will change how software is developed and tested like never before.
-
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.
-
An Ode to Unit Tests: in Defense of the Testing Pyramid
The switch to the testing diamond approach has not effectively addressed issues caused by the testing pyramid. Instead, the focus should be on using unit tests correctly within a testable architecture.
-
How We Built Testability with Psychological Safety
Testability can enable teams to make changes to their code bases without requiring extensive regression testing. To build testability, team members must collaborate and leverage each other's unique skills. Unfortunately, effective collaboration does not come naturally to people and therefore needs leadership to nurture people's ability to speak up and share their knowledge.
-
POCs, Scrum, and the Poor Quality of Software Solutions
POCs and Scrum can play a critical role in implementing Quality software solutions. Poor quality often starts with a POC that was prematurely turned into the development pipeline. Scrum short sprints often create an environment most conductive to working reactively to constantly-changing requirements making it hard for developers to prioritize and achieve Quality over the course of the project.