在我们进行测试过程中,有一种黑盒测试叫场景测试,我们完全是从用户的角度去理解系统,从而可以挖掘用户的隐含需求。
场景是指用户会使用这个系统来完成预定目标的所有情况的集合。
场景本身也代表了用户的需求,所以我们可以认为场景是需求的一种描述形式,从质量属性的角度描述需求不同,场景是从使用者的角度去看系统的,主要解决如何使用系统的。
主要场景
对于一个用户来说,和系统的功能点交互,是通过操作步骤和系统的反馈一步步完成的。我们把哪些与最核心,最直接的功能对应的步骤称为主要步骤或者称为主流程,对应的场景称为主要场景;与分支条件对应的是从步骤,对应的场景为次要场景。
次要场景
场景测试就是从场景的角度对系统进行测试和验证。从一个角度来说,场景测试也是一种需求测试,所以场景测试都是属于黑盒测试,将系统或者系统功能称为黑盒,不会关注系统实现细节,主要关注用户的使用习惯和用户关注点。
使用场景测试模型来进行测试分析
上图中增加了“被测系统”和“角色”,目的是站在用户的视角,从用户的使用习惯入手,按照用户的实际部署,配置和使用(业务负载),确认系统的反馈是否符合用户的关注点要求。
从用户的使用习惯入手来分析和组织场景
用户首次使用系统的相关场景
用户日常使用的相关场景
故障相关场景
升级/扩容相关场景
分析主要场景和次要场景
分析这些功能最核心的点是什么,用户完成这个点最少的步骤是什么,这些步骤构成的场景一般就是主要场景。
可以分析有哪些异常场景。
分析用户完成这个功能,除了最少的步骤外,还可通过哪些步骤完成,如最长的步骤等。
分析这个场景还会涉及哪些别的功能。
在分析主要场景和次要场景后,还要分析进入这些场景的触发器及前置条件,以完善整个场景。
确定用户部署,配置,负载和用户关注点
我们要对分析得到的所有场景进行部署,配置和使用负载分析,此时需要特别注意的是要从用户关注点的角度确定相关检查点。
场景测试用例输出
完成以上步骤后就可以开始整理输出场景测试用例了,我们可以按照用户使用这个产品的时间线来组织场景测试用例。也就是前面分析得到的主要场景或次要场景的描述,作为测试用例标题,将场景的前置条件和用户部署作为测试用的前置条件,将主要场景和次要场景中分析得到的步骤作为测试用例的步骤;将配置,负载等作为测试用例的输入,将用户关注点作为测试用例的预期结果。
使用场景测试需要注意事项?
定义清晰的场景
确保每个场景都有明确的目标和预期结果。场景应该基于真实的用户故事或业务流程。
覆盖所有关键路径
设计场景时要考虑到所有重要的业务逻辑路径,包括正常路径、异常路径和边界条件。
数据准备
为每个场景准备必要的测试数据,确保数据的完整性和正确性,避免数据污染影响测试结果。
自动化与手动测试结合
虽然自动化可以提高效率,但在某些复杂或需要直观判断的情况下,手动测试仍然是必要的。
可重复性
确保场景测试可以被重复执行,以便于验证问题修复和持续集成测试。
异常处理
测试系统对异常情况的反应,例如网络中断、硬件故障等,确保系统的健壮性和容错能力。
安全性
在场景中包含安全相关的测试,如权限控制、数据加密、防止SQL注入等。
文档记录
详细记录测试场景、步骤、输入数据、预期输出和实际结果,便于后续分析和改进。