报表系统测试计划

Test plan for reporting system

我有一个由多个集成软件包组成的软件套件。它们都 运行 来自一个集中式 SQL 数据库。

我们正处于编写测试计划的阶段,为软件的每个独立模块分配了一个单独的测试计划。唯一要写的是报告模块的测试计划。这个特定的模块除了 运行 报告 SQL 数据库中的数据(将由其他模块写入)之外什么都不做。

任何测试迭代之前都会进行开发人员、回归和集成测试,这应该会消除数据库数据未正确维护的任何问题。

我的困境是如何接近报告模块的黑盒测试计划。我看到它的方式有三个选项:

在我看来,第二个选项是最好的。这是最长的啰嗦,但仅凭这一点很难成为打折的理由。

有没有人有过纯粹为了报告而测试模块的经验,谁能提供有关执行此操作的最佳/行业标准方法的见解?

提前致谢!

问自己一个有用的问题是 "What is the purpose of this test?"。查看 Agile Testing Quadrants 了解有关不同测试类型的作用的一些详细信息。

(图片来源:Lisa Crispin)

选项 1 侧重于集成点本身,这对团队可能很有价值,因为它可以简化问题的诊断(假设一次只使用 1 个模块)但无法像它那样测试系统实际使用。从这个意义上说,大概属于象限2。

选项 2 更侧重于测试系统,因为它将在现实世界场景中使用,调用多个模块。您从选项 1 中失去了对问题的简单诊断,但您实际上开始以对最终用户有价值的方式对其进行测试,将其置于象限 3。

选项 3 基本上是选项 2 的一个不太灵活的版本。您还失去了与各个模块的大量交互,这使得选项 2 如此有价值(因为它将系统作为一个整体来运行)。足够 'real-world-like' 的数据库可以使它成为第三季度的选项,但您仍然会失去灵活性。

通过这个镜头比较选项 2 和 3,我们可以看到它们有不同的用途。当然,他们都执行很多相同的代码路径,但选项 1 主要支持团队,让他们知道特定模块的更改何时破坏了报告,而选项 2 用于批评产品,询问它是否真的可以在一个真实世界的场景。现在的问题是,哪些结果对您更有价值,这完全取决于您和您的团队。

希望对您有所帮助。