Welcome to the second instalment in the Testing Titans series!
The goal behind these interviews is to lift the veil on the software testing world and shine a light on the concepts, tools, and people that are shaping the industry. Keep an eye out for this series of in-depth interviews with these thought leaders and conference speakers in the software testing and quality assurance world.
You can look forward to interviews from highly experienced experts on the subjects of DevOps, test automation, cybersecurity, and software development – all from the perspective of software testing. Head to our Testing Titans page to read more interviews with influential testers.
In our second interview of the series, we spoke with Managing Director and Head of Quality, Alex Schladebeck. We asked her how Unit Testing really should work and why Test-Driven Development (TDD) is important for developers and testers alike.
Alex, thanks for speaking with us and sharing your insights into software testing. To start off, could you provide a little background information about yourself? Like who you are and what you do?
My name is Alex, and I live and work in Braunschweig, Germany. I’m a managing director at Bredex GmbH, a company that specialises in individual and holistic software solutions for customers. I’m also head of quality at the company, and in my heart I am still very much a tester!
You are scheduled to give a workshop at TestBash Netherlands in a few months about Unit Testing and Test Driven Development. Without spoiling much of that workshop, could you share some common misconceptions developers and QA have about Unit Testing and Test-Driven Development?
I think the biggest one I see is also the hardest to combat: Many developers say they understand unit testing and TDD – and yet they don’t use them in practice. Somewhere there is a gap between “understanding what it is” and “actually using it”. And that’s one of the things we’re trying to address with workshops like this.
Another thing I see is uncertainty about what a unit test is or isn’t. I like the definition that it is a test that can run in isolation (a term from JB Rainsberger, I believe). For example, if it touches the database, or requires another unit, or is dependent on the outcome of another test – then it isn’t a unit test!
We often hear stories of development teams that were sceptical of implementing Unit Testing – due to schedule constraints or lack of knowledge – could you share your experience on how introducing Unit Testing to developers typically goes?
It’s definitely something that needs to be practiced. Hands-on, and in a safe learning space where it’s not critical to the success of the project. That’s why my co-speaker at the workshop and some of our colleagues organise quality dojos for things like unit testing and TDD. It’s important to really experience it in that context. What also helps is getting in coaches to help teams on their actual problems – then they can transfer the knowledge from the practice sessions to current project work.
In terms of schedule constraints, my very strong opinion is that unit testing is a part of development. It belongs there. And so we need to make time for it. After all, we hope it will reduce the cost of rework and bug fixing later too…
Where do you see test-driven development’s place as Continuous Integration and DevOps increase in popularity? What challenges do you foresee?
Most specifically in the “continuous everything” paradigm, I see TDD as even more necessary. I need to be asking what the minimum step is to achieve business value, and I need to design it in a way that it can be tested when changes happen. Oh, and I want a handy documentation of the desired (and undesired behaviour). That all sounds a lot like TDD to me!
Speaking of Agile and DevOps, how do you see Agile and DevOps meshing together in the future? Will they play nicely together?
I always bring agile back to the principles of the manifesto. Things like “quick feedback”, “sustainable pace”, “technical excellence”. If we look at it like that, then agile and DevOps are both simply exponents of the same desire to get good software out to the right people at the right time – in a professional way. For me, there is no mesh because they’re already complementary.
What are your thoughts on how DevOps will impact QA? What challenges and opportunities do you predict seeing from a QA perspective?
I think we’ll see (once again) some voices claiming that the role of a tester is no longer necessary. I see that differently. I think that we need people who have specialisations in teams (I just don’t see it being the case that we have any one team member that can do *all* roles in a DevOps context: frontend, backend, security, performance, testing, automation, build, business analysis, process ownership, user experience …. )
At the same time, these roles are all going to change and grow. I want people in any role to be open to learning, to adding new skills to their belt and to growing as a team to succeed.
As a trainer, public speaker, and business leader, what do you see in the future for QA in a broader sense? Will QA and development become more integrated and collaborative?
I think it has to. Testing and quality are an integral part of the development process and need to be considered from the start, throughout and also even after production – right through to end of life for solutions. We can’t afford the risks of not involving this perspective! At the same time, I have a sinking feeling that we as an industry are going to have to learn this the hard way. We focus a great deal on “shiny new tech” and getting features out there. And that’s all well and good, but if we don’t temper it with some good questions and strategies about quality, then we are going to see some uncomfortable and potentially dangerous errors, I fear.
Thank you for sharing your thoughts on Test-Driven Development and Unit Testing, Alex!
If you enjoyed what you just read be sure to check out the rest of the Testing Titans series as well the rest of our blog.
If you are active in development and QA , and are picking up what Alex is putting down about TDD, you should follow Alex Schladebeck on Twitter and LinkedIn as well as check her website, Schladebeck.de
Welcome to our Testing Titans interview series! Our interviews are meant to bring attention to the unsung heroes of the software development world, Software Testers.