|By Colin Armitage||
|November 18, 2009 02:45 PM EST||
For the past 15-plus years, organisations have turned to test automation as a way to improve efficiency in the Software Development Life Cycle. Yet despite heavy investment, software testing is still often the bottleneck in the delivery cycle. In a recent survey of CIOs, Original Software found that only 6% were totally happy with their automation. The scary thing is that this is tolerated - It’s the norm!
“Only in a world this shitty could you even try to say these were innocent people and keep a straight face. But that's the point. We see a deadly sin on every street corner, in every home, and we tolerate it. We tolerate it because it's common, it's trivial. We tolerate it morning, noon, and night. Well, not anymore. I'm setting the example.”
John Doe (Kevin Spacey) in Se7en
Undoubtedly Test Automation has failed to achieve for the masses. But why is this the case? In this article I take a light-hearted look at Dante’s Divine Comedy to uncover some home truths about software test automation…
The Italian poet Dante Alighieri (1265-1321), wrote three epic poems (known collectively as the Divine Comedy) titled Inferno, Purgatorio, and Paradiso. In his book Inferno, Dante recounts the visions he has in a dream in which he enters and descends into hell. The sinners that Dante encounters in the Inferno are each punished in accordance with which of the seven deadly sins they were most guilty of while they were alive.
Now, I can’t help but to liken this to our very own industry –
As Dante journeys through the Inferno he encounters sinners condemned to eternal damnation because of their actions or in some cases inaction while on earth.
As I myself journey from prospect to prospect I often encounter the ‘sinners’ of test automation, whose projects are condemned to eternal damnation because of their actions, or, in many cases, the inaction that we un-earth.
One can gain a deeper understanding of Dante’s Inferno by studying the seven deadly sins which brought these souls to this miserable place.
In this article I will explore each of the seven deadly sins as they relate to software test automation, instances we come across time and time again, and traps clients have often fallen into because of their earthly vices.
Welcome to the Seven Deadly Sins of Software Test Automation.
Pride / Vanity – Usually considered the worst of the sins, this is a feeling of superiority and an excessive belief in a person's own abilities; A desire to be more important or attractive to others, failing to give credit due to others, or excessive love of self. This sin often manifests itself in the wanton squandering of money and time on themselves without caring about others.
Picture the scene: The wool has been pulled over the eyes of Brimstone Business Application Co’s CIO. He did a deal with a big IT supplier to have their quality-centred products added to his order. At the time it seemed like a good idea – he saved the company money and had a nice round of golf rolled-in to boot. He’d fallen into the superiority trap of believing that the most expensive or most prevalent solution would always be the best, but now was beginning to realise that this particular technology was not actually compatible with his company’s needs. He’d brought this solution in, so his pride was unable to take failure. Instead he persevered until it was too late and placed unrealistic goals on his QA team, who were then forced to revert back to manual testing. As a result the project time-lines slipped, applications went out the door late and bug-ridden, which proved expensive in re-work costs and built up a huge stack of technical debt. His department was now damned to an eternity of fire-fighting the latest problems.
The punishment in Hell will be: to be broken on the wheel.
Avoidance strategy: bigger isn’t always better. Look around when evaluating new solutions.
Sloth – Spiritual or actual apathy or laziness; an undue slowness to act; Sloth can also concern wasting due to lack of use or allowing entropy, expanding into almost any person, thing or skill that would require maintenance, refinement and/or support to continue to exist.
Picture the scene: The IT Director of Hades Hire Company wanted an easy life. He shelled out for the best test automation solution money could buy (or so the sales exec said). Feeling pleased with himself he imagined pouring a large Louis XIV, lighting up a cigar, kicking back and watching as all of his testing nightmares melted away in a flash of computer wizardry and dreamy music…
Unfortunately this was far from the case. Two years and £1 million later, after a lengthy installation and script development programme his team were finally all set to start their first automation! The reality was that there was no computer wizardry, no dreamy music, nothing. It cost the company a small fortune, and needed continuous attention and constant looking after by a team of specialists to be effective. And even with all this TLC, it was still prone to sulk and become unproductive. Every time the application was updated, the specialists then had to re-visit the code and tweak and re-write parts of it so it would be able to continue showing off its silky skills. The upshot of this was that for those areas of the application that were changing frequently, the test automation became very difficult to maintain. Testers with the necessary scripting skills were also very expensive to employ and with staffing cutbacks and no-end of changes to the application, his QA department kept resorting back to manual testing in order to cope with the demand. In short, his £1m investment slowly fell into disuse and was doomed to take its place amongst the graveyard of dusty shelf-ware.
The punishment in Hell will be: to be thrown into snake pits.
Avoidance strategy: beware of smoke & mirrors when evaluating solutions. Make sure they are easy to maintain.
Lust – is an inordinate craving or animal desire for; A lascivious passion or desire for something often to the point of assuming a self-indulgent, and sometimes violent character; It relates to almost anything that you may have a strong desire or drive for, such as the lust of battle or lust for power; Lust prevents clarity of thought and rational behaviour.
Picture the scene: The QA team leader at Lucifer Banking Corp. is fed up with making constant requests to her database administrator for slices of data to run their tests on. It’s a huge bottleneck in the testing phase. She’s lusting after control. When the test database becomes corrupted, it can take up to 10 hours for them to roll back the changes and reset the environment. If only she was able to create her own test database with checkpoints she could revert back to time and time again, her life would be a hell of a lot easier. There’s a tight deadline on the latest software release and she knows that getting the DBA to reset her environment will hold the project up another 24hrs, so she decides to go ahead and test on (the corrupted) test database she has at hand. The regression test picks up a ton of defects that the test team go on to spend days investigating, only, far too late in the day, discovering that the errors were actually in the database and not the latest software build. Because they have wasted time chasing ghosts, real defects have managed to slip through the net in areas of the application they were unable to test. Because some exchange rate changes were not picked up, the application has had to be pulled and the team are destined to spend their weekend bug-fixing.
The punishment in Hell will be: to be smothered in fire and brimstone.
Avoidance strategy: test data management is the bedrock of successful automation.
Greed - the self-serving desire to acquire material wealth and possessions beyond the need of the individual, especially when this accumulation of possession denies others. It is often manifested in various forms such as miserliness and unethical business practices; Preoccupation with the acquisition and preservation of material things and possessions.
Picture the scene: The IT Manager at RiverStyx Retail had heard about a great job opening. He coveted the idea of the increased seniority, power and responsibility it would give him, and it was paying a lot more money too. There was just one hitch. He needed to prove success with some short, quick wins. Unconcerned about corporate risk or the technical debt he would be leaving behind, he took numerous shortcuts in order to release more applications in a shorter time-frame, hoping to be an immediate hero and not be around by the time the repercussions were realised. He took that gamble but missed out on the new role. Of course, just like in every moral tale, his shortcuts came back to haunt him. He’d bypassed the database testing on their ecommerce application and the value field for the televisions that would normally retail for £1000 had been input at just £1. Unfortunately, because there was no defect reporting system in place, consumer word of mouth acted much faster than the bug-fix, and, by the time the error was resolved, RiverStyx had sold their entire stock. Five thousand televisions at a loss of £999 made a significant dent in the company’s fortunes and in the ensuing witch hunt that followed, his bad practices and lack of planning and strategy were exposed, warts and all, under stadium-strength floodlights. Needless to say, he lost his job and without a reference was condemned to join the ranks of the dole queue rather than the lofty heights of the elite that he had envisaged!
The punishment in Hell will be: to be boiled alive in oil.
Avoidance strategy: Make solid test plans and stick to them. Shortcuts will always come back to bite you.
Wrath: intense, fierce anger, rage or fury, usually on an epic scale and often leading to violence. Any action carried out in great anger, esp. for punishment or vengeance.
Picture the scene: You’ve fought for the budget, parted with the money, spent two years implementing your whizzy new test automation solution and now you find that rather than freeing up resource and providing a rapid ROI, you actually need more staff to maintain all the script changes. It’s enough to make your blood boil! Well, that’s the situation the IT Director of 666 Solutions found himself in. His ensuing hissy fit and bad temper made his capable team hand in their notices, doubling his pain and guaranteeing him a stomach ulcer to-boot.
The punishment in Hell will be: to be dismembered alive.
Avoidance strategy: Know what you are buying into and do a thorough proof-of-concept.
Gluttony - Derived from the Latin gluttire, meaning to gulp down or swallow. Gluttony is the over-indulgence and over-consumption of anything to the point of waste; Often manifests itself as obesity, substance abuse or binge drinking.
Picture the scene: Armageddon Autos had a small QA team of just two testers. To be honest they could have done with another couple of people in the team because the workload had increased significantly in the preceding few months. The senior tester was a bit of a script-monster, he loved nothing more than building scripts for their automated testing solution. In fact, he loved scripting so much, he did very little else. 8 hours a day, 5 days a week…gotta build those scripts, gotta build those scripts. Love those scripts! When an application changed and needed re-testing he was there changing the scripts he’d just spent weeks building. Gotta change those scripts, gotta change those scripts. He loved scripting so much he actually never got any proper testing done. Time and time again, testing held up application delivery, projects were always late, and always went over budget. The problem was, he didn’t seem to mind, he was happy with his scripting solution. “It will automate everything - just as soon as I finish these scripts” he kept saying, but the application was always changing faster than he could keep up. Maybe the QA team didn’t need that extra person after all, maybe they just needed their senior tester to get on and test rather than spend every waking minute writing those scripts. Maybe they didn’t have the ideal set up, but he loved that scripting solution because of his familiarly with it and because it gave him a purpose in life – to build scripts. The QA team was fated to continue going round in circles, being the slow cog holding up the rest of the machinery.
The punishment in Hell will be: to be force-fed rats, toads, and snakes.
Avoidance strategy: Remember what you are trying to achieve. Don’t get hung up on the mechanics.
Envy – This is the desire to possess what others have; Grieving spite and resentment of material objects or accomplishments of others; Those who commit the sin of envy resent that another person has something they perceive themselves as lacking, and wish the other person to be deprived of it; Jealousy; Covetousness.
Picture the scene: It’s Friday evening and after a devilishly long day trying to co-ordinate user-acceptance testing, Azazel Application’s Business Analyst is relaxing in the pub, nursing a pint of Hellhound Hops ale and venting his frustration to his close friend, the QA Manager of Dungeon Doughnuts. His problem you see, was that when IT chose to purchase their ALM solution, they didn’t engage him or consider the business needs of the solution. It was purchased purely for the needs of development and testing, nobody considered the bigger picture. Nobody thought about aligning IT with business requirements or how they would be able to conduct user acceptance testing when the selected solution required technical know-how and the ability to read code. As a result, his role has become little more than a glorified call centre operative, going back and forward between IT and the users, trying to work out how they came about particular defects and keep the project on track. His friend tells him about the new solution they’ve just deployed at Dungeon Doughnuts, with a point and click interface, recording activity behind the scenes, with the ability to mark up defects for users to email straight to development. It is obviously brilliant and exactly what he would have liked to have seen implemented at Azazel Applications, but his friend is so smug about it, while he’s at the bar getting the next round in, he childishly flicks fag ash in his beer. His jealousy will eat him alive.
The punishment in Hell will be: to be submerged in freezing water.
Avoidance strategy: Consider your IT / Business alignment and make sure all requirements are in place from the offset.
So, revisiting the opening quote from Kevin Spacey, let’s shake off this apathy and stop tolerating these deadly sins just because they are commonplace. If you want to wear the halo of professionalism and not get burnt by bad practice, take a long hard look inside yourselves at what you are doing and why you are doing it. Don’t get caught out by letting arrogance, inertia, desire, materialism, self indulgence, resentment or temper get the better of your business decision making.
- Cloud People: A Who's Who of Cloud Computing
- Cloud Expo New York Call for Papers Now Open
- Red Hat Named "Platinum Sponsor" of Virtualization Conference & Expo
- Cloud Expo 2011 East To Attract 10,000 Delegates and 200 Exhibitors
- An Introduction to Ant
- Cloud Expo, Inc. Announces Cloud Expo 2011 New York Venue
- The Cloud Bubble: Is Computing Becoming a Utility?
- How To Use Social Media in Your Job Search
- Cloud Computing Bootcamp May 18-19 in Prague, Czech Republic
- Telco Perl Powers Telephony With Linux
- Rackspace Cloud APIs Open Sourced
- This Man Should Be Fired from His Job as a Magazine Editor