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