News

At Test Automation: Where home-brewed testing works

The use of home-brewed test automation has grown in recent years along with the growth in Extreme Programming (XP) practices, said Brad Pettichord. XP typically calls for fast projects and moderate modeling, none of which works, according to XP gurus, unless iterative testing techniques are followed.

One of the results of the growth in XP, said test expert Pettichord, has been an increased number of useful, free, open-source tools that developers may want to utilize. Pettichord spoke at this week's Software Test Automation Conference and Expo in Boston.

It is not just about saving money on the cost of the software, said Pettichord. It is also about flexibility. ''Having access to the code and being able to modify it is really important,'' he said.

For example, said Pettichord, ''a change is made in your product and your test tools stop working. Everyone is familiar with this. Something happened and none of your tests work at all.''

This once happened to Pettichord while working with a proprietary test automation tool. He had to go to the vice president to send the company's top-secret software to the test tool vendor for study. ''If I had access to the [automated test tool software] code myself, we could have solved the problems without having to involve the VPs,'' he noted.

Prominent open-source test alternatives have been especially notable in Java, where JUnit, described by Pettichord as a ''test harness,'' has found wide use. Open test scripting languages such as Perl, Python, JavaScript and TCL have found adherents as well. A favorite of Pettichord's is Ruby. ''It treats everything as an object, and uses the principle of 'least surprise,''' he explained.

Useful tools for Java GUI testing, he noted, include Marathon, Abbot, Pounder and Jemmy. Some useful tools pre-date XP, of course. Open-source test libraries include Expect, Android, FIT (Framework for Integrated Test), OpenSTA (originated by the test company known as Cyrano), Avignon, and STAF from IBM (which entered open source as part of a Linux test suite).

Moving forward, open-source interface drivers are a key area of interest.

Overall, however, there are still important questions to ask before opting for home-brewed tools. The wrong choice can sometimes threaten your job. ''The decision can be dangerous,'' warned Pettichord.

Should you build a tool or adapt a commercial test product? The type of interfaces selected for testing are an important factor, said Pettichord.

There are a lot of possibilities for reuse with harnesses and languages, he said. And Pettichord stated that it is much easier to create a test tool to handle one software line product than to do many.

You can learn more about test and Bret Pettichord's thinking on test issues by going to www.TestingHotlist.com and www.StickyMinds.com.

About the Author

Jack Vaughan is former Editor-at-Large at Application Development Trends magazine.