主流应用形态:
1、原生APP(nativeAPP)、应用市场,包括Android、IOS
2、小程序
3、H5 -- 相比上面2种形态真实使用中,这种会比较少
1)为了节约时间,在效率和效果之间不断权衡,衍生小程序这种用于形态
2)小程序的应用形态越多,测试也要覆盖这种应用的测试
3)功能测试、性能测试、自动化测试
概念:
小程序就是:依附在微信而不需要下载和安装的移动端应用程序
1、小程序产品的版本类型分为:开发版、体验版、正式版
2、正式版是需要进过微信审核的。开发版、体验版无需审核,只需给指定的微信号权限,然后扫小程序的二维码就能访问
注意:
除了微信小程序,还有百度小程序、支付宝小程序、抖音小程序,都是每个平台自己开发的,都是有针对性平台的应用程序
小程序优点:
1、无需下载,即用即走
不需要考虑安装、卸载等测试点
2、功能丰富,清爽体验
界面里的操作更多是点击或滑动,不是输入,操作性更强
3、流量大,易裂变 -- 天然流量
依附于微信,用户体的天然优势
原生APP | VS | 小程序 |
---|---|---|
需安装、卸载,操作麻烦;占用手机空间 | 无需安装,用完即走 | |
需注册、登录 系统 | 使用微信的账号,无需注册、登录 | |
开发周期长、消耗大、成本高10倍+ | 周期短,开发快,成本是APP的 1 / 10 | |
支持的平台(Android和IOS),需单独开发 | 一个版本兼容各种手机平台 | |
宣发方面需自己推流,成本高、效果差 | 天然用于超过10亿的微信用户流量 |
功能方面的测试点
非功能方面的测试点
1、界面测试UI
2、兼容性测试
3、易用性测试
4、性能测试
5、安全测试
使用的方法和步骤跟 web 、App 测试一样
包括业务流程、数据流向、功能入口有效性检查测试
大体思路分为三步:
http://testingpai.com/article/1622728109136
1、第一步:依据需求梳理各大类功能以及细化功能点
2、第二步:通过测试理论方法以及经验,梳理测试点(等价类、边界值、场景法、错误推测法等)
3、第三步:挖掘隐性需求,覆盖非功能测试层面(界面、易用、兼容、安全、性能 等 )
涉及数据提交,测表单页面
输入框
1)SQL注入--登录验证
2)等价类划分、边界值分析法
下拉框
1)下拉框数据完整性以及正确性、手动输入关键字模糊匹配、选择第一/中间/最后一条(补充到常见业务选项)、联动选择(例:省、市)
2)边界值分析法
单选
选与不选
多选:A、B、C、D
1)单一选择
2)多个组合选择
两两组合--全部覆盖
3个组合-2-3组
...
3)业务常见组合情况
正交实验法
上传文件
图片、视频、Excel、TXT 等
图片、视频 --> 大小、格式、视频时长、尺寸、数量、格式名(看需求)
Excel/TXT文件,导入数据
本身文件大小、格式、数量
文件包含数据验证:长度、数据类型、必填、唯一性约束以及业务相关约束--需求中明确、sheet1/sheet2,可否读取多个表单数据
提交按钮
点击/回车、快速点击、提交数据之后加密(界面/数据库)、提交操作的权限控制 -- 角色有关系
数据来源
制造数据--通过业务操作/调用接口/通过数据库
搜索条件
输入项、下拉框、时间框等
1、任单个条件查询:模糊搜索、超长搜索、不存在于之匹配的条件、为空--空页面处理(从易用性角度)
2、任两个组合查询:确保任两个组合查询的正确性、全部组合
3、三个组合查询(N-1个组合查询,N=搜索条件数量):不需要测试三个组合的全部级组合
4、全条件组合查询:确保最大组合的正确性
5、默认搜索条件查询
6、根据需求或业务 规则需限制重点条件组合查询
补充:时间搜索框
1、开始时间==结束时间、开始时间 < 结束时间(跨天、跨月、跨年) 不要忽略跨月、年
2、开始时间超过/小于当前时间 -- 不予选择、只输入开始时间2021-01-04/结束时间、开始/结束时间都不输入--默认显示所有数据/不显示数据
3、结束时间早于开始时间
4、手动输入、时间格式;默认时间
搜索重点
落在搜索结果的完整性以及正确性验证
1)结合数据库对比 一致性
2)翻页控件
首页、上一页、下一页、尾页
总页数、当前页数
指定跳转页
选择一条数据,点击删除 ; 删除一条数据后,点击添加
连续删除多个产品,选择批量删除
选择全选,点击删除
删除一个有关联性的数据
注意:
1、所有删除数据操作要 注意相应查询页面以及管理界面的数据、数据库是否及时更新
2、考虑物理删除、逻辑删除--看系统需求,数据库中数据是真实删除还是只失效状态更新
1、打开web系统后,在浏览器默认存储cookies的目录下看此cookies目录是否存在
2、已知cookies的保存时间,测试时间范围之内和之外的cookies文件是否正确
3、将浏览器下的所有cookies文件全部删除。再次登录web系统,会怎么处理
进行功能测试的任何操作都可以归溯是对于数据库的增删改查。界面操作没做一次业务操作,界面能确认,不需要查库确认数据准确性
可关注
1、数据库脚本执行--
数据库表添加、修改是否能正常。搭建项目环境,初始化数据库、空库、干净的库
2、页面提交表单、修改、查询、删除--
数据库表信息是否正确
微信“发现” 微信底部“发现”中 的“小程席”分类 |
置顶进入 小程序可显示在聊天 中余顶部 |
附近小程序 微信“小程序”下的 “附近小程席 |
系统桌面进入个 可以将小程序发送到 系统泉面后进入 |
使用列表 微信“小程序”下的 使用列表 |
小程序搜索 微信“小程序”下进 行搜索 |
顶部搜索进入 在微信顶部搜索可进 入小程席 |
推广进入 可通过朋友图广告、 小程席广告进入 |
“星标”小程序 用户手动“星标”的 小程序 |
扫小程序码 可以通过扫小程序码 《二维码)进入 |
公众号详情页 公众号详情页可见被 关联的小程序 |
公众号菜单 公众号底部菜单可直 接打开小程序 |
发文插入 公众号编辑文章里可 插入小程序 |
关联进入 公众号关联小程序后 下发的关联消息进入 |
聊天进入 小程序可转发到微信 即天 |
群聊分享进入 小程席可分享到微信 群聊中 |
群聊详情进入 微信群聊详情显示最 近被分享过的小程序 |
支付完成进入 可以在微信支付完 后选择进入小程序 |
跳转进入 从一个小程序跳特到 另一个小程席 |
QQ浏览器进入 可以通过9Q浏览器我 供的小程序入口进入 |
与微信的交互
支付-微信支付(卡包、钱包 ---抵扣 )
微信信息
微信视频通话
微信语音通话
授权类型
登录授权--获取你的昵称、头像和手机号
获取地理位置、麦克风等
权限测试
允许授权,进入下一步操作;登录授权后,会以微信用户身份进行业务操作
拒绝授权,无法下一步操作
关闭退出,如若已经授权则无需再次授权
授权后,取消授权--设置
注意:
同一微信号在不同手机端可查看的数据和权限是同步一致的
小程序和原生APP的数据也是同步
登录流程和原理 --了解
假设:
https://developers.weixin.gq.com/miniprogram/dev/framework/open-ability/login.html
小程序的分享
分享可以成功(朋友、朋友圈、企业微信)
分享后可以点击正常打开
添加到我的小程序(排序)
添加成功、正常显示
可以点击打开该小程序
中断测试--参考APP测试方法
(核心功能存在实时数据交互)
电话中断
闹钟中断
低电量中断
耳机插拔中断
网络中断
断电中断
...
网络测试 -- 参考APP测试方法(核心功能)
测试2G/3G/4G/WiFi网络切换
测试有网/无网/有网切换下应用的运行
弱网测试:延时、丢包
弱网场景 -- 专门工具
fiddler/Charles/Qnet停用、WiFi远一点/地下室 ...
支付/退款 -- 弱网环境
原型图、UI切图 --需求文档
站在用户角度考虑,美观和友好、易用性
参考成熟产品,符合大部分用户的使用习惯
小程序更加轻量级,更加便利
导航的操作区,一般不超过5个 --同app
UI更多的是点击操作,输入比较少
所以,有如下原则
1、页面层级为 10 层
开发解决/产品设计避免超过10级
2、开发源程序大小不超过8M源文件(分包加载,当个分包不超过2M)
因为,过于复杂逻辑不可控的异常问题
手机型号 -- 微信能兼容基本没问题
系统版本 -- 微信能兼容基本没问题
屏幕大小 -- 小程序定义一个新的像素单位-rpx(多考虑几种大小屏幕)
微信版本 -- 小程序要特别注意(最新多个版本)
微信上其他小程序的兼容 -- 共用声卡 话筒这种 -- 次要
小程序兼容性测试:
公司已有的不同测试机型微信版本: 上面去对应基本测试
服务器性能测试 == 接口性能 --Jmeter性能测试
小程序本身性能测试 == 资源占用(CPU、内存、流量、电量)--Perfdog/Gt/Solopi、页面白屏时间、首屏时间、页面渲染时间等
1)行业标准 2)历史版本 3)如果没有 竞品对比
小程序/App可同步测试
白屏-- 打开小程序,到页面开始显示第一个内容
首屏 -- 打开小程序,到最终页面全部呈现完毕
页面渲染 -- 到页面开始显示第一个内容,到最终页面全部呈现完毕
没用过工具,最基本点点点测试,竞品对比 -->
凭肉眼感受每个页面点击呈现Neri的一个响应时间/运行一段时间手机发烫
数据加密传输
权限 -- 用户鉴权
业务漏洞
渗透测试
小程序加固测试 --SQL注入,XSS跨站脚本,加密
小程序安全检测
传统:
BurpSuite,APPScan,AWVS,Dirsearch,Nessus --安全扫描
微信:
wetest -- 检测工具
小程序测试盒APP测试的区别
在测试流程上,功能业务以及界面测试上没什么区别,所运用到的方法和技术都是相通的,测试类型 都需要进过功能、界面、兼容、甚至性能和安全方面的测试
区别总结:
1、下载渠道以及安装卸载不同
小程序:
主要通过二维码、用户分享推荐、搜索小程序等获取;并且不需下载,清除时直接删除小程序
APP:
需应用市场下载;并且安装后才能适应,清除时需卸载
2、开发周期以及发布审核不同
小程序:
一个版本可兼容不同的手机平台,小程序的开发周期约2周;发布审核时周期较短
APP:
支持的android和ios平台需分别开发,周期较长大约3个月;且在各大应用商店发布的审核周期也较长
3、登录权限不同
小程序:
一般授权登录,无需注册;例如微信未授权/授权 登录程序,同一微信号不同手机登录查看数据是否同步显示
APP:
需注册登录系统,权限方面需考虑是否可以访问手机通讯录、相册、相机等权限
4、兼容性测试:
小程序:
基于不同的公众平台,比如 微信,主要兼容不同的微信版本
APP:
考虑不同机型的兼容,不仅看分辨率、屏幕尺寸、还看操作系统