我们在前端有 Eclipse UI,并且有一个非 Java 的后端。
我们通常为前端和后端分别编写单元测试。我们还编写了 PDE 测试,它针对虚拟后端运行 Eclipse UI。
我的问题是我们是否需要进行端到端测试的集成测试。
我可能会看到这些集成测试很有用的一个原因是,当我升级我的前端/后端时,我可以运行端到端测试并且我发现了缺陷。
我知道这类问题取决于特定情况。但是想知道这里所有遵循的一般和最佳实践是什么。
干杯,索拉夫
我们在前端有 Eclipse UI,并且有一个非 Java 的后端。
我们通常为前端和后端分别编写单元测试。我们还编写了 PDE 测试,它针对虚拟后端运行 Eclipse UI。
我的问题是我们是否需要进行端到端测试的集成测试。
我可能会看到这些集成测试很有用的一个原因是,当我升级我的前端/后端时,我可以运行端到端测试并且我发现了缺陷。
我知道这类问题取决于特定情况。但是想知道这里所有遵循的一般和最佳实践是什么。
干杯,索拉夫
正如您所说,最好的方法取决于应用程序。但是,一般来说,拥有一套可以端到端测试您的应用程序的集成测试是一个好主意,以找出当您只升级应用程序的一层而不考虑这些更改时可能出现的任何问题在另一层。这听起来在您的情况下绝对值得,因为您有用不同语言编写的系统组件,由于组件接口周围的复杂性增加,自然会产生更多的问题。
编写端到端集成测试(有些人称之为系统测试)时要注意的一件事是,与单元测试相比,它们往往非常脆弱,单元测试是多种因素的组合,包括:
由于这种脆弱性,我建议尝试编写尽可能少的测试来遍历整个堆栈 - 重点应该放在尽可能少的测试中覆盖尽可能多的功能,并偏向于您最重要的功能用途 -案例。一个好的开始策略是:
这种方法将有助于确保您的端到端测试具有高质量,这对于它们的长期健康和有用性至关重要。太多次我看到人们试图向应用程序引入一套全面的此类测试,但最终失败了,因为这些测试脆弱且不可靠,人们对它们失去信心,不运行或维护它们,最终他们忘记了它们甚至首先进行了测试。
祝好运并玩得开心点!