One of the least explored and least documented areas of software testing is SQL-related testing. Many software applications have a SQL database component of some sort. For example, consider any Web page that has some search-inventory functionality (such as amazon.com for products or microsoft.com/careers for jobs). Any application that employs a SQL database will almost certainly have a lot of SQL code that needs testing. I’ve been looking at this area from several different angles recently. My investigations led me to the ERWin database design tool. ERWin ("Entity-Relationship for Windows") is a GUI tool that allows you to design a database visually, and then generate SQL database creation code from the visual design which you can then use in SQL Server (or other database product) to create your physical database. In general I hate GUI tools. However, I’ve used ERWin on and off for many years and have recently become a big fan of the product. I think there are two reasons for this. First, the ERWin tool itself has gotten very good. Second, SQL has become more important in my technical activities. Anyway, in order to test any software system you must understand the system, and I’ve found that ERWin really promotes good engineering practices and is a great learning tool for SQL concepts. I have written a paper on the relationship between database design with ERWin, application-SQL interface with LINQ (Language Integrated Query), and software testing. I’ll be presenting a talk based on that paper at the CA World conference (http://www.caworld.com/) in Las Vegas in November. Computer Associates (CA) is the company that owns ERWin. If you’re interested in ERWin you can get a 15-day evaluation copy from CA. And CA World is a really, really good conference — I encourage you to check it out.