导出任务自动化 (Word/PDF/CSV)

软件测试 自动化测试 出口 csv 文件 pdf文件
2022-02-06 19:24:13

我正在寻找自动化您通常会在报告中看到的导出任务的想法(SSRS SQL Server Reporting Services 示例 - 导出到 PDF/Excel/CSV)。我观察到的是,当您导出数据时,部分数据会丢失,因为它不是自动换行的。在实际打印输出中,您会看到某些列的数据丢失。

  • 这些通常是手动验证的任务吗?
  • 有没有人尝试过自动化 - 验证列中的实际数据以导出 CSV/Excel/打印预览字中的数据?
  • 我有大量需要验证的报告(40 多份),我相信自动化它们会节省大量时间。

提前致谢

1个回答

我不知道您指的是哪个 SSRS(例如 SQL Server Reporting Services、Social Science Research Solutions)。尽管如此,我喜欢这个问题,因为它描述了一个常见问题,它适用于不止一种自动化,它说明了可测试性,并且答案需要一些分析。

我的方法取决于我是否知道如何通过 UI 或 API 自动执行导出操作,以及软件的组织方式。

导出过程中有几个处理步骤:

  1. 数据是从某处获取的,
  2. 值被转换为适合输出格式的形式,
  3. 这些值被合并到一个适当格式的空文档中,
  4. 发出字节流。

当然,可以将动作分解为更多步骤,但以上步骤足以说明我的观点。同样,这些步骤可以并行或串行执行,但对我而言,这并不重要。

以下是在决定自动化策略之前需要考虑的问题。

您不需要对所有事情都使用相同的工具/技术。

至少有两个操作可以自动化:启动导出和分析结果。启动导出的一些可能方法包括 UI、命令行界面或 API。UI 自动化工具不太可能提供分析 Excel 或 PDF 文件的方法。这不是一个无法克服的问题。您可以使用不同的机制进行文件分析。如果您自动启动导出而不是分析,反之亦然,您仍然可以节省一些时间。

您需要选择是与规范结果还是计算结果进行比较。

一种方法是生成一些导出并将它们与规范结果(您在过去某个时间使用相同输入生成的导出)进行比较。另一种方法是(动态)计算给定输入集的预期结果,执行导出,然后将导出与您计算的预期结果进行比较。这更灵活,但可以做更多的工作。(此问题并非特定于出口测试。)

分析 Excel 或 PDF 的内容是可能的,但并不容易。

由于其语法简单,CSV 易于解析和分析。对于 Excel 或 PDF 文件,情况并非如此。对于后者,您必须同时考虑内容和外观。谷歌搜索应该显示将 Excel 文件转换为 CSV 的工具。不知道有没有类似的PDF文件工具。无论如何,实际上,您需要查看 Excel 文件或 PDF 以确定其外观是否存在问题。

您可以将内容测试与外观测试分开。

我曾经为一家银行测试过一个复杂的报告系统。有许多类型的报告,每种都有各种可配置的选项。数据驻留在关系数据库中,并且在您的示例中,导出格式为 CSV、Excel 和 PDF。开发人员明智地将查询数据库与生成输出文件分开。为了提高可测试性,他提供了一种测试模式,可以将原始查询输出转储到文件中。他还提供了一种从一组原始数据生成 CSV、Excel 或 PDF 的方法。

鉴于这些“可测试性”特性,我可以将报告系统测试分成两个独立的测试:测试一组输入是否产生正确的原始数据,以及测试一组原始数据是否可以转换为 CSV 、Excel 和 PDF 正确。我能够自动化第一个测试。我还自动化了 CSV 测试。Excel 和 PDF 测试仍然是手动的,但至少人类不需要使用每个报告选项来查看每个报告的 Excel 和 PDF。