A tester may or may not need SQL skills; it depends on the project needs and also the needs of the testing team. Let's step through some examples.
If the project is a data warehouse project and if most of the work the tester will be focused on is the data - whether it's the data that appears on a report or the loading of data into the warehouse - then yes, a tester in that situation and role needs SQL skills.
But imagine a data warehouse project where there is another tester on the team with SQL skills and that one tester's role is to work with the business owners to understand to coordinate the UAT test efforts - that tester probably does not need SQL skills.
So even considering the same project, you can see how the need depends on the role the tester will fulfill.
Projects where SQL skills are more likely to be needed include:
- Data conversions or migrations
- Database upgrades
- Data warehouse or Business Intelligence (BI) projects
Projects where SQL skills are less likely to be needed:
- Testing when testing is being executed from the user perspective or black box testing
- Mobile testing when testing is focused on usability and accessibility
- Browser compatibility testing
Even in these examples, I can think of exceptions. SQL skills are like any other skills that you can acquire - it may help you to find additional work, it may be helpful on a project and you may also find long periods of time when your work doesn't make use of your SQL skills. Learning at least basic SQL skills and having a good understanding of how relational databases work is valuable knowledge to acquire.
This was first published in September 2010