清单 10. 创建 File Location
// define fileLocName and fileLocation. The naming rules can be customized String fileLocName = assetRegistry + "_" + iterationNo + "_" + phase; String fileLocation = remote_path + "\\" + assetRegistry + "_" + iterationNo + "_" + phase; String testLogLocation = fileLocation; // query on the File Location, only change the SQL statement String sql = … // if it does not exist, create it session.SetNameValue("FileLocationCreation", "true"); CQEntity entity = session.BuildEntity("TMFileLocation"); entity.SetFieldValue("AssetRegistry", assetRegistry); entity.SetFieldValue("Name", fileLocName); entity.SetFieldValue("ScriptFilesLocation", "rfile://FileLocationURI/" + fileLocation); entity.SetFieldValue("LogFilesLocation", "rfile://FileLocationURI/" + testLogLocation); // the following two field values are necessary for a File Location entity entity.SetFieldValue("AssetRegistryCMManaged", "0"); entity.SetFieldValue("LogsCMManaged", "0");
创建 External File。
此项功能大部分与普通方案中相同,只有一点差异:External File 所用到的 File Location 名称不是直接指定,而是从第 3 步创建来的。因此 rfile 域的值可以直接计算出来:
清单 11 计算 rfile 值
// the naming rule can be customized String rfile = "rfile://" + fileLocationName + "/" + component + "\\Scripts\\" + externalFileName;
3.3 综合方案:使用 GenRMT 和 RMT2CQ 工具,从 TestCase 模板到 CQTM
方案描述
如果你只使用 RMT 来执行脚本而不想进行编辑,这个方案会很有帮助,因为它可以自动生成 RMT 脚本。这个方案把所有测试用例相关的信息收集到一个模板中,并基于它生成 RMT 脚本和 CQTM Test Case。除 RMT2CQ 以外,这个方案中还用到另外两个工具:TestCase 模板和 GenRMT。
什么是 TestCase 模板
TestCase 模板既是一个用来规范 TestCase 设计的 excel 规范表格又是一个用来存放 TestCase 的 excel 的表格文档。
在这个文档中,包含了例如测试用例的名称,描述,测试步骤,测试条件,测试属于的阶段,测试优先级等等信息。
在这个模板上完成的测试用例会作为后续工具所使用的数据来源。
本文提到的 TestCase 模板,因为不是本文的重点,在此不加以详细描述。请关注后续文章——《一个通用的测试用例模板》。
什么是 GenRMT
GenRMT 是一个从 TestCase 模板生成 .rmt 文件(RMT 脚本文件)的工具,并会将这些文件保存到一个本地目录中。脚本中的测试步骤即来自于 TestCase 模板。
这个工具的目的是,自动生成脚本,节省人工在 Rational Manual Tester 里面输入的时间并且避免输入错误。
生成的 .rmt 脚本既可以在 Rational Manual Tester 上打开并且执行,又可以作为 RMT2CQ 的输入而导入到 CQTM 中。
对于 GenRMT 的剖析和详细的设计信息,请关注后续文章——《如何实现 Rational Manual Tester 自动脚本生成》。
三个工具间的关系
如图 13 所示,TestCase 模板向 GenRMT 提供信息以生成 RMT 脚本,也向 RMT2CQ 提供信息以生成 CQTM Test Case 并关联 RMT 脚本。
图 13. 各工具之间的关系
如红色箭头所示,GenRMT 根据模板文件生成 RMT 脚本,RMT2CQ 再根据这些脚本以及模板文件来将脚本及测试用例信息导入到 CQTM 中。
蓝色箭头则表示了普通方案的做法,RMT2CQ 根据 RMT 脚本的路径来找到相应的脚本并在 CQTM 中生成 Test Case。
回页首
4. 未来的构想:CQTM 插件
在以上章节中,我们介绍了批量生成 CQTM Test Case 的三种解决方案。在实际项目中,这些方案以及模板文件、GenRMT 和 RMT2CQ 工具已经被应用并获得了极好的效果,工作完成效率得到了显著提高。经过测试,在局域网内的 CQTM 中创建 Test Case,每个用例大约花费的时间在 3-5 秒之间,相对于以前由测试人员手动添加并编辑测试计划、测试用例,效率提高在 90% 以上。在未来,为了更好的应用这些方案,可以考虑将这些工具可整合为 CQTM 的一个插件,或是其他易于使用的形式,以替代目前的应用程序。这对 CQTM 的测试用例准备方面将是一个有效的改进。
免责声明
文中有关 IBM Rational ClearQuest TestManager 的示例代码为非官方代码,IBM 不对其提供支持。使用示例代码需自行承担风险。作者强烈建议在使用前先在虚拟项目中对代码进行测试。
文章来源于领测软件测试网 https://www.ltesting.net/