If you think going to a printer to clear a paper jam is painful, imagine having to do endless tests to trigger error statuses on printers. Pulling the tray out, waiting for an error to appear in the UI and then pushing the tray back in again. There’s got to be a better way.
Luckily that the team that manages QA had Constructival on the horizon (PaperCut’s first global hackathon). A chance to tackle any project we wanted to work on, a great chance to develop some automation for the team.
As we’ve grown over the past 12-months, so has the QA team. Five of us got together to plan the project, but as the feasibility investigation went on, more and more people jumped into our team.
We had 13 people going into Constructival including developers, QAs, product owner, and our IT guy. With such a sizable group, we broke the project down into small tasks that could be done in parallel, and allocated them to smaller teams including wood work, circuitry and software.
The teams worked so well, that we actually finished by the end of the first day, leaving time for team bonding over the ping pong table. Day 2 was mostly just refining tasks.
How it works
The tray robot pulls out the tray of the printer when it gets a signal from the test. When the test is complete and done with the verification, the robot pushes the tray back, simple!
For engineers and robotics enthusiasts alike, here’s what happens in the background. The tray robot’s main part is a stepper motor, which is controlled by Python scripts, run by a little Python web service on a Raspberry Pi. This service is called from our Java and Groovy based automation tests.
What’s next, a robotic arm?
The tray robot will be used to test PaperCut Views as a part of our daily automated regression test suite. It will save us a lot of time by eliminating the need to repeat these tests manually over and over again.
In the long term, we are planning to utilize robots in other tests on printers that require manual intervention including pressing buttons and opening doors, one step closer to a robotic arm!
Not only did the team have fun while we were building the robot, we have also extended our knowledge into the automated testing of physical devices. Us QAs can all sleep better at night knowing the evolution of the the dark side of printer testing is automation!
Constructival was a great success. Seeing how engaged and committed everyone in the team was during the 2 days, producing awesome projects beneficial for all involved (and the company). It was an overwhelming feeling only topped by our team being crowned winners of the People’s Choice Award.
The motivation, freedom and ownership to to try out and learn new things, got people together who haven’t worked together before, and given us all new perspectives and ideas for the future. The Force is strong with these ones. :)