Using Python as a tool for testing homogeneous systems
Andy Jewell
andy at wild-flower.co.uk
Fri Jun 27 14:53:33 EDT 2003
Pythonistas!
You may remember I recently posted about having to learn RPG, and that I was
not entirely 'looking forward' to it - the technical challenge is
interesting, but the language is not, well, /pythonic/. Well, that's over
and done with now (though I now need to learn the next version too).
So, now I'm a fully fledged (wince) RPG 'Developer', I suppose I ought to be
making snide comments about such slow, easy-to-write (and therefore
technically stunted), dynamic, interpreted languages such as Python are.
But I can't. Python is *too* damned good: and they haven't made me stop using
it at work, either; in fact I've just spent a few weeks doing some really
intensive Python development... to test RPG code!
At our site (a large manufacturing installation) we run several different
systems: AS/400, HP-UX, Notes, Windows and SAP to name a few. We are
connected to our parent company over a WAN link: and we are migrating our
business systems to SAP, and during the transition (which will last at least
a few years) we have to process messages from SAP on systems that run on both
AS/400's and the HP's.
We went through phase 1 late last year, and well into the first quarter - I
wasn't involved, but got the impression we had serious grief over it.
For the first phase, messages had to be sent from SAP and through our main
systems, for testing. But with three development teams spread over Europe,
there were huge difficulties with synchronizing testing; we couldn't test
our code until the SAP team had done their stuff, but they often wanted to
test functionality we hadn't even built yet, or just sent messages that our
system couldn't yet understand without warning, causing programs to crash and
a lot of untangling afterwards. This resulted in the first phase taking far
longer (about 3 months) than had been planned.
As a fledgeling RPG'er, I am now included in the development team, and we are
just embarking on phase 2.
At our opening meeting, about 3 weeks ago, our Project leader completely
floored me, by suggesting that we use Python as a test tool: he knows I use
it for allsorts, and it seems my insistent whining on about how brilliant it
is, has actually been noted; I think he was, somewhat, 'throwing down the
gauntlet'...
So last week I wrote the beginnings of a dynamic record-object and intelligent
field objects, and this week wrote a program to craft messages that look like
they came from SAP, to input into our system.
We were doing a simple test-bughunt-retest cycle; I can now produce programs
to cover various scenarios at the drop of a hat. Our testing has been fairly
fast-paced, and we haven't had to wait for the SAP team to get their bit
going...
Our Project Leader says we're about two-to-three-weeks *AHEAD* of schedule;
the SAP team aren't even ready to send the simplest message type for testing,
but we're able to process them, and more, and we know what issues we need to
deal with already.
All I need now is a Python-to-RPG converter... ;-)
(Yes, I know there are versions of Python for AS/400 and HP-UX, but for
various reasons, these are not an option).
So, Python scores again!
regards,
-andyj
More information about the Python-list
mailing list