Blog

Quality as an attitude - Richard Seidl

Written by Richard Seidl | Apr 17, 2023 10:00:00 PM

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:

  • Quality as an attitude is central to the success of software projects
  • Three key aspects for good software quality are Test fundamentals, test automation and quality as a team responsibility
  • Test basics include test levels, test types and test methods
  • Test automation facilitates the frequent release of software
  • Quality as a shared team responsibility promotes a high degree of personal responsibility and discipline
  • Static analysis and manual reviews are important tools for quality assurance
  • Good test cases are essential for effective testing
  • Integrating quality into the software development process is a continuous process
  • Quality in software projects starts with the basics and requires a shared mindset in the team

Quality as an attitude: A guide to successful software testing

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.

The journey to better software quality begins

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 essence of the test basics

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.

The transformation through test automation

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.

Quality as a shared responsibility

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.

Quality as a signpost

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.