An expert in the field
A naturally curious and intuitive person (a good tester)
The above combination provides the best results as it has a little of all the essential components. The expert is able to guide the tester on what is wrong and what is expected when he comes up with a suspected bug in the software. The automation expert makes life easier by automating old test cases.
This also means that more time is being spent constructively in thinking up newer test cases. There are plenty of grey box testing tools, which are recommended to be used by software testers to enjoy quick results. Neither of the above three is restricted to their responsibilities and can very well contribute to each other work if they have the skills.
For instance, in most places, all three of them are actively involved in thinking up new and innovative test cases. Most of the current day software testers are known to have a good balance between skills because it allows them to find jobs in different domains easily.
Therefore to be a complete tester you would need a little of all the above. It would be beneficial to develop the following skills. Let us discuss each one in more detail and how you may develop them.
This is one area where you cannot do much without work experience. It’s a kind of a vicious circle. You need some domain knowledge to get a job whereas you need a job to get the required domain knowledge. Whether it is the banking sector, Insurance, healthcare or sports you need a good exposure. I’m sure beginners to any field face this problem. Of course, you may read a lot and almost make up for it. In fact reading, joining discussion groups on the internet, attending seminars etc. go a long way in helping you get started.
If you are in school, find out if you have a course in Software Testing which explains more about the latest techniques and Web QA Process. Formal education in software testing introduces you to several techniques that are not always taught at the workplace. Just like they expect you to know to programme when you apply for a software developers job, you are expected to know certain testing techniques as a tester. Check out the course “CIS 6930: Seminar on Software Testing” taught by Professor Dr. Alan Hevner at the University of South Florida (USF) at http://www.usf.edu. for testing courses in other Universities besides USF:
Get trained and exposed to test automation tools. They are not as easy as they seem. Test automation isn’t all about ‘record and playback’. There is much more to it. Most tools nowadays are very complex. That is why it warrants a dedicated person or even a team to write manage and maintain test scripts. With the size of software projects increasing by the day, test case automation has become a necessity in most organizations. Being skilled in one could make you a valuable asset to the company that hires you.