各类app常见测试点


各类软件常见测试点

游戏类

背景和目的

注重的是可玩性和用户体验,对局公平性和平衡性,游戏的实时性很强,进程往往是不可逆的,而且游戏上下文关联性比较强,往往其中某一个环节出现异常问题,后面就没法继续玩了

热更新

增量热更(未混淆散包热更):常见的更新手段,从上一个版本,更新到最新版本,1.2.3更到1.2.4, 可能导致:更新后无法进入

全量更新(混淆整包热更):清数据或重装包,从1.0.0更到最新版本,每次发版必须要测试全量更新 可能导致:更新后老用户能进,新用户无法进入

断点续传:更新过程中断网、杀端,恢复后继续下载 可能导致:资源不完整,无法进入游戏

弱网更新:验证弱网环境下资源更新的完整性 可能导致:资源不完整,无法进入游戏

停服热更 / 不停服热更

  1. 停服更新:停服前的玩家处理,通常正在游戏中的玩家,等待游戏结束,游戏外的玩家,禁止进入游戏 (停服公告) 需要注意:开服后的高并发问题

  2. 不停服更新:灰度发布,流量转移

灰度发布通常是产品上线前的一个小范围测试,重在验证新版本的稳定性;而Beta测试则是一个更广泛的用户测试,重在收集用户的反馈以改进产品

强更

  1. 强制更新:比如金融app和银行app中,游戏app的平衡问题,重大bug,以及无法和老版本兼容,选择使用强更

异常case分类

视觉类

显示穿透导致的露点问题

多个面共面时,出现重叠或者不应该出现的遮挡问题

物体出现在不合理的位置

角色姿态异常或者动作失真等问题

贴图缺失,只显示了占位图,没有正确加载资源

功能类

主要从技能,hp值,cd时间,数值奖励,动画效果等等

手机核平板互通的游戏中,平板比手机视野大

服务判断等级=2时,领取任务B,玩家直接跨级升到3,导致没有领到2礼包

狼人杀游戏,死亡后的玩家断线重连,或退出重新加入原房间后,可以语音交流,暴露对手,影响游戏公平

语音游戏,在A房间正在游戏,通过分享连接加入B房间,导致同时可以拉取AB两个房间语音流

声音类

音效丢失,该播的声音没有播出来

音效使用错误

触发多个音效同时播放,重叠错乱

物理类

物体穿透:在高速运动和快速旋转的情况下,物体可能会穿透其他物体

物体卡住:当一个物体和另一个物体接触时,可能会卡住或被卡住, 例如:角色踩到一个缝隙,导致卡脚

碰撞体检测错误:当对象的碰撞体设置不正确时,可能导致碰撞检测错误 例如:上面说的人和枪漏点的问题,一个玩家移动会将另一个不动的玩家挤走

摩擦力异常:物体的摩擦系数设置不正确,可能会在地图上滑动或旋转 例如:比如人无法走上斜坡

物体反弹异常:物体的反弹系数设置不正确,可能导致物体在碰撞后反弹过度或不足 例如:台球游戏,撞球和撞库后反弹效果差

物体重量异常:物体的重量设置不正确,可能会导致物体移动或旋转速度不正确 例如:足球重量过重很难移动,重量过轻很容易

物体旋转异常:当一个物体旋转时,可能会遇到旋转方向不正确或旋转速度异常等问题 例如:赛车游戏,轮子旋转方向与车的行驶方向不一致

物体移动异常:当一个物体移动时,可能会遇到移动方向不正确或移动速度异常等问题 例如:左右移动角色没有转身,人走路和跑步的速度不合适

网络测试关注点

断线重连
网络bug一定是服务器和客户端的连接性或带宽(上下行)相关,要想清晰有条理的设计断网测试的case,首先要弄清楚长连接心跳规则以及断开机制

例如:业务规定心跳每5秒发一次,5次无心跳T掉该客户端,那么断网超过20—25s,会断开长连接,结论:20s以内重连长连接可以恢复,25s以外重连需要重新建立长连接,所以客户端断网的测试用例需要设计在25s左右

对于实时交互性强的游戏戏,需要保持游戏内场景的游戏,只要统一重连到最新状态即可,例如:象棋,麻将

对于实时性强且注重体验性的游戏,则需要多种机制才能丰富体验性

断网重连的异常case

断线期间【数据】、【状态】、【进程】发生改变,

足球游戏,断线前比分0:0,进球后重连,仍然显示0:0

角色存活时断线,死亡后重连,角色仍然”活着“

角色在A点回城时断线,转移到B点重连,由于客户端没有处理和渲染新位置,导致角色还显示在A点

前后台切换

后台回到前台,客户端通常有以下几种处理方式

直接强制socket断开再重连,相当于重进了游戏(罕见)

直接获取服务器最新的数据和状态,(比较常见)例如:象棋游戏

处理回到app时,前x秒的历史消息队列,按消息顺序处理

硬件兼容

耳机、VR、手柄等等

软件兼容
主流软件的兼容,例如浏览器,微信分享/支付宝支付 可能导致:崩溃、返回后黑屏

软键盘兼容,系统自带键盘,常用三方键盘,横屏游戏键盘 可能导致:横屏键盘无法吊起,

相机与文件:吊起相机,拍照上传,访问手机存储,大文件上传 可能导致:崩溃,游戏进程被干掉

不同的手机兼容,系统和版本兼容 可能导致:无法运行

webview兼容

三方SDK兼容(用户数据测试;充值,消费测试)

其他异常关注点

旋转屏幕:默认旋转方向,横/竖屏,竖屏锁定下的旋转,旋转设备屏幕跟随旋转

自动登录:是否需要自动登录,记录上次登录状态、启动后自动登录

屏幕常亮:是否需要开启屏幕常亮,开启屏幕常亮的场景

多点触控:是否需要开启多点触控,若业务不需要,建议直接关闭

连续点击:连点,快点,是否重复请求,重复打开页面,重复调用

按下松开:按钮事件是以按下还是松开为判断时机

点按长按:同一个按钮短触和长按有不同的效果

屏幕适配:大屏小屏、宽屏窄屏,平板

系统兼容:安卓/IOS 向下最低版本兼容,最新版本兼容

顶部导航:是否需要在游戏内展示顶部导航栏

物理返回:是否需要屏蔽安卓物理返回键,或监听返回事件弹窗确认是否退出

网络检测:流量提醒、弱网提醒、无网处理

权限获取:各种权限的获取目的和获取时机

应用分身:建议打包时禁用

应用分屏:分屏主要检查兼容性,UI展示是否正确,物理碰撞是否生效并且正确

低电模式:低电量模式下游戏表现

设备登录:同一个账号在不同设备上同时登录

游戏加速:部分手机有手游加速模式

游戏弹幕等输入框:是否可以输入一下政治敏感度的风控内容

GM工具测试

​ 测试GM工具的功能实现,需要关注工具的设置是否在游戏中起作用

​ 测试GM工具的数据读取,存储

地图导航(打车)类

功能测试

分析角度从:定位,起点,终点,中途点,系统提示,导航时长,导航距离,实际路况(电子抓拍,事故多发语音提示等),支持多种车辆类型(共享单车,公交车,打车,地铁等等),路线选择(例如最短路线、最快路线等),实时更新导航路线(交通拥堵),离线导航功能,识别用户当前位置,保存常用地点,打车时间,真实时长,可停车地点,公交票价区间,来电处理

UI测试

分析角度:导航系统界面布局(排列、大小、间距等),界面的响应性和不同适配器兼容,界面的易用性,美观性

兼容性测试

分析角度:不同操作系统版本,不同浏览器(如Chrome、Firefox、Edge、Safari等),不同设备(如手机、平板、电脑等),不同分辨率。

安全性测试

分析角度:用户登录、注册、密码,数据传输加密,用户位置信息保护;

防(XSS)、SQL注入攻击,越权访问、不安全的文件上传等。

网络测试

分析角度:不同网络下的稳定性,(2G、3G、4G、5G、Wi-Fi等),网络故障或断网下错误提示,网络不稳定或断开下是否能够正常工作;

网络环境差是否能够加载数据

性能测试

高峰出行时的响应时间,计算多个途经点或起终点距离较远时的性能,实时更新路线时的性能,加载离线地图的速度,导航稳定性(monkey多次导航操作),高并发下(多个用户同时使用)的性能

易用性测试

考虑角度:直观和简单,清晰的语音和图标导航指示,易理解的错误提示,

支持常见问题解答、用户手册,个性化设置(语言选择、单位设置等)

是否有快捷键、手势操作等

文档和国际化语言测试

考虑角度:使用手册或在线帮助文档,在线知识库或常见问题解答

支持多种语言界面,良好的翻译质量,切换语言

音视频类

音乐播放类

分析角度:注册登录,上传音乐和视频,删除和批量删除音乐和视频(检查播放列表,数据库,相关文件),查音视频(字符前后加空格,空查所有等),添加和删除喜欢列表(切换账号,看之前号喜欢列表)

会议类

主要针对会议app(钉钉,腾讯会议,如流,飞书,Welink)

采集(视频,音频)-》前处理(美颜,3A)-》编码(H264,OPUS)-》网络传输(带宽探测,拥塞控制,弱网对抗)-》后处理(降噪,变声)-》解码播放(显示器,扬声器)

音频评估

客观测试
音频码率,采样率,声道数,音量大小

主观测试
单讲/双讲,回声,时延,啸叫,音画同步,音量大小

POLQA
时延,level,aMOS

视频评估

主观测试
清晰度,流畅度,时延,音画同步
客观测试
视频码率,分辨率,帧率,卡顿率

vMOS
vMOS,VMAF
CoDec
离线测试,在线测试

搜索类

关注的测试点

  • 正确性

    输入各种不同的关键字或查询条件

  • 完整性
    输入包含在不同字段或文本中的关键字

  • 模糊搜索
    输入部分关键字或拼音以及拼写错误的关键字

  • 搜索过滤
    测试不同的过滤条件,如时间范围,数据类型等

  • 搜索排序
    测试不同的排序方式,如时间,相关度

  • 界面交互
    测试搜索框,搜索按钮,搜索历史记录可以正常交互

  • 性能与并发
    需要模拟多个用户同事进行搜索操作,验证系统响应时间及吞吐量是否满足性能要求

  • 安全性

    防止SQL注入,XSS攻击等安全漏洞

  • 异常情况处理

    测试输入无效关键字,网络中断,数据库故障等场景

搜索的架构和涉及的技术栈
搜索引擎,数据存储,分词器,索引管理,检索算法,分布式架构,缓存,监控和性能优化

搜索排序是通过搜索引擎的算法来实现的,建立索引,分词机分析,查询处理,倒排索引匹配,相关度计算,排序和评分,返回结果

策略类的测试比如匹配排序

搜索后广告投放的优先显示:广告投放和管理,广告索引和匹配(关键字,网址),广告相关度计算,广告排序和评分,广告展示和点击,广告投放策略和优化

H5类

测试关注点

业务逻辑测试

业务逻辑相关的测试,视具体业务的需求而定;

页面元素UI测试

页面UI主要包括文字、图片以及页面布局等方面测试;文字:风格一致、错别字、标点符号统一、换行是否显示正常、一行长文字是省略显示全显示、图片与文字是否一致、刷新页面文字是否展示;图片:

1)静态:大小、风格;

2)动态:大小、风格、准确性动态图、转场动画,loading动画,点击动画等;3)刷新页面图片是否正常展示;

4)图片适配:根据不同屏幕和分辨率进行适配;页面布局:页面文字图片是否能自适应屏幕、整体布局是否合理等;内嵌链接:空链接、刷新链接数据是否展示;链接跳转是否正确;

页面操作

登陆
  目前H5与native各个客户端都做了互通,所以大家在测试的时候要注意两点:
  A、若客户端已登录,那么进入H5后仍然是登录状态。
  B、若客户端未登录,进入H5,点击对应按钮OR链接,如果需要登录,须拉起native登录。若取消登录,是否可再次拉起登录,或者停留在的页面是否有对应的登录提示。

1)刷新与返回页面刷新是否仍然处于当前页面;用户主动点击刷新按钮是否仍然处于当前页面;点击返回与back键,回退页面是否是期望页面(安卓物理按键返回;iOS左滑返回,考虑左滑一半松手,自动回到H5页面是否正常加载的情况);

2)翻页遇到翻页加载的页面,需要注意内容为一页或者多页的情况;数据分页加载时,注意后续页面请求数据的正确;ps:注意在快速操作场景中,请求页数是不是依次递增,快速操作(如第一页尚未loading出来的时候仍然继续上拉操作)时是否发出去对应的请求了。

3)弹窗出现/关闭手机测试要特别关注交互是否友好,可能会导致一些体验的问题,比如:弹出层的点击,是否会穿透,影响到弹出层下面的页面;

4)浮层页面对于一些浮层做的页面,例如地图、产品分类等浮层,注意拖动后是否可以看到它下面的页面,拖动后边缘是否有留白;

5)页面提示弱网络下,数据加载较慢,是否有对应的loading提示;接口获取异常时,提示是否合理;刷新页面或者加载新内容时页面是否有抖动;

6)手机操作相关锁屏之后展示页面;退到后台,再重新呼出在前台展示;

接口测试

1)接口返回处理:请求成功,且返回有数据,测试接口返回数据的各种场景-接口返回的数据期望的是否一致;接口入参的边界值校验;检查接口的容错性,如对于传输数据类型错误能否处理等,整型的输入小数、中英文等;请求成功,但data内容为空;请求接口异常时,页面处理;

2)接口性能测试:页面加载时间:关注页面首屏加载时间;调用接口数据返回的时间,速度过慢会影响用户体验;资源相关:页面中有图片的话,尽量缩小图片;资源是否压缩、是否通过CDN加载。服务端并发性能:用户量过多时,服务器性能是否受到影响;内存:反复访问,检查是否占用大量内存;流量消耗:对于一些不会变化的图片,如游戏动画效果相关图片,不需要每次都请求的东西,做本地缓存;数据较多时是否做了分页加载。

网络测试

网络环境:WiFi、4G、3G、2G;网络异常:弱网、断网;网络切换;

适配测试

H5页面需要适配的内容主要有:图片高清适配;字体大小适配;页面布局宽度适配;横竖屏适配;考虑适配因素:对不同屏幕尺寸和分辨率的机型进行适配;不同平台iOS和安卓进行适配;屏幕横竖屏适配;日夜间模式适配;深色浅色模式适配(iOS13系统);

安全测试

明确投放渠道都有哪些,是否对未投放渠道做了限制,直接通过url请求是否拦截等;接口部分敏感信息是否加密传输等;直接URL是否能打开;防止恶意攻击;

埋点测试

埋点数据检查;

上线后验证测试

上线后:H5涉及到的各种资源文件,在测试环境(包括预发环境),一般都是内域,正式上线,RD童鞋有把资源文件(或者说url中的链接忘了修改)漏发的风险,所以上线后一定要用外网环境再快速回归下

其他

优惠卷的测试中,优惠活动比较复杂的情况,各种打折,满减,折上折的场景,如何保证测试的结果的正确性

  • 规则的定义和管理
  • 优惠卷的计算公式(期限,退货返卷)
  • 规则组合和顺序(多个卷叠加)
  • 边界值和异常处理

接口之间有数据依赖怎么处理?
接口数据关联指的是上一个接口的返回值,是下一个接口的请求参数

同步接口测试场景
如果上一个接口返回值属于json格式,那么可以使用json提取器将需要的参数保存到变量中

如果是其他格式,可以使用正则提取器进行保存数据

使用在下一个接口中直接${变量名}就可以使用这个数据

在什么场最下搭建的接口自动化测试框架

  • 接口数量众多且复杂

  • 接口变更频繁

  • 需要持续集成和持续部署

    体现价值:提高效率,保证质量,提高可维护性。促进团队协作

万能公式 (在没有需求文档的情况下)

测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。

  • 用例表达清楚,无二义性。。
  • 用例可操作性强。
  • 用例的输入与输出明确。一条用例只有一个预期结果。
  • 用例的可维护性好。
  • 用例对需求的覆盖率高

功能+性能+界面+兼容性+易用性+安全

功能测试:产品是否实现了预期的功能

性能测试:功能测试没有问题,不代表性能好(网站速度、流畅的)

界面测试:布局、每个元素的大小、颜色、材质

兼容性测试:软件的不同版本、打开网站所用的不同浏览器
不同的系统版本、数据兼容性(不同版本数据是否展示正确且相同)

易用性测试:产品是否容易上手、提升文字(登陆时)、打开软件的操作步骤提示

安全测试:产品网站系统,用户信息,页面数据展示的是是否恰当和合适
(用户的隐式数据)
登录时候是否加密
接口返回值—SQL注入
越权问题(垂直越权和水平越权):权限、管理员、普通用户

不同的角色对应不同的功能


文章作者: 读序
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 读序 !
  目录