6 Skills You Need to Be a Good Software Tester
Software testing is a skill which needs a different bend of mind and think a lot more than the developer does.
Just a few days back I got asked a question – anybody can do testing, so what’s special about it?
My simple answer is ‘yes, anybody can do testing, provided he thinks like a tester’.
Developers cannot test the product well enough and it’s a proven fact all over the world.
So what is it that sets the tester apart from developers?
Eye for detail
A tester typically catches many minute details that a developer would have skipped. Many developers claim that they have unit tested their code and it’s ready to go out in the world without another pair of eyes looking at it. But once it comes under the scanner of a tester, bugs roll out of the closet.
People skills
Developers and engineering managers (most of them in my experience) look up to testers as a necessary evil. They do not like bugs, they do not like to be followed up on bugs. It takes a while for testers to gain respect among the developer community. It requires them to build a personal rapport and engage as part of a team. Only then it is possible to convincingly get the work done.
Technical skills
Testers need to understand the technology of the product under test. especially when it comes to testing multi-tier web applications, it helps to understand Databases, Application Servers, Web Servers, XML, basics of the programming language used, understand what log files are generated by the application and where to look for them and understand the different levels of logging.
Apart from this, if you need to develop automation suites for regression testing, you need to learn new tools and languages, their limitations, work-around to the limitations, etc.
Domain knowledge
It’s extremely important to understand the domain the product is catered to, functionality of not only the feature you as a tester would test, but understand how the piece connects in the big picture. Understand how the customer would use the product and understand the requirements well. Do not hesitate to ask questions when in doubt. I have personally seen many times, even product managers would not have thought of a few scenarios. They get thinking when testers ask questions.
Troubleshooting
When a functionality does not work as expected, a tester should be able to provide enough information to the developer. Sometimes, there may be obvious errors, sometimes, there may not be any. It becomes important to give the right pointers – logfiles, UI snapshots, etc, as much as can help the developers.
Passion to learn
This is the most obvious of the whole lot. If you are not learning, you are not evolving into becoming a superb tester. the more knowledge you possess on the domain, technology, the more respect you command. So keep learning to be successful.
Hope these inputs were helpful
