Monday, March 30, 2009

STAF and STAX

With my new position at UnboundID, I have been in learning mode for the last couple of weeks. And I haven't posted anything too geeky here lately. But one thing that I have been trying to acquaint myself with is STAX, which is a plugin to STAF.

I have used STAF (Software Testing Automation Framework) a little before when I was at Phurnace. I never really thought of it as a real testing framework though. It's more like a very useful library, especially if you are doing distributed testing. It very capably allows you to move files around different machines and execute commands remotely. But a framework it is not.

I don't know why I have never really looked into STAX (STAf eXecution engine) before. It is actually more like a testing framework. It is a STAF service plugin that allows you to define define testcases in XML with some embedded Python scripts (Jython, actually).

If you don't currently have a test framework in-house, the STAF/STAX solution is one you should consider. I personally think that test scripting in XML is a bit unnatural, but I'm starting to get the hang of it. Using Eclipse as a development environment helps a lot. I still don't really know Python yet, but the fact that I have inherited existing tests helps a lot, in addition to some good reference websites that I have found.

My only problem right now with STAX is that, given our current test framework which downloads, installs and configures STAX automatically, I can't seem to get it to work on Mac OS X. It just doesn't start up the STAX service. I know that it should work, but perhaps I've got an incompatibility somewhere with the Java version and STAX version. This inherited test framework on top of STAX is using older versions of STAF and STAX and related libraries. So, right now, I'm running a Solaris VM on my Mac, until I can figure out the right combination of version numbers (if that, hopefully, is indeed the problem).