系统测试
系统测试分析系统组件是否协调,通过对集成产品进行功能和非功能测试来检测组件间的缺陷。
系统测试需要在类似生产的环境和数据中测试产品。系统测试包括基于商业风险的场景,用例或产品行为的高级描述。与不同系统资源的交互等也需要考虑。它应该由对产品在架构和层面都了解的人进行,但是可以不会编码,当然有编码能力更佳。
端到端测试
应用程序的流程与依赖系统一起被测试。这样做是为了确保与后端和前端应用程序的顺利互动,因此也被称为链式测试。
与系统测试不同,用户界面测试在这里没有发挥任何重要作用,检查的是数据。一旦产品符合系统测试的要求,通常会进行端到端测试。
端到端测试
端到端测试阶段的Uber的例子:验证完整的客户旅程
在用户手机上打开应用程序 -> 找到进入目的地的出租车 -> 在乘车前或乘车过程中跟踪出租车 -> 完成乘车并使用其中一个支付选项付款 -> 最后将积分存入司机的账户。
产品是分布式系统,并需要在各种环境中与其他系统共同运作时,端到端测试很重要。
端到端测试的主要目标。
- 产品与子系统协调,这些子系统有可能是外部的,比如调用支付宝。
- 源系统到目标系统的所有流程。
- 从终端用户的角度来验证需求。
- 确定异质环境中的问题。
除了具备系统测试能力,测试人员还要求可以分析数据流。