微信聊天窗口测试用例
以前没测过客户端的测试,昨天面试被问到聊天窗口测试场景设计,感觉自己答的不好,结束后上网查了一下客户端/app测试的要点,按照测试策略来分,主要涉及到如下测试类型:
1、功能测试
2、性能测试
3、界面测试
4、权限测试
5、兼容性测试
6、网络测试
7、异常情况测试
8、易用性测试
9、安全性测试
10、交互性测试
11、稳定性测试
微信聊天窗口的交互测试和易用性测试可以包含在功能测试中。按照测试策略列出以下测试用例:
功能测试
文字消息:
1、发送文字、数字、英文、表情、特殊字符、纯空格、tab,及各种类型字符混合消息,是否发送成功。
2、发送空消息,不允许发送。
3、发送最大长度消息,边界值测试,界点及超出,是否发送成功。
4、是否能够接收对端发送的文字、数字、英文、表情、特殊字符、纯空格、tab,及各种类型字符混合消息。
5、发送链接是否能正常打开、复制、粘贴。
6、消息在指定时间内是否可以撤回,超过时间不能撤回。
7、消息是否可删除,删除后不显示。
8、收发消息是否有提示,已读消息是否显示已读。
9、如果发送失败,是否支持重发。
10、消息较多时,是否支持一键回到之前浏览位置。
11、是否支持查找消息记录。
12、互相是好友的情况下是否发消息正常,未加好友情况下,加好友功能是否正常。
13、收到的消息是否能转发。
14、发送消息被视频请求、电话打断,是否有提示,结束通话后是否回到当前聊天界面。
图片/视频消息:
1、发送图片视频不能为空。
2、支持的多种图片/视频格式是否成功发送和接收。
3、支持的最大图片/视频大小边界值测试,支持原图发送。
4、最多同时发送的图片/视频个数。
5、相册选图和相机拍摄图片/视频发送。
6、发送视频图片过程中切出窗口,传送是否中断,还是后台继续发送。
7、发送视频图片过程中有电话或聊天请求进入,是否有提示,传送是否中断,还是后台继续发送。
8、消息在指定时间内是否可以撤回,超过时间不能撤回。
9、消息是否可删除,删除后不显示。
10、收发消息是否有提示,已读消息是否显示已读。
11、如果发送失败,是否支持重发。
语音消息
1、不支持空消息发送。
2、不支持时间过短语音发送,有提示。
3、不支持大于60秒语音,边界值测试。
4、语音消息转文字。
5、语音消息录制过程中有电话或视频聊天请求进入,是否有提示,是否会被打断,若打断是丢掉消息还是发送已完成部分。
6、消息在指定时间内是否可以撤回,超过时间不能撤回。
7、消息是否可删除,删除后不显示。
8、收发消息是否有提示,已读消息是否显示已读。
9、如果发送失败,是否支持重发。
语音聊天、视频聊天
1、拨打语音视频聊天,接收方是否有提示,没接通是否双方都正确显示。
2、视频语音之间相互切换。
3、语音视频聊天被打断(有电话进入或别的视频语音聊天请求)是否会被强制中断,是否有提示接收新的请求。
群组消息
1、群发消息是否群里所有人都能收到,是否能收到群里其他所有人发的消息。
2、群主公告是否显示正常。
3、@某个成员/某些成员/所有人,是否指定的人能收到消息提醒,别人收不到。
4、发送群视频、群语音是否所有成员能进入聊天。
5、群成员统计是否正确,新加成员,删除成员,统计是否正确。
6、新加成员/删除成员,是否能够正常接收/不再接收群里消息。
7、是否能按照成员搜索聊天记录。
其他功能:
1、红包、转账、位置、名片等功能是否正常使用。
性能测试:
1、对端同时发多条消息,接收顺序是否正确。
2、是否能够在要求时间内收到消息(文字语音图片视频)。
权限测试:
1、电脑手机等多台设备同时登录,发送消息。
2、换设备登录同一个账号,历史聊天记录是否仍然存在。
安全性测试:
1、发送敏感信息。
界面测试:
1、双方头像显示是否正常。
2、聊天框,字体显示是否正常。
兼容性测试:
1、不同手机型号,操作系统测试。
2、不同电脑型号,浏览器,操作系统测试。
3、不同输入法测试
网络测试:
1、网络故障或信号不稳定情况下,发送所有消息类型失败,网络恢复是否能自动重发,接收正常。
2、网络故障或信号不稳定情况下,拨打视频或语音聊天电话不通是否有提示。
3、正在通话中,遇到网络信号消失,是否中断通话或者卡在那里,网络恢复后,是否通话是否能恢复。
4、弱网测试,网络信号较弱情况下,功能是否正常。
稳定性测试:
1、对端同时收发大量消息,是否会引起聊天窗口崩溃,自动退出。
2、同时收发多个大视频图片,是否会引起窗口崩溃。
3、视频或语音通话中,同时进来多个视频语音通话申请,是否会引起通话中断会崩溃。
4、多次长时间快速上滑下滑聊天窗口是否会引起异常。
5、多个聊天窗口来回切换已收发消息是否显示正常。
6、同时打开多个APP来回切换,已收发消息是否显示正常。
7、正在发送图片/视频,切换其他窗口是否能正常发送不被打断。
8、正在发送图片/视频,切换其他APP是否能正常发送不被打断。
9、多次进行发送/撤回消息操作。
10、多次增删好友,发送消息。
异常情况测试:
1、电量仅剩1%,是否能正常发送接收消息。
2、电量耗尽,关机后重启,发到一半的消息是否丢掉或者保留,或发送已完成部分。
3、进程挂住了,杀掉进程后,发到一半的消息是否丢掉或者保留,或发送已完成部分。
4、直接杀掉进程,重启聊天框,发到一半的消息是否丢掉或者保留,或发送已完成部分。
以上是我总结的微信聊天窗口测试,只是微信客户端的一个模块。如果有遗漏,欢迎补充。
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取
相关文章:

微信聊天窗口测试用例
以前没测过客户端的测试,昨天面试被问到聊天窗口测试场景设计,感觉自己答的不好,结束后上网查了一下客户端/app测试的要点,按照测试策略来分,主要涉及到如下测试类型: 1、功能测试 2、性能测试 3、界面测试…...

Linux下配置邮箱客户端MUTT,整合msmtp + procmail + fetchmail
一、背景 在向 Linux kernel 社区提交patch补丁步骤总结(已验证成功)_kernel补丁-CSDN博客文章中提到如何向kernel社区以及其他类似如qemu、libvirt社区提交patch的详细步骤,但还有一点不足的是通过git send-email这种方法基本是只能发送patc…...

[每周一更]-(第75期):Go相关粗浅的防破解方案
Go作为编译语言,天然存在跨平台的属性,我们在编译完成后,可以再不暴露源代码的情况下,运行在对应的平台中,但是 还是架不住有逆向工程师的反编译、反汇编的情形;(当然我们写的都不希望被别人偷了…...

停留时间是您需要跟踪的 SEO 指标
介绍 停留时间是指用户在点击搜索引擎结果后但在返回搜索引擎结果页面之前在网站上花费的时间。它是搜索引擎优化 (SEO) 的一个重要指标,因为它衡量用户参与度并指示网站是否向访问者提供有价值且相关的内容。搜索引擎,如谷歌&am…...
ES常用操作语句
ES常用操作语句 注:本文中的操作语句基于ES5.5和7.7的版本,版本不同操作语句上可能有细微差别,如5.5版本有索引类型,7.7版本已废弃,查询不应该带索引类型 新增 # 添加字段,并设置字段类型 PUT /索引/_map…...

MicroPython STM32F4 RTC功能使用介绍
MicroPython STM32F4 RTC功能使用介绍 🔖STM32和ESP32 RTC功能差不多,相关篇《MicroPython ESP32 RTC功能使用介绍》📌固件刷可参考前面一篇《STM32刷Micropython固件参考指南》🌿 相关篇《Micropython STM32F4入门点灯》…...

【鸿蒙应用ArkTS开发系列】- 选择图片、文件和拍照功能实现
文章目录 前言创建多媒体Demo工程创建MediaBean 实体类创建MediaHelper工具类API标记弃用问题动态申请多媒体访问权限实现选择图片显示功能打包测试 前言 在使用App的时候,我们经常会在一些社交软件中聊天时发一些图片或者文件之类的多媒体文件,那在鸿蒙…...

公有云迁移研究——AWS Route53
大纲 1 什么是Route 532 Route 53能做些什么# 3 通过DNS托管来实现分流3.1 创建DNS托管3.2 对托管创建记录对流量进行分配 4 通过流量策略来对流量进行分流4.1 创建流量策略 5 对比两者的区别6 推荐 在给客户从本地机房往AWS迁移的过程中,我们接到如下需求ÿ…...

浪潮信息KeyarchOS——保卫数字未来的安全防御利器
浪潮信息KeyarchOS——保卫数字未来的安全防御利器 前言 众所周知,目前流行的操作系统有10余种,每一款操作系统都有自己的特点。作为使用者,我们该如何选择操作系统。如果你偏重操作系统的安全可信和稳定高效,我推荐你使用浪潮信…...

python-单词本|通讯录
编写程序,生词本。 def sayHello():print("" * 20 \n 欢迎使用生词本\n 1.查看生词本\n 2.背单词\n 3.添加新单词\n 4.删除单词\n 5.清空生词本\n 6.退出生词本\n * 20 \n)def addW(data):word input("请输入新单词:")trans i…...

oracle impdp 导入元数据表空间异常增大的解决办法
expdp导出的时候指定了contentsmetadata_only只导出元数据,但是在impdp导入到新库的时候,发现新库的表空间增长非常大,其实这个直接就可以想到,应该是大表的initial segment过大导致的 正常impdp,在执行创建表和索引的…...

网站高可用架构设计基础
一、网站高可用概述 不要尝试着去避免故障,而是要把处理故障的代码当成正常的功能做在架构里写在代码里。 高可用是一种面向风险设计,使系统具备控制风险,提供更高的可用性的能力。网站页面能完整呈现在最终用户面前,需要经历很多…...

基础堆溢出原理与DWORD SHOOT实现
堆介绍 堆的数据结构与管理策略 程序员在使用堆时只需要做三件事情:申请一定大小的内存,使用内存,释放内存。 对于堆管理系统来说,响应程序的内存使用申请就意味着要在"杂乱"的堆区中"辨别"出哪些内存是正在…...
ts的一些
以js为基础构建的语言 一个js的超集 引入了类型(type)的概念给变量赋予类型:让从动态类型语言(js)变成静态类型语言(ts) 让变量的类型明确 扩展了js 可以在任何支持js的平台中执行 比js复杂 可维护性更高 ts不能被js解析器执行 不能再浏览器中直接执行 ts会被编译为…...

LORA概述: 大语言模型的低阶适应
LORA概述: 大语言模型的低阶适应 LORA: 大语言模型的低阶适应前言摘要论文十问实验RoBERTaDeBERTaGPT-2GPT-3 结论代码调用 LORA: 大语言模型的低阶适应 前言 LoRA的核心思想在于优化预训练语言模型的微调过程,通过有效地处理权重矩阵的变化(即梯度更新…...
关于在PyTorch中使用cudnn.benchmark= True
关于在PyTorch中使用cudnn.benchmark True 在PyTorch中,cudnn.benchmark True是一个参数,用于启用或禁用cuDNN的基准测试模式。cuDNN是一个由NVIDIA开发的深度神经网络库,它为GPU提供了一个优化的计算接口。 基准测试模式是cuDNN的一个特性…...

re:Invent大会,亚马逊云科技为用户提供端到端的AI服务
11月末,若是你降落在拉斯维加斯麦卡伦国际机场,或许会在大厅里看到一排排AI企业和云厂商相关的夸张标语。走向出口的路上,你的身边会不断穿梭过穿着印有“AI21Lab”“Anthropic”等字样的AI企业员工。或许,你还会被机场工作人员主…...

23、什么是卷积的 Feature Map?
这一节介绍一个概念,什么是卷积的 Feature Map? Feature Map, 中文称为特征图,卷积的 Feature Map 指的是在卷积神经网络(CNN)中,通过卷积这一操作从输入图像中提取的特征图。 上一节用示意动图介绍了卷积算…...

安装获取mongodb
目录 本地安装 获取云上资源 获取Atlas免费数据库 本地连接数据库 在Atlas中连接数据库 本文适合初学者或mongodb感兴趣的同学来准备学习测试环境,或本地临时开发环境。mongodb是一个对用户非常友好的数据库。这种友好,不仅仅体现在灵活的数据结构和…...

【模电】基本共射放大电路的工作原理及波形分析
基本共射放大电路的工作原理及波形分析 在上图所示的基本放大电路中,静态时的 I B Q I\tiny BQ IBQ、 I C Q I\tiny CQ ICQ、 U C E Q U\tiny CEQ UCEQ如下图( b )、( c )中虚线所标注。 ( a ) u i 的波形( b ) i B …...

wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...
SQL Server 触发器调用存储过程实现发送 HTTP 请求
文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...
鸿蒙HarmonyOS 5军旗小游戏实现指南
1. 项目概述 本军旗小游戏基于鸿蒙HarmonyOS 5开发,采用DevEco Studio实现,包含完整的游戏逻辑和UI界面。 2. 项目结构 /src/main/java/com/example/militarychess/├── MainAbilitySlice.java // 主界面├── GameView.java // 游戏核…...

【阅读笔记】MemOS: 大语言模型内存增强生成操作系统
核心速览 研究背景 研究问题:这篇文章要解决的问题是当前大型语言模型(LLMs)在处理内存方面的局限性。LLMs虽然在语言感知和生成方面表现出色,但缺乏统一的、结构化的内存架构。现有的方法如检索增强生成(RA…...
【Java】Ajax 技术详解
文章目录 1. Filter 过滤器1.1 Filter 概述1.2 Filter 快速入门开发步骤:1.3 Filter 执行流程1.4 Filter 拦截路径配置1.5 过滤器链2. Listener 监听器2.1 Listener 概述2.2 ServletContextListener3. Ajax 技术3.1 Ajax 概述3.2 Ajax 快速入门服务端实现:客户端实现:4. Axi…...

从0开始学习R语言--Day17--Cox回归
Cox回归 在用医疗数据作分析时,最常见的是去预测某类病的患者的死亡率或预测他们的结局。但是我们得到的病人数据,往往会有很多的协变量,即使我们通过计算来减少指标对结果的影响,我们的数据中依然会有很多的协变量,且…...
信息系统分析与设计复习
2024试卷 单选题(20) 1、在一个聊天系统(类似ChatGPT)中,属于控制类的是()。 A. 话语者类 B.聊天文字输入界面类 C. 聊天主题辨别类 D. 聊天历史类 解析 B-C-E备选架构中分析类分为边界类、控制类和实体类。 边界…...