Pondering Programming Language Requirements For Software QA Testing
As someone who has been in software QA (that’s software testing/bug finding) for over 13 years I’ve often read job listings where the requirement listed knowledge of a particular programming language. As such whenever I talk with someone (recruiter, HR person, etc.) about such jobs I always ask why there is such a requirement. There are times when such a requirement is valid (such as when an automated testing tool uses the language in question). Other times it is questionable.
The answer I hear most when asking about a programming language requirement is that the application under test is written in that language. I’m always a bit incredulous at this answer. Yes, it can be helpful to know the language an application is programmed in once a bug is found. Knowing the language can help the tester decipher error messages and point the programmer in the right direction in oprder to expedite a fix. But as a QA person how does knowledge of the language help me test the application? Not very much if I’m doing the job right.
Regardless of the programming language a good testers approach is to create test scenarios that test every requirement for the application. Their tests will be both constructive (following how requirements say the app should work) and destructive (trying to do things in ways the requirements don’t state). They will put every requirement through it’s paces down to confirming the number of characters allowed in a text field and that cancel buttons dismiss a dialog box with no further action.
My point is that regardless of the language an application is written in a good tester will be able to find the bugs and report under which circumstances they occur. Knowing the programming language of the application may help once the bug is found but is (usually) irrelevant to the actual act of finding them. And shouldn’t that be the focus of a QA job?
What do you think? Let me know in the comments below.
If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.