您的位置:软件测试 > 开源软件测试 > 开源测试管理工具 > Testlink
使用TestLink管理软件测试过程
作者:网络转载 发布时间:[ 2016/4/8 10:23:54 ] 推荐标签:测试管理工具 软件测试工具

  清单 3. 上传测试用例附件
  private static TestLinkAPI api = APIObject.getAPI();
  public static void testUpload(TestCase tc, String file, String title,
  String desc, String fileName, String fileType) {
  File attFile = new File(file);
  String fileContent = "";
  try {
  byte[] byteArray = FileUtils.readFileToByteArray(attFile);
  fileContent = new String(Base64.encodeBase64(byteArray));
  } catch (IOException e) {
  logger.error(e.getMessage(), e);
  }
  Attachment attachment = api.uploadTestCaseAttachment(
  tc.getId(), // 测试用例编号
  title, // 上传附件的标题
  desc, // 附件的描述信息
  fileName, // 附件的文件名称
  fileType, // 上传附件的 MIME 文件类型
  fileContent); // 附件的文件内容
  logger.debug(" 附件上传完成," + attachment.toString());
  }
  清单 3 的代码是上传附件到测试用例附件区的核心代码,为了批量完成为多个用例分别上传附件,需要在测试用例和需要上传的本地附件文件做一个映射,循环调用清单 3 中的方法依次完成全部的附件上传。具体的代码实现留给读者完成。
  需要注意的是,TestLink 的版本管理特性可以对测试用例进行版本控制,但不支持对附件也做版本控制,即一个用例的所有版本都共享同样的附件文件。如果读者需要为用例的不同版本做自动化测试,可以在上传脚本文件时为文件名称附加上版本信息。下载用例脚本文件时,根据版本信息对脚本文件进行过滤。本文假设所有的版本可以共享同一份脚本文件,随时保持附件文件的更新即可。
  测试脚本文件下载
  通过完成上述操作,自动化测试用例脚本文件已经维护在 TestLink 测试用例附件区。在使用自动化测试工具执行计划的测试用例之前,需要下载测试用例脚本文件到本地文件系统,以方便自动化测试工具对其进行解析运行。使用 TestLink 管理自动化测试用例脚本的优势之一是,通过编写简单的代码很容易完成脚本文件的下载。下载用例脚本文件的代码见清单 4,为下载方法指定 TestCase tc 参数,即可完成该测试用例的附件下载任务。代码很简单,首先根据测试用例实例 tc 获取附件数组 atts,对数组进行循环,依次获取附件 att 的文件名称和文件内容,并保存到本地工作目录下的 UseCases 文件夹下。
  清单 4. 下载测试用例附件
  private static TestLinkAPI api = APIObject.getAPI();
  public static void getAttachments(TestCase tc) {
  String dir = System.getProperty("user.dir") + File.separator
  + "UseCases";
  File file = new File(dir);
  if (!file.exists()) {
  file.mkdirs();
  }
  Attachment[] atts = api.getTestCaseAttachments(tc.getId(), null);
  for (Attachment att : atts) {
  byte[] decoded = Base64.decodeBase64(att.getContent().getBytes());
  FileOutputStream fos;
  try {
  fos = new FileOutputStream(new File(dir + File.separator
  + att.getFileName()));
  logger.debug(" 测试用例附件保存为 =" + dir + File.separator
  + att.getFileName());
  fos.write(decoded);
  fos.close();
  } catch (FileNotFoundException e) {
  logger.error(e.getMessage(), e);
  } catch (IOException e) {
  logger.error(e.getMessage(), e);
  }
  }
  }
  测试脚本执行
  下载完毕测试用例脚本文件,下一环节是使用自动化测试工具执行这些用例文件。关于如何运行基于 XML 格式的自动化测试用例,推荐读者阅读 IBM developerWorks 文章《使用 XML 维护 Selenium 自动化测试脚本》。测试用例执行完毕,自动化测试工具生成执行日志信息、测试结果信息等。相应测试用例的执行结果状态,如 passed、failed、blocked 等,需要传给下一环节,用于自动修改 TestLink 上测试用例的执行结果状态,完成标示结果的工作。
  回传测试结果
  上述步骤中,通过使用第三方自动化测试工具执行完毕自动化测试用例,收集到测试结果。下面需要进行的是,通过编写代码自动化地修改维护在 TestLink 上的自动化测试用例的执行结果状态。代码如清单 5 所示,运行下面的代码会自动把 TestLink 中测试计划下的测试用例在构建"my build"上运行的测试执行结果标记为"通过"。演示程序中,测试计划编号等数据为硬编码,读者需要根据自己的情况去完善回传测试结果的程序。如果运行失败,测试结果则标为"失败"状态,并和集成的缺陷管理系统进行自动化进行缺陷数据同步。
  清单 5. 自动上传测试结果的代码清单
  private static TestLinkAPI api = APIObject.getAPI();
  public static void testReport() {
  // 测试计划
  Integer planID = 7;
  // 测试测试的构建
  String buildName="my build";
  // 测试计划
  Integer tcID = 3;       
  ReportTCResultResponse response = api.reportTCResult(tcID, null,
  planID, ExecutionStatus.PASSED, null, buildName,
  " 自动化上传结果的备注 ", null, null, null, null, null, null);
  logger.debug("response=" + response);
  }
  结束语
  通过上面对 TestLink 的介绍,我们了解到了如何基于 TestLink 管理自动化测试过程。本文详细介绍了基于 TestLink 的自动化测试解决方案的核心实现,分析了架构流程图并对主要的部分给出了代码示例。关于如何使用 TestLink 管理功能测试过程,请参考本系列文章的第一部分。

上一页12下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd