Not long ago our vacuuming robot, iRobot Roomba, aka “DK” (Dyson Killer, don’t get me started on how much I hate Dyson vacuums) stopped working and my wife and I had to pack him up in his original box to take him in for an exchange. My 2 1/2 year old son was devastated; he cried and sobbed heavily while we carefully packed him up. I realized while watching my son break down, that over the course of a month DK had found a place in our home and hearts. He had become more than just a vacuum to us. DK had personality, he was cute, he was intriguing, he was smart, and he could vacuum consistently and more often than us.
Why do we humans have a primal instinct to name, love, and care for our robots?
How can we not love and care for the robot that does our tedious work for us?
This behavior reminds me of a similar phenomenon found in software automation: Automation engineers that tend to focus more on the automation framework (robot) than the tests (vacuuming the carpet).
Google’s Harry Robinson points out the same issue in his presentation on How to build your own Robot army. Harry’s automation approach is to build many small robots instead of one large robot. I can agree and disagree with Harry, I understand his point, and his point is helpful when trying to avoid falling in love with your robot. However, I thought his advice can be a bit misleading and relative. Although Harry didn’t go into the technical details of how he creates many robots, I had the feeling he was trying to tell me that I couldn’t have one robot and be successful. I could be wrong, maybe Harry was just using the word “robot” a little loosely.
At Corillian, I have one robot. My robot is the master controller of all my tests. He houses the entire framework that drives all the underlying tests. A framework that monitors and tracks test status, houses utilities, and allows me to reuse very much code. I can add to the intelligence of my robot and use that intelligence within all my tests. Just one robot here. One robot that works well too!
One robot, or many, they are all loveable and are to be proud of.
So, how does an automation engineer manage the pride of his shiny robot and focus on the actual tests?
The secret to focusing on the automated tests and not the framework is….get ready to soak in some great wisdom here…
Yep, you heard it here first. Don’t forget it: Self Discipline
- Budget framework building time
- Only add things that add value to the tests
- Only add things that make testing and reporting more efficient
- Don’t make the framework bigger than the tests
Love your robot, just don’t love him too much, you’re liable to lose touch with what you’re being paid to do: Test more than a human.
Don’t worry, DK and his predecessor DK2 are doing just fine. Turns out my issue with DK was user error, so DK was traded in wrongfully. We love our Roomba and highly recommend it. We’re so impressed that we are thinking about adding the Scooba to our robot army.