Last week, I joined The Testing Planet Episode Six: The Apprentice, organised by the Ministry of Testing (MoT), for a cosmic conversation on how to learn about software testing.
The episode was focused on inspiring the next generation of software testers, but also those interested in collaboration, and fostering career goals.
My remit as a speaker was to share tips, tricks and resources with those starting their career in software testing. Doing this, allowed me to take a step back, to reflect on my journey in software testing, whilst identifying some lessons learned along the way, that I believe others may benefit from.
In this article, I will expand on the 5 key tips I shared on the day, my response to a couple of the audience questions, then I will conclude with a bonus tip.
1. Identify your essence of testing
In almost anything we engage in, it is always important to understand your essence. Meaning, you need to know why you engage in, and do the things you do. Therefore, my first tip for anyone getting started in software testing, is to identify your essence for testing.
It is important to identify what testing mean to you by for example, asking yourself – why software testing? why may testing be the right career path for you? etc. Everyone will have their different reasons and motivations, and no single one is more valuable than the other. But it is important to know yours.
For example, before getting into testing, I have personally, always been interested and passionate about using quality products. Which means, if I pay for a service, or buy a product, I want it to be good, and to deliver the value I wished for. So, when I got into testing, one of my first drive became the realisation that, I now have a unique opportunity to contribute and help teams build products that serves a given user base. Therefore, the question for me has always been:
How do I help make sure that the people, clients, and users my team or organisation serve, gets the best value from the product/s we deliver?
I may not always succeed in doing this, but it is like a personal mission and motivation that ties into my essence of testing. And it is largely why I am very passionate about advocating for users, building-in quality to the product lifecycle, optimising the product value, and empowering people to build innovative solutions that best serve their clients.
I believe it is important for anyone getting into testing to define their essence, use that to identify the things they should focus on in shaping their their development, and journey in software testing.
2. Understand the product you work with
Once you have identified your essence, it is really important, regardless of your experience, to understand and get stuck in with the products you work with.
You really want to learn what the value proposition of the product is, what the users wants, who the stakeholders are, what the architectural estate look like, and what motivates the design decisions your team makes etc.
I once worked in a company where, prior to joining, I knew nothing about the line of business or the industry. The company developed hardware and software systems for tracking and visualising golf data that enabled effective practice and delivery of training sessions for golf teachers, golf professionals and amateurs alike. To successfully work with these systems on a technical level, it was important to have some knowledge of golf, its rules, and what the client base wants from the systems we developed.
As a result, even though my remit as a tester was to help my team build-in quality to the software applications we delivered, the first thing I did was to engage in learning more about golf, and the rules of the game. Consequently, this accelerated my understanding of the user needs, the systems we developed to meet those needs, which further enhanced my efficiency in testing them.
To this end, I will always say, as a tester looking to accelerate your testing career, it is important to learn as much as you can about the product you work with, the industry you are in, and what the clients you serve want.
3. Build positive relationships with team members
Regardless of the setup you have in your team, It is important to work on building a positive relationship with everyone in your team. Including other software testers, developers, designers, product managers etc.
Don’t get me wrong, you may not always get along with everyone in your team. But if you focus on the common goal of the team, which is usually to deliver quality products to users, you just may be able to always find a common ground for collaboration.
You will be surprised how willing people will be to take extra time to teach you, show you things that accelerate your learning, when they consider you as a good collaborator and team player.
I believe by building good relationships, you will learn a lot from everyone in your team, either through formal or informal chats and engagements.
4. Be curious – ask questions
Many will agree that curiosity is one of the important skills you need, to build a testing mindset.
I have also argued elsewhere that, as a tester, you should always exercise the desire to learn and discover the things you do not ‘yet’ know about the product you test. And never stop yourself from asking questions from those who may have answers to things you do not “yet” know about the product.
Learn to never feel or accept that, asking a question from someone makes you look stupid. There is a Chinese saying that goes something like:
Those who ask questions – stay stupid for a few seconds, and those who doesn’t ask – stay stupid for a very long time.
— A Chinese Proverb
To this end, I would always say, take the discomfort of feeling stupid for a few seconds, ask the questions, then learn, and move on. Moreover, even if you ask a question, and someone out there thinks it sound stupid, I would still say, always go with the mindset that, it is their problem not yours. They may think you look stupid for asking, but it is more important what you think of yourself.
Don’t get me wrong, not everyone will like it when you always ask questions they maybe expect you to know or not ask. For this reason, it is important to always communicate your intentions to the people around you. Let them know that you ask the questions only because you want to learn.
You could also become surprised how many people enjoy that you ask your questions. Often times, you are either asking something others are thinking about but don’t dare to ask, or something someone is delighted to share their insights on, and talk about with pleasure. So, never stop yourself from asking those questions.
5. Build-up your testing knowledge and mindset
The foundation for success in almost everything we do in software testing is having the right mindset towards quality, and understanding what testing is. Thus, it is important for testers to learn about testing and its role in quality delivery, and software development in general.
To scale your knowledge in testing, you can for example read relevant software testing and development related books. There are a lot of books out there that can be valuable in this regard. But if I would offer my personal top three, they will be Lesson Learned in Software Testing, Explore It, and Agile Testing. You can also check out my eBook “Put Your Mindset to The Test“, or checkout my LinkedIn article on “Building a Testing Mindset for Quality Product Delivery: My Top 10 Tips“, to learn more about my ideas on building a testing mindset.
There are also a lot of insightful online courses, articles and blogs out there from testing professionals, where you can learn about different software testing topics depending on your interest.
Meanwhile, it can also be valuable to engage with testing communities such as the Ministry of Testing. They have been here for years, and there is a vast number of resources you can get from them.
Likewise, attend meetups, conferences, and other industry related events when you can. You will learn a lot from engaging, connecting and networking with other testing professionals.
Perhaps, through these various avenues, you may find inspiration for something that may be of interest to you, which you can build on for the future.
My response to some audience questions
“Any tips for getting your manager to support you in your learning journey?“
In response to this question, I believe context matters, just like it does in most of the things we talk about in software testing.
So, to get your manager to support your learning, I will say it depends on the context, and the environment you work in. The type of organisation, the management and development structure, the type of learning journey you are planning to set yourself on etc.
Generally, understanding the context can help inform how you go about getting your manager to support your learning. Therefore, it may be difficult to give a direct or specific answer to a question like this, without having details of the specific context. But what I can offer is:
Regardless of the environment you work in, getting people to support your learning has to start from you.
You need to start by understanding why you are learning, what you are learning? and identify the benefits it will bring to you, your team, and organisation.
To this end, I will say you need to access your learning journey on 3 levels of benefits, then use that to frame your discussion with your manager. For example, frame your request by emphasing the benefit of the learning to:
- you and your development
- the team (and maybe the manager)
- the organisation and its business objectives
That said, do not forget, you are the biggest support structure you need for your learning. You have to make a start, then show others why they should invest and support your journey. No one else can do that better than yourself.
Being a self-start also become valuable in situations where you have constraints with time and resources. In this regard, it may be beneficial to focus on micro-learning – start with small achievable things like reading articles and blogs, then cascade the benefit you get from that to your manager or anyone who may be interested in the things you are learning.
Additionally, learn to tailor your learning plan towards the organisational direction. Look at the areas the organisation is trying to grow into and see which of them aligns with your interest. Then, make a case for what you can learn in that area, that may benefit the organisation on the long run.
“As AI advances in industry, what key skills should we focus on as testers to add value and stay relevant?“
In response to this question, I referred to a recent blogpost, where I argued among others, that:
As we journey into the AI world, it will become more and more important for testers to find innovative ways to contribute to the evaluation and validation of the data AI-systems are trained with, to improve their integrity, accuracy and reduce bias.
Likewise, I believe it will be beneficial for testers to learn how to use AI systems as partners that can support their mission for effective testing.
In the blogpost – 10 Ways Software Testers Can Thrive in an AI-Powered Future, I shared some more insights on this topic. So, check that out for more, if it is of interest.
Bonus tip!
To thrive in software testing, it can sometimes be overwhelming, with everything you need to learn and think about. For this reason, one more tip I will add to the above listed is:
Don’t try to do everything, all at once!
This is an important point to remember. And it was one that, the speakers on the Testing Planet episode 6 quickly agreed on.
In the beginning years in testing, there were times when I thought I needed to do everything, learn every testing tool or framework out there etc., to succeed. But the reality was, I didn’t necessarily need to. And I believe this may be true for most people out there.
Even when you may need to learn a lot of things to get ahead, you can’t really do all of it, at once, and still be effective. Therefore, it is important to pick your battles. Focus on one, or a few things at a time, do them well, and see what happens.
There is so much information out there, and if you try to do it all, at once, success on any of them may be a long road home.
Remember to always refer back to your essence of testing, and let that be the north star that guides your learning decisions. And perhaps, that will help direct your focus on the learning that will most serve your goals.
If after doing the above, you still find it challenging to streamline your learning focus, then seek a mentor, who can help provide some guidance and will be there to support your development.
Final thoughts
Software testing is a very dynamic field that anyone who values quality, is committed to providing value to people, and is interested in continuous learning and professional development will find rewarding.
The tips I have shared above may not be an exhaustive list of all you need to succeed. However, I believe they will provide a good starting point for anyone looking to build a career in software testing.
Throughout my journey in the industry, my passion for quality, a dedication to provide value to users, the relationships I have built along the way, and my desire for continuous learning are some of the things I believe has influenced my career the most.
This is my story, which I hope may help inspire you on your journey. And as you go about it, continue to remember your essence, and use that to fuel your growth and development in this beautiful world of software testing.
Enjoy the ride!