This podcast episode is about the topic of software quality and how to live it in a team. It focuses on three success factors: The first is using the basics, i.e. applying the test levels and types, using test case design methods and static analyses. The second is test automation at all levels of software development. The third is quality as an attitude of the entire team, which implements the necessary test activities on its own responsibility - regardless of the role in the team.
“If you automate crap, you have crap - only faster” - Richard Seidl
Richie is an expert in software quality and agility and a passionate optimist about the future. As a consultant, coach and mentor, he supports corporations, startups and SMEs on their way to more quality in their software. He has seen a lot of software in his professional career: good and bad, big and small, new and old. Software so beautiful it makes you want to cry and software that makes your toenails curl. One thing is clear to him: if you want to create excellent software today, you need to take a holistic approach to the development process: people, context, methods and tools - only when everything works together does a mindset for potential development and innovation emerge, and he shares his experience in several specialist books, articles and lectures.
Highlights of this episode:
In the first episode of my podcast “Software Testing”, I share my view on software quality and explain why quality as an attitude is essential for the success of software projects. I shed light on the importance of test fundamentals, test automation and a quality-oriented team approach.
As host of the ‘Software Testing’ podcast, in my first episode I want to create a framework that will guide us throughout the series. The theme of our journey is ‘Quality as an Attitude’, a principle that is close to my personal heart and one that I believe can make all the difference in the world of software development. With over two decades of experience in software testing projects, I have helped teams and organizations improve their quality. Three key elements have stood out to me: An understanding of testing fundamentals, the use of test automation, and a team approach that puts quality at the center.
The cornerstones of good software quality lie in the test principles. This is not just theoretical knowledge, but practical concepts that every tester should know. From the different test levels - unit tests, integration tests, system tests to acceptance tests - to identifying the right test types for specific quality characteristics; all these aspects play a crucial role. The lack of clearly defined test methods and the neglect of static analyses are common stumbling blocks in many projects. But by sharpening these fundamentals, we can create a more robust architecture and more error-resistant software.
Test automation has proven to be a critical factor in increasing efficiency and improving the quality of software projects. It’s not just about automating tests themselves, but about comprehensive process automation that supports agile and DevOps practices. In today’s fast-paced development landscape, it is essential that test suites are robust and can cover a wide range of tests - this allows us to release more frequently and with higher quality. However, automation needs to be approached with caution; not everything should be automated and the quality of test cases should not suffer for quantity.
In agile teams, quality is no longer seen as the exclusive task of individual testers or a test department. Instead, it is a shared responsibility of the entire team - from the developer to the architect to the UX designer. This approach not only promotes a high level of personal responsibility within the team, but also establishes a culture in which quality is continuously taken into account. Integrating quality checks into build pipelines and setting clear standards for code quality are examples of how teams can optimize their processes.
Understanding quality as an attitude is more than just a guiding principle; it is a practical approach to mastering the challenges of modern software development. By internalizing testing fundamentals, harnessing the power of test automation, and fostering a team culture that prioritizes quality, we can create software that not only works, but lasts. I hope this perspective inspires you to rethink quality in your own projects.