7

我们这里有很多 RPG 程序,并且我们进行了很多自动化测试,但是我们还不能很好地将这两者结合起来。有没有对 RPG 程序或任何其他 ILE 程序进行自动化测试的好方法?

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

你对这些有什么经验?还有什么我想念的东西,比如谷歌找不到一些很棒的软件工具吗?

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

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

4

2 回答 2

5

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

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

于 2012-06-20T14:34:09.237 回答
5

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

于 2014-06-24T08:28:07.160 回答