For my sins I have been asked to help draw up a Test Automation training plan for the software quality consultancy that I work for.
It is to be at 3 levels, basic, advanced and specialist and to include ancilliary skills that would be good for an automator to have.
I do have some ideas but I am concerned about being too subjective about what skills people should acquire by themselves (because thats how I acquired most of mine) and what skills they should be trained in.
At a basic level, they shouldn't be required to learn much on their own. That's what basic implies - that they are just beginning.
At a mid-level, requiring a certain level of knowledge and/or experience is not completely out of hand.
At the highest level, I think it is safe to assume they at least know the language of whatever tools you use in house, and possibly some scripting languages as well.
What's more important, however, is what you are supposed to teach in the training - principles, use of the tools, or both? For what sorts of apps? How detailed?
When you answer some of those questions, it might be easier to narrow down what you want to tell them.
It's good you can identify that you might be slanted in one direction or the other because you trained yourself - keep in mind that your company is possibly trying to make sure that others don't have to endure the same.
"They were painters and they were painting themselves a lovely world.."
-Application familiarisation skills (the application under test)
-Requirements / functional spec interpretation skills
-Test case Design
-Test Tool overview
-Basic tool features
-Basic recording and playback
-Test language basics
-Advanced language features
-Adbvanced tool features
-Test suite creation (collections of test cases)
-Determining pass/fail criteria
-Performance monitoring techniques
-Code coverage metrics
Dependening on the tool you're using:
-Integration with other tools
-Remote test execution
-Interactive test scripts
-Communication between scripts
-The list goes on
All our consultants had a go at ISEB certification last year and demand for it has become a noticeable trend. I am not putting it into my plan though as it isn't relevant enough to test automation.
What I have done is include alot of ancilliary skills in areas which I think help test automators become more proficient. My basic category consists of things like Client/server essentials, SQL, RDBMS, Basic Networking etc as well as programming languages to support automation. Advanced gets into the tools themselves, thankyou bipqvist for the breaking down the specific tool training (basic and more advanced concepts). I hadn't considered that. I have included standalone tools (Mercury type) as well as suite based tools (Rational, Compuware type). Also included is load testing and I have liberally pillaged from the Mercurys certification syllabi to complete my list. Specialist skills include things like Winsock (whatever that is) Perl/Python, XML etc ...