Should a tester be a good programmer in the first place in order to test other programmer’s code?
Not exactly. To understand why, let’s talk about types of testing. There are 3 of them:
- Black box testing – the tester feeds the program with input and observes an output using the software’s user interface. The simplest example of black box testing would be clicking a button OK on dialog box to verify that the button is working properly. If dialog box closes, than the test passes, if not, it fails. The tester does not actually need to know the code and internal structure of the program in order to perform black box testing.
- Grey box testing – similar to black box, although tester is using some limited knowledge of the software internal structure during testing. Example of such testing would be a database testing, where knowledge of database schema (technical description of database) is required.
- White box testing – testing a code. That type of testing is performed by software programmers. It requires programming skills and excellent knowledge of internal structure of a software.
90-95% of all job openings on the market are black and grey box testing positions. See more at http://hitekschool.com