弱网测试学习记录(3)断线重连机制

游戏开发中的弱网测试与断线重连机制
弱网测试用于检测游戏在网络不稳定情况下的表现,关注上行/下行丢包和重连逻辑。断线重连机制包括静默重连、显式重连和服务器故障处理。当网络异常时,客户端和服务端会根据预设条件触发重连。此外,文章还介绍了四个网络状态阶段以及学习计划的产出。

弱网测试是指弱网络场景下测试游戏表现,实质上是借助弱网络的丢包、乱序等发现游戏设计的逻辑异常,其中核心是上、下行丢包及触发重连机制后前后端逻辑一致性。

断线重连触发的条件

  1. 网络条件异常(如切换网络、或者当前网络不稳定),客户端会触发断线重连(此时客户端网络已经断开)
  2. 网络延迟、网络链路异常等造成心跳包没有正常发送给服务器
    这里可以有两种判断方法,一个针对服务端,一个针对客户端
    服务端已经超过了最大等待时间,所以主动断开连接,客户端需要主动触发重连
    客户端没有收到服务端对心跳包的返回包,认为掉线了,触发断线重连
  3. 客户端切出游戏,客户端处于后台,超过一定时间服务端会主动断开与客户端的连接,客户端需要主动触发重连

断线重连机制:

当检测到断线后,便可以启动重连模式。根据当前的游戏状态确定重连策略,一般有以下三种方式:

  1. 静默重连,即在用户无感知的情况下进行重连。一般检测到断线后,可以先尝试静默重连一定次数(比如3次)。如果在游戏对战过程中断线,一般也会尽量尝试静默重连并且忽略重连次数,因为此时弹出提示框会打断对战体验的完整性。静默重连提供了一种友好的用户体验,能应付一些短暂的网络中断(比如进出电梯或者进程从后台唤醒等)。

  2. 显式重连,在静默重连一定次数(假定3次)之后,仍然无法连接成功的情况下,此时需要弹出提示框,中断游戏流程,告知用户当前网络环境较差,引导用户在网络较好时再尝试连接

  3. 服务器故障重连,这种情况下客户端无论如何是连接不到游戏服务器的。此时客户端也需要给出正确的引导,而不是误当作断线故障处理。因此我们在断线重连失败之后多加一个步骤:尝试连接CDN服务器,若CDN服务器可以正常连接,那么说明网络畅通,我们去获取CDN上的云配置,检查是否有服务器日常维护的标识,如果有则给出服务器日常维护的公告,否则可以认为服务器宕机,则给出服务器故障的公告。此步骤中若CDN服务器也无法连接,说明网络

### 测试报告编写指南 测试报告是评估小程序在不同网络环境下的表现的要文档,它需要涵盖测试目标、测试方法、测试结果以及改进建议等内容。一个结构清晰、内容详尽的测试报告有助于开发团队快速定位问题并优化用户体验。 #### 报告核心要素 - **测试目标**:明确本次测试的主要目的,例如验证小程序在网络不稳定条件下的功能完整性、性能稳定性以及用户界面友好性。 - **测试环境**:详细描述测试过程中使用的网络模拟工具(如 Charles、Network Link Conditioner)、设备型号、操作系统版本等信息。 - **测试用例**:列出所有涉及的测试场景,包括但不限于登录、数据加载、页面切换、断线连等关键操作[^1]。 - **测试结果**:记录每个测试用例的实际执行情况,对比预期结果与实际结果之间的差异。 - **缺陷记录**:对于发现的问题,提供详细的复现步骤、影响范围及严程度,并关联至缺陷管理系统中的编号。 - **改进建议**:基于测试结果提出具体的优化建议,例如增加缓存机制、改善错误提示、增强断点续传能力等。 #### 测试报告模板 以下是一个适用于小程序测试的标准报告模板: ```markdown ### 项目基本信息 | 项目名称 | 测试人员 | 测试日期 | 版本号 | |----------|----------|----------|--------| | 小程序A | 张三 | 2025/04/05 | v1.0.0 | ### 测试目标 - 验证小程序在延迟高、带宽低、丢包率高等不同条件下是否能够正常运行。 - 检查断恢复后小程序能否自动连并继续未完成的操作流程。 - 分析小程序在环境下对用户交互体验的影响。 ### 测试环境配置 - 网络模拟工具:Charles Proxy (版本 4.6.3) - 设备类型:iPhone 13, Android Pixel 4a - 操作系统:iOS 16.7, Android 13 - 网络设置: - 延迟:200ms / 500ms / 800ms - 带宽:64Kbps / 128Kbps / 256Kbps - 丢包率:0% / 5% / 10% ### 测试用例与结果汇总 | 用例编号 | 测试模块 | 网络条件 | 测试步骤 | 预期结果 | 实际结果 | 缺陷编号 | 备注 | |----------|----------|----------|----------|-----------|-----------|------------|------| | TC_001 | 登录功能 | 延迟 300ms, 带宽 56Kbps | 输入正确账号密码点击登录 | 显示加载动画,最终跳转首页 | 成功跳转但加载时间较长 | | | | TC_002 | 图片加载 | 延迟 500ms, 带宽 128Kbps, 丢包率 5% | 进入商品详情页查看图片 | 图片加载缓慢但能显示占位符或提示信息 | 图片加载失败,无提示 | DEF_002 | 需要优化图片加载逻辑 | | TC_003 | 表单提交 | 延迟 800ms, 带宽 64Kbps | 填写表单并提交 | 提交按钮变为禁用状态,提交成功后弹出提示 | 提交按钮未禁用,用户多次点击导致复提交 | DEF_003 | 增加防抖机制 | | TC_004 | 页面切换 | 延迟 200ms, 带宽 256Kbps | 点击底部导航栏切换页面 | 页面加载有轻微延迟,无白屏或崩溃 | 页面加载卡顿,偶尔出现白屏 | DEF_004 | 优化资源预加载策略 | | TC_005 | 网络中断恢复 | 断后恢复网络 | 操作未完成时断再恢复 | 自动连并继续操作流程或提示用户试 | 操作中断,需手动新开始 | DEF_005 | 改进断线机制 | ### 缺陷统计与分析 | 缺陷等级 | 数量 | 描述 | |----------|------|------| | 高 | 2 | 包括复提交和图片加载失败等问题,直接影响用户体验 | | 中 | 1 | 页面加载卡顿,影响整体流畅度 | | 低 | 2 | 无提示信息、界面轻微抖动等不影响核心功能的问题 | ### 总结与建议 - 本次测试共执行了5个测试用例,发现了5项问题,其中3项为中高优先级缺陷。 - 主要问题集中在断线机制不完善、图片加载策略不合理以及表单提交缺乏防抖处理等方面。 - 建议开发团队加强以下几个方面的优化: - 增强断线机制,确保在网络恢复后能自动继续未完成的操作。 - 优化图片加载逻辑,引入占位符机制并在加载失败时给予明确提示。 - 在敏感操作(如表单提交)中加入防抖机制,防止用户误操作导致的数据异常。 - 提升页面切换时的流畅性,减少因网络波动带来的视觉干扰。 ``` ### 注意事项 - 在编写测试报告时,应尽量使用具体的数据和现象来支撑结论,避免模糊表述。 - 对于每一个测试用例,都应有明确的通过标准,以便后续回归测试时进行验证。 - 如果测试过程中发现严问题,应及时暂停当前版本上线计划,并组织相关团队进行修复与验证。 - 所有测试结果应与产品需求文档保持一致,确保测试覆盖率达到预期要求。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值