High Quality Software Development | Eugene Fidelin | Beyond Coding Podcast #165

Topics covered
Popular Clips
Episode Highlights
Integration Tests
Integration tests are highlighted as a crucial component in software development, offering significant value by testing the entire system as a black box. emphasizes their importance, noting that they can replace numerous unit tests while still ensuring that the core functionalities remain intact even after refactoring 1. This approach allows developers to focus on the most critical scenarios that impact business outcomes, ensuring that any changes do not disrupt essential workflows 2.
You probably can replace, I don't know, maybe 20 unit tests by two or three integration tests. And the integration test, by reading them you already understand what the value this functionality brings to the user.
---
agrees, noting that integration tests provide a comprehensive view of the system's behavior, which is often more valuable than isolated unit tests 3.
End-to-End Tests
End-to-end tests, while initially appealing for their comprehensive coverage, often become inefficient due to their flakiness and long execution times. points out that these tests typically run at the end of the pipeline, leading to delayed feedback and inefficiencies 4. He suggests replacing them with faster and more reliable integration and contract tests, which can provide similar coverage without the drawbacks 5.
The combination of these three tests, usually much faster and more stable.
---
adds that relying solely on end-to-end tests can lead to a false sense of security, as their flakiness often results in ignored failures 6.
Test Pyramid Models
The discussion on test pyramid models reveals a shift in testing strategies, with a growing preference for integration tests over traditional unit tests. explains that integration tests offer a more holistic view of the system, reducing the need for numerous unit tests that often provide limited insight 3. This approach aligns with the Testing Trophy model, which prioritizes integration tests as the bulk of testing efforts 1.
I would call it more integration test because there is a lot of components.
---
concurs, highlighting that integration tests can effectively validate the system's functionality without being bogged down by the intricacies of individual components 3.
Related Episodes


QA in Software Engineering | Augustine Uzokwe | Beyond Coding Podcast #172
Answers 383 questions

Quality in Software Development | Dennis Doomen | Beyond Coding Podcast #13
Answers 383 questions

Software Engineering Productivity | Walter de Bruijn | Beyond Coding Podcast #174
Answers 383 questions

Mature Software Delivery | Elias Nogueira | Beyond Coding Podcast #149
Answers 383 questions

Software Development and Sustainability | Brendan Kamp | Beyond Coding Podcast #160
Answers 383 questions

Developing People | Ester Le Roux | Beyond Coding Podcast #164
Answers 383 questions

Effective Software Teams | Daniel Terhorst-North | Beyond Coding Podcast #59
Answers 383 questionsSenior Software Engineers and LeetCode | Ilya Pimenov | Beyond Coding Podcast #158
Answers 383 questions

Teaching Software Development | @HiteshChoudharydotcom | Beyond Coding Podcast #55
Answers 383 questions

How Software Engineering is Evolving | Borislav Nikolov | Beyond Coding #183
Answers 383 questions

Code Automation Software | Gareth Baars | Beyond Coding Podcast #8
Answers 383 questions













