Welcome to Q&A! Each month we catch up with someone from the testing community or beyond, to talk about testing and quality in the world of technology and software development.
Some guests you may know well, and others might be less familiar. I hope you will learn something new about each of them, and something new from each of them. Each will bring their own perspectives and insights on quality and testing.
The format will be the same each time:
- a little information about this month’s guest and what they are currently up to
- some questions for them to answer
- some answers for them to question (the ‘Jeopardy’ section where I will provide the answer and ask the interviewee to give me the question)
- finally, the ‘Pass it on’ section with a question from last month’s participant and the opportunity to pose a question for next month’s guest
Our guest this month is Danny Dainton. In Danny’s own words:
“I’m a former British Army Infantry Soldier who has served in places like Iraq and Afghanistan but now I find myself completely in love with the Software Testing craft. I’m relatively new to Testing but I’m enjoying learning new things everyday! I’m currently a Senior Tester at NewVoiceMedia in the UK. You can reach me on Twitter @dannydainton and I also blog at dannydainton.com“
First of all Danny, would you like to tell us about anything interesting you’ve been involved in recently, any exciting upcoming ventures, or just what you are working on at the moment?
About 18 months ago my team were given a new project, we were asked to build a brand new API. We have several public facing API’s but these are not fantastic and desperately needed updating/replacing. It has been the most rewarding 18 months of my Testing life so far, I’ve been pushed so far out of my comfort zone that it’s just a very distance place in my rear view mirror.
The skills that I have learnt and the knowledge that I’ve gained has made me more confident in lots more aspects of testing, that I had not experienced before now. As it’s an API, I don’t have a UI to interact with and I have my head firmly behind the curtains, interacting with messaging brokers, databases, microservices, sending requests and receiving responses to the API endpoints etc. It’s been a very steep but enjoyable learning curve.
The best thing about it is the culture of the team that I’m in. We’ve all been on this journey together and we as so proud of the software that we releasing. Lot’s more work to do but i’m loving it everyday!
If you encountered a version of yourself from earlier in your career, and talked about how you approach your work, what would you disagree on?
I was massively naive. The first time that I was in an environment where software was being developed, I didn’t have a clue what I was doing and I mean 100% no clue. I was asked if I wanted to spend a couple of weeks at a company and provide some subject matter expertise from my previous role in the Army, specifically about Afghanistan. I was desperate for any job at that point in my life so I just took a gamble and went for it. It turned out that as well as the knowledge transfer, I was also testing an Intelligence gathering platform that was being developed at the company.
Thinking back on it now, It just seemed all sorts of wrong and a recipe for disaster. It was everything I dislike about the way software is developed. The three testers were sitting no where near the developers, everything was thrown over the wall and you didn’t really know what was in the new build. All communication was done via an instant messaging app or email, even though everyone worked in the same open plan office. We were checking boxes off a 300+ page printed document to prove that the application worked. If there was a bug, it was something wrong with the document rather than the software…..AAAGGHH makes me mad just thinking about it now!!
So basically, I would disagree on absolute everything….apart from the way I handled the communication. If someone messaged me or emailed me, I wouldn’t send a written reply; I would stand up and walk over to them and have a physical conversation. It just made so much more sense to me. Although I disliked the way that they worked, I learnt so much from that experience that I’ve taken with me through my current testing journey.
When you look back at your career so far, what do you consider to be the highlight(s)?
This is an absolute no brainer for me. Just over 3 years ago I was fortunate enough to be asked, by Rob Lambert, to come down and have an interview at NewVoiceMedia. I’d been tracking, via Twitter and Rob’s blog, the way that they approach testing at NVM; how the testers are in the thick of everything and involved at every conceivable part of the software development lifecycle, from the concept of an idea through to monitoring the platform and ensuring the customers have the best experience possible when using the service.
I knew that I wanted to be part of that company and learn from Rob and his team. To cut a long story short, I was offered a position at NVM and I have been loving life since the first day I joined.
When you think back to these highlights, what were the most important lessons you learned?
Research where you see yourself and where you want to be in your career. When I started looking closer at NVM, it wasn’t because I just wanted any old testing job. I wanted to be at a place that would not only value the craft that I’m so passionate about but would also give me the platform to help me learn and grow as a tester.
I also had to weigh up the Pros and Cons, I can make an endless list of Pros but I also had to take into consideration that I wanted to join a company that was 90 miles away from my home. My career is very important to me but my family is just as important and it wasn’t a decision I was making on my own, I needed to make sure that my wife fully supported my desire to work at NVM. I’ve learnt more about the work / life balance – it’s essential to get that right to have a happy life.
When you consider the many organisations around the world involved in developing software and technology, is there an example of one which stands out for you as having a focus on quality?
It feels like such a subjective question to answer, I’m always going to lean towards something that I personally find a pleasure to use. I’m a complete Postman fanboy, love the tool. A few years back I used the Chrome extension version, it was awesome. Over time it has become a stable, powerful, feature rich native application. I love the way that it’s constantly being worked on and improved, to me their focus has always seemed to be with the end user in mind. They have changed their model slightly and started to offer different features for paying users but the majority of the tool is completely free to use!
What do you think is the most common misconception about testing?
That people think that technical testing is all about having the ability to write code. I’ve seen lots of conversations around technical testing but the main focus of the talk is about learning to code to enable you to automate all the things.
Personally, I think testing is a technical role and being able to code is not the thing that makes it that way. Basic navigation through a database and analyzing the data is technical, reading a log file and parsing the information is technical, understanding your platforms architecture is technical, using tools like the Postman REST Client, Fiddler, ZAP is technical, and so on. None of those involve writing any code. These are just a few examples, but there are many more.
I’m a huge fan of learning and writing code, I’m always creating small tools to assist my testing but I don’t think it’s a requirement to become a “Technical Tester”. I work with some extremely smart Testers who have no interest in learning to code but I personally think that they are very strong technically.
And now, the Jeopardy section. I’ll provide you with some answers and ask you to suggest the questions…
What is the name of the street where the chocolates live? (Might be an English joke…)
What is something that is value to some person, at some time, who matters? – Standard response but I love that definition.
What is one of the single most difficult things, that people fail to articulate correctly?
I don’t have my own personal definition of testing that I’m comfortable with yet. Many great testing minds have covered the definition already; James Bach and Michael Bolton to name the most well known. Some people (myself included) have just memorised their words and replied with them when asked the “What is testing?” question. I’m still trying to figure out what testing personally means to me so hopefully in the future, it’s a response that’s owned by me.
Lastly, the ‘Pass it on’ section. The question posed last time out, by Nicola Owen was:
“Have you ever been in a situation where the testability was poor? If so, what did you do about it? If not, what made you think the testability of the product was good?”
It’s a subject that is very close to my heart! 🙂
One of the projects that I have been on at NVM had what I felt was poor testability. Unfortunately at that point in my career, I didn’t know what “good testability” was either. I always found the software hard to test; the tests that I would perform would give me more information and would lead to more questions but I found it extremely difficult to investigate the problems deeper. You wouldn’t get any feedback from anywhere, the logging wasn’t providing any real value and I was unsure about the current state of the system. I never felt in control and it was like a guessing game.
Thankfully, that project was a pilot and didn’t really take off or reach our customers. In terms of what I did about it… not much at that point, but the more and more I’ve researched testability, I feel like we’re doing everything right on the new project. I’ve never felt more in control of something and I have the ability to know the exact state of the software, as we know it, at all times. For our team, it’s at the heart of what we do and everything starts from the question “How are WE going to test this?”.
Testability as a subject is vast and covers many different areas. The important things to me are Observability and Controllability, If i feel that we are strong in those two key areas, I’m very happy with the direction of our project.
And finally, what question would you like to pose for next month’s participant?
What drives your passion and enthusiasm for testing? What keeps you doing what you do?
Many thanks to Danny for taking the time to answer participate in Q&A… see you next time!