By day, Matt Heusser is a software tester for Socialtext. By night, he is a mild-mannered information systems instructor at Calvin College.
In neither case do I, Matt Heusser, wear a cape, mask or colorful outfit: but I have been learning a thing or two about teaching database programming and what a tester might need to know about it.
Oh, I imagine a number of you are yawning and saying to yourselves, “Ho hum. I work at a big financial services company and slice and dice SQL all day. What’s the big deal?”
This post is not for that guy. It’s for for the one who read that and thought to himself, “Er, um, what’s SQL?”
I would like to suggest that if you are a tester and don’t work directly with databases, it might be helpful to learn a little, just enough to be a little more effective as a tester. After all, from Google to Twitter to my cell phone to my iPod, databases are everywhere, and being able to get “under the hood” for testing can make us that much more effective.
Here are a few techniques that might be possible to do with ‘just a little bit’ — maybe a couple hours — of database training:
– To test reports, write your own, and compare them
– To test correctness of mass adds and updates of your software
– To do before and after checks on a large batch operation
– To get “under the hood” to test stored procedures and other business logic encases in the database
– To test import/export from contact management software
– To test the integrity of the database after an upgrade, or a restore from backup
– To create ad-hoc reports and queries for any particular need
While direct coding might be a bit much, most databases support Open Database Connectivity (ODBC) and connect right into Microsoft Access. From Access you can drag and drop tables and design queries visually. My class, mostly college sophmores, were off to the races in an hour or two.
O’Reilly even makes a book in its award winning “Missing Manual” series for Microsoft Access. You know, the books you wish came in the box but don’t? It’s one of those. And by the way, SQL, or Structured Query Language, is a programming language for databases that can often be avoided by using Access. Just don’t use it to write queries against a large production database!
A couple of years ago, I wrote an article on professional growth for software testers. Learning about databases is one way to go. If you woud like to hear more about databases for testers, or something else, just leave a comment. I would enjoy hearing from you.