Software Testing is the best profession in the world. I know that. If you don’t, please check this out!
It makes you happy and additionally, you can earn a living. That’s great!
But most probably, if you have been in the business for a while, you have met some unhappy testers; or maybe, you are/have been one of them. If that is the case, or you are just starting your career in the field, hope this post will help you.
My Five Rules
These are the five rules I try to follow every day at work. I can honestly say that they have helped me to be happier and more successful.
#1 Don’t be an asshole
The most important one. Back to it in a minute.
#2 Keep learning
Let’s be honest. You don’t know anything. I don’t know anything. Nobody knows anything. A general rule in life, but constantly applicable in IT.
Think in the software that is surrounding you: inside your laptop, your mobile, their operating systems, their apps, your super-automatic-coffee-machine, the air-conditioner, the auto-pilot system of a plane, your car central unit managing all those sensors, controlling the laser eye surgery machine…
Software products and systems are diverse. They are very much diverse. In size, in complexity, in criticality… Software is so diverse that software development methodologies must be diverse; software testing methodologies must be diverse, software testing tools must be diverse and software testing techniques must be diverse.
So, accept you know nothing, and learn. Learn about your business domain. Learn about the problems the software you are testing is trying to solve. Learn about the technologies, frameworks, programming languages your software is built on. Learn about the testing tools, techniques and methodologies most suitable for your product and context.
Accepting we know nothing is hard and sometimes, frustrating. Doubting can be painful and cause anxiety. But there are only two ways:
- You can accept it, embrace it, make decisions based on the information and knowledge that you currently have and keep learning.
- Or you can think that you know everything you need, that what you don’t know is not important, that you have the right answers and stop learning.
Remember, #1! Don’t become a methodology fanatic. Don’t become a tool fanatic.
Learn as much as possible about business, methodologies, technologies, architectures, tools. Arm yourself with the highest possible amount of skills and resources. You will be awesome.
I call it the law of the instrument, and it may be formulated as follows: Give a small boy a hammer, and he will find that everything he encounters needs pounding.
— Abraham Kaplan
It can be very convenient to go live with an MVP web application for a Golf Club as soon as possible and accept some risks. Would you do that with the software of our new laser eye surgery machine? Hope you answer “No”. Remember, IT depends.
But not everything is uncertainty, Not at all. The more you learn and experiment, the more you discover general valid principles, solid patterns and good practices. And a magic transformation occurs: doubts and anxiety disappear. You still know that you know nothing, but it’s ok because now you know you will know. You feel relaxed because you know you will be able to solve the problem, even being conscious that you don’t know how to solve it yet.
I have never tested any machine-learning-powered software. Yet. I don’t know which is the best testing approach, or which are the best tools and techniques. No idea. Yet. But I know I will do it quite well. And if the first time, I don’t, the second one, I will.
If you are interested in learning more about Testing, you can check my Training Resources page.
#3 Work hard, but smart
Two brief ideas:
Work hard in silence, let your success be your noise.
— Frank Ocean
This is something that has worked quite well for me. But you know, it depends. In some contexts, maybe you need to promote your work. But, for me, as a general principle, it has worked better this “work in silence” mode. Instead of preaching about the value of testing, try to prove it. Instead of complaining about the quality of the requirements, the code itself or the delay in the delivery, work on adding value. Help to identify the causes of the issues, communicate your ideas for improvement and ask everybody “how can I help”?
There is nothing worse than a motivated fool.
— Emilio Duró
The translation is mine. Originally, Emilio Duró, a Spanish well-known speaker, coach and professor, said:
En la vida no hay nada peor que un tonto motivado.
He wanted to say that if you are motivated, but you don’t have the needed knowledge and skills, you are going to cause a lot of damage. So to succeed, you have to be motivated and have a positive attitude, but you have to know what you are doing.
And, the last ingredient, you have to work smart to boost your productivity. There are thousands of books and posts about this (I collected some of them in my Training Resources page), so if you think you are not very efficient using your time, this is definitely an area for you to improve. Plan, schedule, organise, prioritise, focus and… get the job done!
#4 Be community
You are not alone. You have hundreds of colleagues out there waiting for you. Go and connect with them. They know more than you. You know more than them. Share. Help. Be supported.
Twitter and LinkedIn are great places to connect with the Testing Community. Just in case it helps, here is the list of awesome testers I follow on Twitter.
And here you have some web communities:
- Ministry of Testing I’m in!
- uTest
- Women Who Test
Remember: you don’t know anything. The community knows everything. Everything. About all testing types, tools, frameworks, approaches, strategies, techniques. Give, answer, ask. You’ll see. It’s awesome!
Once again, #1: please check if there is already an existing community close to you before creating a new one! Also, remember that we have this thing called “the Internet”, so re-think about what “close to you” really means in your context.
#5 Be kind
The most important one!
(YOU: Hey! But you just told that the most important one was #1! ME: Yes, but if you follow #5 strictly, you will automatically follow #1. #1 is for beginners. #5 is for experts.)
Be kind, for everyone you meet is fighting a hard battle.
— Ian MacLaren
Success, kindness. That’s it. Everybody is fighting their hard and unknown battles. If you are kind, you are helping. If you are kind, you are humble, you will learn. If you are kind, you will not blame others, you will add value instead of complaining. If you are kind, you will support others, and you will be supported by others. You will be part of the community, or you will build one around you.
In Testing, remember to be especially kind:
- When reporting defects
- Always
As testers, we are part of a process, and anything that is not properly done before will impact on our work. We will have problems is requirements or documentation do not exist or are not good. We will have problems if the development goes wrong, or late, or both. We will have problems if the project is not well managed; if estimations were inaccurate. And we will have a lot of problems if Testing is not understood; if we are not aligned with our teammates and stakeholders about which our role and responsibilities are and what quality assurance is.
In short, we will be in lots of situations when being kind will require some effort. Remember others’ battles. They may have had time concerns, pressure, personal issues, lack of resources or knowledge. We all are humans. Testing is not reviewing the work of others to highlight what they did wrong. Testing is to investigate, to provide information, to help, to assess, to complement.
Again, remember #1. Don’t think you know more. Don’t think you are better. Don’t blame. Don’t complain. Just ask “how can I help?”.
BONUS POINT! 🙂
Many thanks to Francisco Moreno, QA Lead at @sngular, who sent the ones he provides to newcomers to me:
-
You’re part of the team not a policeman
-
Quality is a shared responsibility
-
Focus on adding value
-
Be humble
-
Be curious
-
Ask everything
FINAL NOTE
Your feedback is more than welcome! 🙂 Do you like these rules? Do you agree with them? Would you add some more?
Jose Manuel Sampayo
Director Platform Engineering | Test Engineering @adidas. I drive Continuous Testing for Digital Transformation. I love dogs. And also people.
Great Job, very inspiring even out of testing community.
Many thanks Marina! 🙂 Appreciated.
Nice post. Keep posting useful stuff. All the best
Many thanks Rosana! ??
Well written!!!
Thanks a lot Nikhil!
Hi Jose,
It’s always great to share your ideas with this people around you.
I really liked the rule 2 and 4 which I always believed in those.
This really inspires me to start writing and sharing the knowledge with the communities.
Looking forward to see many posts from your side.
Thank You,
Kishore
Many thanks Kishore for these kind words! ??
Inspiring reading. Thanks for sharing!
Many thanks my friend ?
Very useful Your rules, also for not engineers! Inspiring me!!!
Many thanks Eva! ??
Very interesting reading. Great job Jose!
Gracias Lore! ??
I’m absolutely agree and of course, with you but with Marina.
Everything you say is not only useful in testing (and whole IT) context but it’s also useful and absolutely recommended in your life.
I felt your motivation power during a couple of years so i’ll be always grateful for that.
Many thanks for all i’ll be ready for your next posts.
I won’t say good luck because you don’t need it. ???
Many thanks Fernando! You are awesome. ??
Amazing!!! Thanks a lot for sharingl
This is so you! Kind and inspiring!
I learnt a lot by your side, glad to keep learning with your posts now.
Thanks for your words Iñaki! ??
All the best!
Adopt an Agile testing mindset. Historically, the role of the software tester was mostly to sit within a team of testers, often producing large documents such as test strategy and test plans as well as detailed test scripts. This method of working also implied that the testers are generally abstracted from the whole software development process and only come in at the later stages when the software was already developed. Nowadays, testers within an agile context, are required to be multi-skilled, technical, collaborative and have an agile mindset. Testers are under tremendous pressure to release applications more quickly, and companies are pushing testers to make changes in their mindset, from skillsets to coding, to understanding how the business functions and dealing with customers. Testers must evolve. Amir Ghahrai,
Conducting user testing? Make sure you have the right users. Suppose, you are recruiting users for testing a yet to be released mobile yoga app that caters to Ashtanga Yoga aspirants. There are several formats of yoga in the market, especially in the western world. Hence, it is important to note that many Ashtanga Yoga practitioners believe that theirs is the most authentic form of yoga ever. Which users from this large community should we consider for user testing of this particular yoga app? Who do we recruit? How do we recruit? On what basis?