Software testing can be a challenging job. It’s easy to grow as a tester at the start of your career because there are many new things to learn. But the improvement process starts slowing down once you’ve mastered the basics, functional versus non-functional testing, designing test cases, and writing good bug reports. So how can you keep that from happening? What habits can you adopt to continue improving as a tester?
Ask Questions
Curiosity is one of the most important soft skills a tester should have. So it’s important to ask questions to better understand why things are designed the way they are, how they can help the user, and how developers created them. Go beyond the specified requirements to identify potential issues that the initial design or requirements phase may have overlooked.
Before you confirm the acceptance criteria, consider whether anything else needs testing or if you missed something. This will often help you find bugs in areas that no one else thought of. Try to understand how a certain functionality can help users and how the users will work with it. This can help you come up with edge cases and potential user scenarios that may otherwise be overlooked. Or even missing functionalities.
Trust your gut—if a behavior feels odd to you, users will likely find it odd as well. Discuss it with the developers, business analysts, or product owners to clarify if it’s correct or if something was missed along the way.
Communicate Often with the Team
Communication is one of the most important habits a tester can adopt, and cannot be overestimated. Frequent communication with the team is crucial. Do not limit communication to formal meetings or Agile ceremonies, and discuss often with the other team members.
This can help you stay on top of any new developments and how they can impact the application (more on this below), and also keep the team up-to-date with what you’re working on. This constant communication can help you identify testing scenarios you did not consider before, and understand better how development work can impact existing scenarios.
Understand the Technical Side
Even if you don’t write code, it’s still worth understanding what happens “behind the scenes.” I don’t mean that you need to participate in code reviews or pair programming. But you can discuss with the development team how they implemented certain features and how their changes can impact existing working functionalities.
Understanding how the code works can help you identify boundaries, equivalence classes, or flows that should guide your testing efforts, allowing you to focus more effectively. Knowing how the new code impacts existing functionalities helps you perform the right regression tests to ensure nothing that was previously working is broken.
Invest in Learning
There are a few ways that you can learn more about software testing:
- Certifications and courses: Keep up with the latest testing tools, technologies, and methodologies by taking up courses. Certifications like ISTQB or courses on automation tools like Selenium, Postman, or JIRA can help you improve your skills.
- Blogs: Find your favorite test blogs and read them often. You can set aside some time daily or weekly to read software testing articles and catch up on fellow testers’ work.
- Newsletters: Subscribing to newsletters is effortless but can give you great results. There are a lot of great curators out there who compile the best blog posts, podcasts, videos, or tutorials. I will mention a few: Software Testing Weekly, Five for Friday, and Ministry of Testing.
- Podcasts: If podcasts are more of your thing, many good ones are available, like Joe Colantonio’s TestGuild podcasts, or the Testing Show.
- Forums: If you prefer to discuss with your peers, you can join the Quality Assurance subreddit or the wonderful community at the Ministry of Testing.
Put Yourself in the Users’ Shoes
Last but not least, one of the most important habits that can make you a great tester, is to think like a user. Understand who your target is and start using the application, not testing it.
While it is fun to find bugs, a tester’s job is not to find the most creative ways to identify them. It doesn’t help to find strange behaviors when you click the mouse button multiple times and navigate back and forth on a page, because that’s not how real users interact with the application. Instead, try to think of realistic use cases.
Also, focus your testing with the user experience in mind – is the application easy to use, are the features useful to the user, is navigating through the different features done easily enough? Even if the software is bug-free, if the user experience is bad, the user might choose to stop using the application.
Your main goal should be that the application does what the users expect it to do, so focus more on real-life scenarios, as well as non-functional aspects like performance, security, usability, and accessibility.
Final Thoughts
It’s not just technical skills that can help you become a better tester, adopting good habits can be key to performing your work efficiently. These can be related to hard skills, like keeping up to date with the latest testing trends and technologies or cultivating a better understanding of the application code, or they can focus on soft skills, like communication and a better understanding of the end-users.