Monday, October 25, 2010

Robot framework training

I joined with Pekka Klärck and Ismo Aro to do my first Robot training and coaching sessions this October in Athens, Greece. It was a very nice way start coaching Robot usage with such an enthusiastic and eager to learn crowd. Many thanks to everybody who participated!

In the (generally very positive) feedback that we gathered from the sessions two main points of criticism stand out:

  1. Two days is a very short time to learn test automation with Robot (I don't think this is in any way Robot specific issue.)
  2. People prefer learning by doing exercises over listening to me going on about the theory. Also it was pointed out that it would be nice to have more time for the exercises that we have.
Planning the next training
The first issue is really no surprise. Although the basic syntax and usage of Robot is very easy to learn, learning how to do test automation well in general takes time. Also for learning the more exotic features of Robot Framework, a course of two days is just a too short of a time. When giving Robot training we do usually stay for a few days afterwards to coach and help clients with their real tests. This is a very important part of the training and should be considered a part of the course really. (Maybe next time, I will ask for the feedback after the coaching is done also...)

I do understand that the two day crash course into test automation with robot can be a bit like drinking from a fire hose. We have to think whether it would be better to give Robot training for example first one day, then coaching and some time for the people to try out what they learned and then after a week or so, to give a second day of training with more advanced concepts.

The second point about more hands on training forces us to rethink how to present the more advanced concepts and also what concepts are really necessary in a basic training. It is a lot easier to cover many advanced concepts in one day when you just read them through from slides. To actually let the people try them out, we have to give them some time and therefore also to skip some subjects from the training. But in the end, I guess it is better to teach few things well, than a lot of things too quickly.

This has been an important learning experience and we are looking forward to making the next training even better than this one.


JMassapina said...

Hello Jussi Malinen,

i'm trying to "get in to" Robot Framework from both perspectives: as a user and as a developer so i can help the project.
I read you post and i really understand what you mean in a two days course/training. It's harder with self study. So what i want to ask you is if you can share any roadmaps to make more easy the learn Robot Framework.

Thanks in advance.


mike said...

As someone who has built (and taught) a couple of courses around automated test tools, here is my 0.02€:

* The start of the course is going to be "heavy" on the theory/talking, break it up with a couple of exercises. THe first introduces the AUT (application under test) that you will use for the rest of the course, the second introduces the UI of robotFramework (and I suggest that you start with the UI rather than command line)

* Link back to sections in the User Guide (this helps the students once they have left the classroom).

* don't be afraid to have an exercise that does it the hard way early in the course, but then later on all that work is shown to be redundant by a later exercise.

Oh, and have you put the course-ware up somewhere? under an appropriate license (I guess CC Attribution-NonCommercial-NoDerivatives would be the most applicable)

Jussi Malinen said...

Thanks for you cents. We have been moving into more exercise heavy direction in the courses.

We have been talking a lot about whether people should start learning robot with GUI (Ride) or command line and notepad. I personally think that starting with Ride is not a good idea. Too many new things to learn for beginners. (I would not start teaching Java coding with Eclipse either. I would introduce modern complicated IDEs only after people know the basics.)

But to be honest, I have not tried starting from the basics with Ride. Maybe it could work...

The test application I have been using and example implementations of the tests (the exercise material) are actually available online: