“Being the richest man in the cemetery doesn’t matter to me…going to bed at night saying we’ve done something wonderful…that’s what matters to me.”–Steve Jobs
This is my small tribute to Steve Jobs, co-founder of Apple, who passed away last week. When I think of Apple products and their impact on a user it leads me to ponder what it is that makes something like an iPad so great?
As I’m sure most of you are aware, Steve Jobs was a hands-on CEO, and as a result, Apple’s products are a direct reflection of the leader and his values.
The four values that come to mind when I think about Steve Jobs are:
I believe all of these values can be applied to any technical solution, but in my case, Jobs’ passing has inspired me to think about how these values impact my everyday job — especially as they apply to test automation.
Be a visionary.
The next time you begin coding an automation framework, imagine what the ideal solution would look like. Envision what you feel is the direction of automation testing in your company’s future, and strive to conform your automation solution to that vision.
Some questions to ask might be:
• Is there any emerging technology that will impact my testing down the road?
• What will the finished framework look like?
• How will an end user actually be utilizing it?
• What do you see your business doing a year or two down the road, and is your automation framework flexible enough to handle those new needs?
Think Legos. Your solution should be simple yet powerful. It should be easy to use — like an iPhone. A good way to determine how easy your solution is would be to ask yourself, “If a bus hits me tomorrow, would my co-workers be able to look at my framework and understand it?” Be honest — if the answer is no (I’m as guilty as anyone when it comes to this) then take it as a challenge to remedy it. Start today! I’ve recently begun to re-factor some of my automation code, and I’m already seeing positive results because of it.
For me, creating a new design always starts with me asking myself, “Who am I creating this for, and what do they need it to do?” A framework design for Excel power users would be quite different from one of which the main users are all developers, or one being used by complete technical novices.
Another important question to ask about your design is: “If I were to leave my company today, would my automation framework continue to be used?”
Other questions to ask yourself are:
• Can elements be easily added to my framework without breaking it?
• Do scripts created in my framework require a lot of maintenance?
If more time is spent fixing your scripts than running them, your design most likely stinks like a rotten “apple.”
Automation solutions, at their core, should be beautiful – in the same way that an iPad is beautiful– from the way it works to how it’s presented, and everything in between.
Some elements that make an automation framework “beautiful” are:
• Well-commented code
• Giving people “not only what they want but what they need before they know they need it”
The ultimate goal of all automation is to free QA testers to focus on more non-trivial types of testing like exploratory testing. And THAT’S beautiful!
Adhere to these four values when creating an automation framework, and you’re sure to create some automation awesomeness that Steve himself would be proud of.