集成手动测试是软件生命周期中的一个重要阶段,在单元测试之后进行。其目的是确保系统中的各个模块或组件能够正确地相互交互。
问题的背景: 最初,软件的测试是分阶段进行的:首先检查单个模块(单元测试),然后检查整个系统。然而在实践中发现,大多数关键错误实际上发生在模块之间的交界处。出现了集成测试的需求,它手动识别系统不同部分之间的行为不一致。
问题: 主要困难在于对模块之间交互场景的不足处理和被遗忘的相互依赖关系。这会导致“隐性”缺陷:在孤立测试时一切正常,但集成后会出现故障(例如,API和数据库之间的数据处理不正确)。
解决方案: 正确组织的集成手动测试包括:
关键特征:
集成手动测试和系统手动测试之间的区别是什么?
集成测试专注于测试特定模块之间的连接,而系统测试则从业务功能的角度对整个系统进行检查。
在集成测试中是否应使用真实的外部服务,还是只需模拟器就足够了?
对于关键集成,真实环境是更可取的,但可以从模拟器(mock/stub)开始。最终测试应在尽可能接近生产环境(PROD)的环境中进行。
是否可以仅通过自动化发现所有集成错误?
不可以:部分缺陷只能通过手动检查发现,当测试人员注意到数据交换的业务逻辑或未覆盖自动化的用户场景中的不明显问题时。
支付模块与订单模块之间的集成测试仅在所有其他测试完成后进行,并且没有单独的文档。
优点:
缺点:
集成场景在一开始就被记录下来,测试数据尽可能贴近用户的实际任务。
优点:
缺点: