代码改变世界

IM系统的测试分析

2025-06-05 15:07  第二个卿老师  阅读(78)  评论(0)    收藏  举报

最近遇到一个问题,IM系统怎么测,之前测试过IM项目,这里总结下

IM系统怎么测试

针对任何一个项目测试,包括6个阶段:需求评审与测试分析,测试设计与评审,测试执行与bug跟踪,发布准备(验收),线上验证,项目总结复盘。而本文主要聚集下测试分析阶段,其中测试分析主要解决两个问题,测哪些?怎么测?

测哪些?

要回答这个问题,我们需要定位核心价值,分为四步:

  1. 明确项目的业务目标
    了解该活动或系统的目标,比如是为了拉新?促活?还是品牌曝光?
  2. 明确项目的业务类型
    了解该活动或系统的类型,比如是社交、抽奖、交易奖励类型
  3. 选择测试策略
    我们根据业务目标选择测试策略,一个是基于功能的测试策略(一般内部系统或者后台系统),一个是基于价值的测试策略(拉新,促活等)
  4. 识别质量风险
    我们根据业务类型识别质量风险,来确定测试重点与难点,例如高并发抽奖侧重性能,交易奖励需强化安全等

怎么测?

要回答这个问题,我们需要设计验证维度,平衡测试深度与效率

  1. 设计验证维度
    根据测试策略和质量风险,选择需要验证的维度,比如代码层(单元测试),接口层(接口测试),UI层(业务功能测试)等
  2. 平衡测试深度
    根据验证维度并结合系统设计,确定每个维度的测试深度,比如接口层中某些接口是否需要测试各种参数异常、幂等并发
  3. 平衡测试效率
    根据验证维度,怎么测试效率最高,是手工验证、使用工具、还是写代码脚本等

从上面可知,测试一个项目,需要定位核心价值,并把80%精力覆盖20%的核心风险

测试IM系统

我们知道IM系统就是及时通讯系统,IM系统的业务目标,一般包括实时性,可靠性,兼容性、安全性,部分系统可能有易用性、可维护性、可移植性(第三方SDK)。IM系统的业务类型,可能是企业办公系统、客服营销系统、社交群聊系统等等,于是我们选择基于功能的测试策略,并根据系统类型进行测试重点的安排

功能性

  1. 需要测试IM的消息准确性,特别是大模型对话是逐字输出,要验证消息体是否语意连贯、语种一致、没有乱码等
  2. 需要测试各种的消息体的正确性,比如表情、语音、图片、视频、卡片链接等等
  3. 需要测试单人或多人产生消息的时序性
  4. 根据不同的业务系统,其他可能要测试已读状态、撤回操作、敏感词检查、禁言、历史记录、加入退出群聊、@功能、免打扰功能等等

实时性(效率)

  1. 需要测试消息的实时性
  2. 多人并发聊天的消息的实时性(服务端)
  3. 多人并发聊天的消息的渲染性能(客户端)

可靠性

  1. 测试消息是否可续传,重发,保证信息不丢失
  2. 测试消息是否有重复消息,比如在网络不稳定
  3. 测试大量消息客户端运行是否稳定,不会崩溃

兼容性

  1. 测试消息在不同分辨率、不同型号、不同系统的客户端是否显示正确
  2. 测试消息在不同版本的客户端是否显示正确
  3. 测试消息在不同网络延迟下是否收发正确

安全性

  1. 测试消息收发下的安全性,比如加密传输、越权测试等

易用性

  1. 测试消息收发页面操作是否顺畅简便
  2. 测试消息收发异常时是否有相关提示

可维护性

  1. 测试消息是否存储正常,相关日志是否正常打印

根据上述测试点与实际需求就可以指导设计用例了,当然在执行层面,涉及到不同的技术设计方案,可能使用具体的工具或编写测试代码(如websocket)