I’ve thinking about SQL lately, how far I’ve come in my personal develpment, and how useful it has been for me as a tester. I then thought about how do other testers learn to write SQL to help them with their testing? Would a workshop be useful, so if anyone has questions or gets stuck they can ask me or those around them, rather than frustrated at an online course?
I thought about the key areas and commands I have used in my time as a tester, so whilst there could be things that might be useful for a developer to know, and one day for a tester to know, they would be beyond the scpe of a half-day, introduction course.
In terms of areas, this is what I’m thinking:
SELECT
- (*)
- Columns
- Count
- Distinct
WHERE
- =
- Other symbols, >, <, !=, etc
- In
- Is null
- Like %
- And
- Between
- Exists
- Not
ORDER BY
- Columns
- Numbers
- Asc
- Desc
CRUD
- Insert
- Update
- Delete
TABLES
- Differnet joins,focus on Inner with a bit of Left
What I’m thinking is each of those can be a themed section together, gradually building up, so you learn the different ways you can select data, then narrow it down, order what you get, manipulate data, and add more tables.
One concern I have is that each attendees will need a populated database, and some way to access it. I’m used to using Oracle SQL Developer or MS SQL Server Management Studio, depending on the type of database.
As I’ve only just thought about this, I haven’t had chance to research, but I was wondering if it’s possible to have a small database (couple of tables, maybe 1000 records in reach) that I can save to somewhere like GitHub, so that before the workshop everyone can download it and run locally, without fear of doing anything to anyone elses data.
I also know not everyone gets time to do that, so would there be a way to have it online people can access instead of download, though I then risk things if it does more than commit within a session.
I would need to design and test the workshop, but that’s the idea of it.
I know not all testers will use SQL, and others will know more than the workshp will offer, but I figure there are some who could benefit from knowing but not had the chance to learn. When I was testing internal web pages, I would need to use SQL to find data I needed, or prove that the front-end called the back-end correctly (saying something is successful doesn’t always mean that!).