At my workplace I have a pair of apprentices who have joined my team, and I have been asked by the manager to be their teacher, coach and mentor.
Now, the problem I have with wanting to get them aware of testing and how to apply it, is the field of testing that I’m in and the team they’re in.
The team is MI/BI (depending on what others call it). So it is all databases and reports. No API’s, no GUI’s, no input fields. It will be testing either the data being migrated into the data warehouse, or testing the query used to build a report.
I’m still relatively inexperienced within MI, so whilst I can make them aware of ETL and what a data warehouse is for, I’m not going to be able to make them a master of MI testing.
I have shown them 30 Things Every New Software Tester Should Learn | MoT, as I make sure to show that to everyone new in the team.
I gave them a brief overview of the types of testing, so unit testing, functional testing, automation, performance, accessibility, as even though they won’t be doing all of it, they have an awareness it exists.
Last week I gave them a practical exercise, where I listed requirements for a report that I wanted built, asking for things like first and last name, date of birth, balance, account number. I then gave criteria for when a customer should or shouldn’t be displayed on the report.
I asked them to work out what tests they would do against the report, and then write SQL to return the data. One of them has some experience with SQL, the other has little, but has been practicing.
They came back with what tests they would do, poked holes in the requirements they were given, and then started working on the SQL. By the end of the next day, after some minor pointers from me, they were happy with what they had produced, as was I.
Ideally I would like to do something similar, to get them used to querying multiple tables, but also thinking about what they would test, raising questions if requirements aren’t clear enough, and also getting them used to working together. I said for the exercise they can work alone or together, and asking developers for help on tables or how to do things isn’t cheating, as that’s what would happen when working on a project. This isn’t an unrealistic interview scenario where they are locked alone in a room and no support given.
What type of things would you do to help teach them more about testing, and the ability to put it into practice?
Over time they will do both testing and development, with the development mainly being making lots of gradually more complicated SQL, if that makes any difference.