RPG(或其他ILE语言)中的自动测试

时间:2012-06-20 10:41:26

标签: unit-testing integration-testing ibm-midrange automated-tests rpgle

我们这里有很多RPG程序,我们做了很多自动化测试,但我们还不是很好地结合这两个。是否有很好的方法可以对RPG程序进行自动化测试 - 或者就任何其他ILE程序进行自动化测试?

我知道一个名为RPGUnit的项目,但它在2007年是最后一次更新。但是,它似乎仍在使用,因为RPG Next Gen目前正在进行一些包含它的工作。 / p>

你对这些经历有什么看法?还有别的东西,我错过了,就像谷歌找不到一些很好的软件工具一样?

我对单元测试以及整个项目的集成测试感兴趣。任何与jenkins等工具集成的东西都是受欢迎的。如果它涉及IBM的Rational Developer或System i Navigator,那也没关系。

我们正处于为RPG开发过程创建新测试计划的早期阶段,我不希望它从一开始就走向错误的方向。

2 个答案:

答案 0 :(得分:5)

您可能已经知道主题“测试”的范围有多广。 IBM有一个名为Rational Function Tester的产品(我还没有使用它)http://www-01.ibm.com/software/awdtools/tester/functional/我自己使用RPGUnit。不,它最近没有更新,但它仍然具有测试子过程所需的所有部分,就像测试Java方法一样。

坦率地说,这很容易。困难的部分是创建一个测试数据库并使其保持最新状态以代表生产数据库。罗丹有一些数据库工具,但我没有那些预算,所以我手动或多或少地自己动手。我在CL程序中使用许多SQL语句来提取生产数据,以便保持参照完整性。然后我使用更多SQL来添加我的特殊测试用例 - 那些在生产数据中不存在但需要进行测试的关系。然后我将测试数据库的完整副本作为参考点。然后我运行我的测试用例,它将更新测试数据库。我编写了一个自行开发的CMPPFM实用程序,它允许我将参考数据库与现在修改的测试数据库进行比较。这将显示更改,但仍需要大量的手动工作来检查比较以确保正确的行获得正确的更新。我还没有加倍努力实现自动化。一个重要的警告是,您不关心某些列,例如更改时间戳。

答案 1 :(得分:5)

我们选择RPGUNIT,发现它是一个很好的工作基础,但最终扩展了它以配合我们的变更管理系统和我们的工作方式。我已经写过我们在这里尝试过的事情:http://www.littlebluemonkey.com/blog/my-rpg-unit-test-journey