InfoQ Homepage Software Testing Content on InfoQ
-
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.
-
Open-Source Testing: Why Bug Bounty Programs Should Be Embraced, Not Feared
The growing importance of the Web3 ecosystem based on blockchains shows how important community test programs are. Some within the testing community see this trend as a threat. However, it is actually an opportunity. Bug bounties and open-source test contributions are a great tool for test teams, and there is every reason for testers to embrace this new trend rather than to fear it.
-
Exploring Architectural Concepts Building a Card Game
One of the things I missed during the pandemic were my friends, the possibility to meet them, discuss with them and, why not, play cards with them. So I decided to implement an app to play Scopone with my friends and, at the same time, test “in the code” some architectural concepts which had been intriguing me for some time.
-
Using Machine Learning for Fast Test Feedback to Developers and Test Suite Optimization
Software testing, especially in large scale projects, is a time intensive process. Test suites may be computationally expensive, compete with each other for available hardware, or simply be so large as to cause considerable delay until their results are available. The article explores optimizing test execution, saving machine resources, and reducing feedback time to developers.
-
Remote Ensemble Testing - How an Experiment Shaped the Way We Work
This article shares how an experiment evolved into a common practice at the workplace, using an experimental approach with remote ensemble testing to get teammates on our cross-functional team more involved in the testing activities of the jointly created product. This all started in the times of a global pandemic where the entire team was working from home.
-
Are Canary Releases an Alternative to Testers?
Canary releases enable product owners to check how a new feature is getting adopted by users by rolling it out to a small percentage of users and then incrementally rolling it out to a wider audience. Product owners might feel tempted to discontinue or reduce testing upon adopting canary releases, but decisions should be approached cautiously as they can have serious and unintended consequences.