10 ‘Nice to have’ skills for software testers
What skills you need in order to rock it on software testing
Being a software tester is overrated these days, maybe because the task is considered too easy or too simple, that you might think no skills are needed. I wish that would be true, but to be honest, being a real software tester is much more than being a simple monkey clicking everywhere.
The following list would give you a quick review of skills that ideally every software tester should have, but as you will notice some of them are “nice to have” and others are a must.
1- Communication and reporting
Let face it, if you are a software tester you have to master reporting, rather is a manual or automation reports. Reporting and communication go hand to hand; if you have for example a good report but you fail in the way you communicate it to the rest of the team or either to the client, the report will lose importance. Being a good communicator is one of the core skills to be a software tester.
2-Mapping business situation
One great skill to develop when you are a software tester is to be able to map the real situation with the business, think on what the business is going to need, be ahead on the changes, on the implications and also be able to identify any possible gap or misunderstanding.
3-Automation Process
You probably know this: everyone is looking to use automation. For software tester mainly means learn about tools you can use to simplify your days and start to automize the process. This usually begins talking about using a tool for CI (like Jenkins, CircleCI, etc) and then you move on to think about integration tests, E2E test using Selenium or any other tool you choose.
4- Understanding code /Programming
This is strongly related with the previous one, whether you are asked to perform an automation task or not, is very useful to understand code, because in that way you could be part of the “code review” for each story you are involved.
When the time arrives and you are the software automation tester on the team ( although some people are going to tell me that you can be a software automation tester and not be a programmer- thought that I strongly disagree) you should know at least the basics of programming.
5- Planning and documentation
A really good tester, and furthermore a software automation tester must be able to plan it’s own time to complete their tasks(managing time) and also be able to create the documentation needed for the team( for example test cases creation, test plan creation, tests reports, the sing-off, etc ) and also to ask for any other information needed ( for example for the acceptance criteria on the stories, for the details on the technical issues, for the correct mock-ups for the UI, etc)
6-DevOps knowledge
It is true that being a DevOps is another world, I admit that. But is also true that you can start as a software tester in your professional path and grow up to be DevOps. Nevertheless, is a really good thing to have some knowledge about DevOps, and there are a couple of reasons for that: the first one is because not all teams have a DevOps person assign, and what usually happens is one dev take that role occasionally. Another reason to learn some stuff about DevOps is that you have another perspective of “what is going on” behind the scene and you can have more detail comprehension whenever you need it.
7- Agile methodologies
This is probably an already know topic when we talk among software testers, simply using SCRUM or KANBAN or LEAN is not enough, yes as you read: is NOT enough. As testers, we are expected to seek for the quality of the product above everything else, that also means we should also encourage the rest of the team to be involved more and more on the agile practices.
Always be a learner on agile practices is one the ways I think is the best way to be a really good software tester.
8- Testing tools and techniques
What is the life of a software tester without the testing tools? Well….I have to say it would NOT be a life at all. From manual tools such as Postman to automation tools as Apium, from administrative tools as Jira to testing administrative tools as TestsRails, all of them are deeply useful to improve the day to day work.
As a software tester is a matter of huge importance to be able not only to use the tools, also to be able to decide which one is suitable for each project, for each team. Sometimes this means that you will need to prepare a POC or investigate about it, other time means that you could use the previous experience you have to support your decisions.
9- Creativity and rational thinking
How many times does someone ask you: how in hell you manage to do that? to imagine that situation?
As software testers being creative is one of the best qualities we have. By nature, a software tester would seek to find the white spot, to see what others cannot see, to be ahead of future issues, and for all of that the secret ingredient is creativity.
Being only creative would be not enough and that is why you will need also rational thinking because sometimes you would need to test specific rules, particular combinations, complex situations, for all of those you will have to be rational by the time you create the test cases.
10- Customer support
Last but not least, as software tester as a high-level point we want ( apart from quality) to satisfy the customer/client. To achieve that we need to provide some kind of support, sometimes we can see that in terms of being part of the conversations with the PO and prepare proposals for improvements. Other times we can perform this in terms of a meeting to better understand a bug.
Is not always easy, and would depend on the type of customer you have to deal with, but is always important to have this in mind and be supportive the customer to ensure you and your team are satisfying him.
As I say before, these are the skills I personally considered “ nice to have” for every software tester nowadays.
Hope is useful for any reader and happy to see your comments about it :)
See you next time!!