We've recently been involved in a number of discussions concerning the testing of IBM i applications. One thing that became apparent very quickly was that nobody seems to have a really clear view of the current "State of the Nation" in IBM i-land--at least as far as testing methodologies and practices are concerned. And before you can even have that discussion you really need to define just what you mean by testing in the first place. Unit testing? System testing? Regression testing? Code coverage? Usability testing? And on and on.
Then there is the whole area of testing tools. For sure any number of options exist for automating testing of Web applications. After all a Web app is a Web app regardless of whether it has the best system in the world driving it (IBM i, in case you have any doubts) or one of those inferior platforms. But how to you know whether the database was updated properly from that Web app? And it doesn't help with code coverage and other areas such as testing batch applications or green-screen interactive applications, etc.
To help us in trying to form a clearer picture of the current state of the art, we decided we would ask you, our noble readers, to help us fill in the gaps.
So here's what we're looking to find out.
- Does your shop have any formal testing plan in place or is it just down to whatever the individual developer feels the need to do?
- Do you do formal unit testing? And if so do you use RPG Unit or similar tooling?
- Do you currently use automated tooling to assist in testing interactive applications--either Web or green screen? And if so, is it homegrown or purchased software?
- What about code coverage? How do you ensure that all possible code paths have been tested?
- Do you have formal regression testing plans?
- Any other testing related issues/practices that apply to your shop?
- Do you develop code just for your own company's use or so you work for a software vendor? We ask that because we suspect there may be different testing requirements/practices in place based on that.
We really would like to know as it seems that testing is a long-neglected area and we'd like to better understand what is going on out there. Please help us out by posting your comments. If you prefer to remain anonymous for fear that your comments will inflame your fellow developers (or worse still, your management) you can do so, it all depends what display name you use when commenting. Thanks!