小程序、H5以及APP混合测试

一、为什么要学小程序测试

主流应用形态:1、原生APP(nativeAPP)、应用市场,包括Android、IOS
2、小程序
3、H5 -- 相比上面2种形态真实使用中,这种会比较少1)为了节约时间,在效率和效果之间不断权衡,衍生小程序这种用于形态2)小程序的应用形态越多,测试也要覆盖这种应用的测试3)功能测试、性能测试、自动化测试

二、什么是小程序

概念:小程序就是:依附在微信而不需要下载和安装的移动端应用程序1、小程序产品的版本类型分为:开发版、体验版、正式版2、正式版是需要进过微信审核的。开发版、体验版无需审核,只需给指定的微信号权限,然后扫小程序的二维码就能访问注意:除了微信小程序,还有百度小程序、支付宝小程序、抖音小程序,都是每个平台自己开发的,都是有针对性平台的应用程序

三、小程序的优点

小程序优点:1、无需下载,即用即走不需要考虑安装、卸载等测试点2、功能丰富,清爽体验界面里的操作更多是点击或滑动,不是输入,操作性更强3、流量大,易裂变 -- 天然流量依附于微信,用户体的天然优势

五、小程序和原生APP区别 – 面试20%

原生APP VS 小程序
需安装、卸载,操作麻烦;占用手机空间 无需安装,用完即走
需注册、登录 系统 使用微信的账号,无需注册、登录
开发周期长、消耗大、成本高10倍+ 周期短,开发快,成本是APP的 1 / 10
支持的平台(Android和IOS),需单独开发 一个版本兼容各种手机平台
宣发方面需自己推流,成本高、效果差 天然用于超过10亿的微信用户流量

六、小程序,我们应该如何测试 --面试重点

功能方面的测试点非功能方面的测试点1、界面测试UI2、兼容性测试3、易用性测试4、性能测试5、安全测试

功能测试-业务流程/数据流

使用的方法和步骤跟 web 、App 测试一样
包括业务流程、数据流向、功能入口有效性检查测试大体思路分为三步:http://testingpai.com/article/16227281091361、第一步:依据需求梳理各大类功能以及细化功能点2、第二步:通过测试理论方法以及经验,梳理测试点(等价类、边界值、场景法、错误推测法等)3、第三步:挖掘隐性需求,覆盖非功能测试层面(界面、易用、兼容、安全、性能 等 )

1、表单测试

涉及数据提交,测表单页面输入框1)SQL注入--登录验证2)等价类划分、边界值分析法下拉框1)下拉框数据完整性以及正确性、手动输入关键字模糊匹配、选择第一/中间/最后一条(补充到常见业务选项)、联动选择(例:省、市)2)边界值分析法单选选与不选多选:A、B、C、D1)单一选择2)多个组合选择两两组合--全部覆盖3个组合-2-3组...3)业务常见组合情况正交实验法上传文件图片、视频、Excel、TXT 等图片、视频 --> 大小、格式、视频时长、尺寸、数量、格式名(看需求)Excel/TXT文件,导入数据本身文件大小、格式、数量文件包含数据验证:长度、数据类型、必填、唯一性约束以及业务相关约束--需求中明确、sheet1/sheet2,可否读取多个表单数据提交按钮点击/回车、快速点击、提交数据之后加密(界面/数据库)、提交操作的权限控制 -- 角色有关系

2、搜索测试

 数据来源制造数据--通过业务操作/调用接口/通过数据库搜索条件输入项、下拉框、时间框等1、任单个条件查询:模糊搜索、超长搜索、不存在于之匹配的条件、为空--空页面处理(从易用性角度)2、任两个组合查询:确保任两个组合查询的正确性、全部组合3、三个组合查询(N-1个组合查询,N=搜索条件数量):不需要测试三个组合的全部级组合4、全条件组合查询:确保最大组合的正确性5、默认搜索条件查询6、根据需求或业务 规则需限制重点条件组合查询补充:时间搜索框1、开始时间==结束时间、开始时间 < 结束时间(跨天、跨月、跨年) 不要忽略跨月、年2、开始时间超过/小于当前时间 -- 不予选择、只输入开始时间2021-01-04/结束时间、开始/结束时间都不输入--默认显示所有数据/不显示数据3、结束时间早于开始时间4、手动输入、时间格式;默认时间搜索重点落在搜索结果的完整性以及正确性验证1)结合数据库对比 一致性2)翻页控件首页、上一页、下一页、尾页总页数、当前页数指定跳转页

3、删除测试

选择一条数据,点击删除 ; 删除一条数据后,点击添加
连续删除多个产品,选择批量删除
选择全选,点击删除
删除一个有关联性的数据注意:
1、所有删除数据操作要 注意相应查询页面以及管理界面的数据、数据库是否及时更新2、考虑物理删除、逻辑删除--看系统需求,数据库中数据是真实删除还是只失效状态更新

4、cookies、session测试 --界面用户操作角度来讲,可以不测

1、打开web系统后,在浏览器默认存储cookies的目录下看此cookies目录是否存在
2、已知cookies的保存时间,测试时间范围之内和之外的cookies文件是否正确
3、将浏览器下的所有cookies文件全部删除。再次登录web系统,会怎么处理

5、数据库测试

进行功能测试的任何操作都可以归溯是对于数据库的增删改查。界面操作没做一次业务操作,界面能确认,不需要查库确认数据准确性可关注1、数据库脚本执行--数据库表添加、修改是否能正常。搭建项目环境,初始化数据库、空库、干净的库2、页面提交表单、修改、查询、删除--数据库表信息是否正确

七、功能测试-小程序专项

微信“发现”
微信底部“发现”中
的“小程席”分类
置顶进入
小程序可显示在聊天
中余顶部
附近小程序
微信“小程序”下的
“附近小程席
系统桌面进入个
可以将小程序发送到
系统泉面后进入
使用列表
微信“小程序”下的
使用列表
小程序搜索
微信“小程序”下进
行搜索
顶部搜索进入
在微信顶部搜索可进
入小程席
推广进入
可通过朋友图广告、
小程席广告进入
“星标”小程序
用户手动“星标”的
小程序
扫小程序码
可以通过扫小程序码
《二维码)进入
公众号详情页
公众号详情页可见被
关联的小程序
公众号菜单
公众号底部菜单可直
接打开小程序
发文插入
公众号编辑文章里可
插入小程序
关联进入
公众号关联小程序后
下发的关联消息进入
聊天进入
小程序可转发到微信
即天
群聊分享进入
小程席可分享到微信
群聊中
群聊详情进入
微信群聊详情显示最
近被分享过的小程序
支付完成进入
可以在微信支付完
后选择进入小程序
跳转进入
从一个小程序跳特到
另一个小程席
QQ浏览器进入
可以通过9Q浏览器我
供的小程序入口进入
与微信的交互支付-微信支付(卡包、钱包  ---抵扣 )微信信息微信视频通话微信语音通话
授权类型登录授权--获取你的昵称、头像和手机号获取地理位置、麦克风等权限测试允许授权,进入下一步操作;登录授权后,会以微信用户身份进行业务操作拒绝授权,无法下一步操作关闭退出,如若已经授权则无需再次授权授权后,取消授权--设置
注意:同一微信号在不同手机端可查看的数据和权限是同步一致的小程序和原生APP的数据也是同步

小程序和原生APP的数据同步

登录流程和原理 --了解

假设:https://developers.weixin.gq.com/miniprogram/dev/framework/open-ability/login.html

小程序的分享分享可以成功(朋友、朋友圈、企业微信)分享后可以点击正常打开添加到我的小程序(排序)添加成功、正常显示可以点击打开该小程序

中断测试--参考APP测试方法
(核心功能存在实时数据交互)电话中断闹钟中断低电量中断耳机插拔中断网络中断断电中断...
网络测试 -- 参考APP测试方法(核心功能)测试2G/3G/4G/WiFi网络切换测试有网/无网/有网切换下应用的运行弱网测试:延时、丢包弱网场景 -- 专门工具fiddler/Charles/Qnet停用、WiFi远一点/地下室 ...支付/退款 -- 弱网环境

非功能测试–UI测试

界面测试的原则–同app

原型图、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:考虑不同机型的兼容,不仅看分辨率、屏幕尺寸、还看操作系统

小程序与H5及混合应用测试相关推荐

  1. Vue项目快速输出到小程序、H5

    uni-app是基于Vue的前端框架,开发者遵循Vue语法规范,编写一套代码,可同时编译发行到小程序.H5等多个平台:相比其他框架,优势在于直接发行,开发者无需在编译后代码上做二次开发或补充,可直接上 ...

  2. 小程序嵌套h5页面_快速小程序开发之微信小程序内嵌 H5

    简介:微信小程序中可以直接运行 web 页面,这一新组件 web-view 的产生,可能直接导致小程序数量迎来一波高峰.本篇博文将从业务选型,微信小程序后台配置,使用 web-view 完成登录业务以 ...

  3. uniapp开发:瀑布流 灵活配置 简单易用 兼容vue2vue3小程序、H5、app等多端

    概要 支持的平台 使用方式 属性说明 事件说明 组件方法 refresh的使用示例 隐藏单项图片示例 完整示例 温馨提示 关注我,不迷路 概要 custom-waterfalls-flow是一个瀑布流 ...

  4. 钉钉小程序入门2—区分小程序和H5微应用

    一.简介 在钉钉小程序入门1-区分企业内部应用.第三方企业应用.第三方个人应用一文中我解释了钉钉的三种应用以及它们的区别,以企业内部应用为例,点击创建应用按钮后会弹出了如下的弹窗: 这里有一个应用类型 ...

  5. 小程序及H5如何获取公众号code?

    之前碰到一个需求,公众号的菜单跳进小程序,前端需要获取到公众号的code传给后端来确认用户的openId,但是咱们前端如何通过小程序或者H5,来获取公众号的code呢? 通过查阅资料,我来总结一下此次 ...

  6. html5苹果x底部满屏,iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配...

    最近写小程序时,遇到了 iPhoneX 底部小黑线与内容重叠的问题,实际上是iPhoneX安全区域的适配问题,了解清楚这个问题花了挺多时间的,也实操出了结果,忍不住来总结总结. 前言 在苹果 iPho ...

  7. iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配

    最近写小程序时,遇到了 iPhoneX 底部小黑线与内容重叠的问题,实际上是iPhoneX安全区域的适配问题,了解清楚这个问题花了挺多时间的,也实操出了结果,忍不住来总结总结. 本文目录 前言     ...

  8. 小程序或H5商城内实现多店多客服的方法!

    多店多客服具备如下功能 1.对话隔离,每个商户之间的对话相互隔离: 2.多商户,每个顾客可以同时咨询多个商户: 一.小程序实现多店多客服 (不支持个人类型的小程序) 第一步:接入云客服H5 步骤:首页 ...

  9. 微信小程序嵌套h5页面怎么实现小程序支付

    微信小程序嵌套h5页面怎么实现小程序支付 小程序嵌套h5页面怎么实现小程序支付小程序中嵌套h5页面,但是不能再h5页面拉起小程序支付,这时是需要小程序方拉起支付 目前的流程,外链发送订单请求拿到预支付 ...

最新文章

  1. 「SAP技术」SAP 如何看序列号被包在哪些HU里?
  2. 孙正义:互联网流量将转化为智能AI流量,我的时代终于来了
  3. SQL Server中查看SQL句子执行所用的时间
  4. 值得期待的.Net Micro Framework 3.0
  5. memcpy, strcpy, strncpy的区别和用法
  6. 看动画学算法之:hashtable
  7. 19岁中专学历是怎么在广州找到前端工作的?
  8. pjsip视频通信开发(上层应用)之EditText重写
  9. python模拟http请求
  10. python怎么分析各个时间段的数据_Python数据分析:Python对Word数据的读写
  11. 银隆新能源:涉嫌诈骗财政资金过亿 孙国华等人被刑拘
  12. Linux-windows10下安装Ubuntu
  13. flex +overflow在firefox与edge中不生效的问题
  14. 剖析Android Traceview效率工具及两种建SDcard方式
  15. MD5算法的C++实现
  16. 编程之美第一篇 01分数规划
  17. 服务器宕机是什么意思?服务器宕机原因及解决方法
  18. Unity Bounds的理解
  19. python怎么去掉视频字幕_用Python处理字幕文件
  20. 李沐动手学深度学习V2-NLP文本预处理和代码实现

热门文章

  1. man posix_spawn
  2. (十)打包和项目部署
  3. 部署网页到华为云服务器,把网页部署到云服务器
  4. 畅谈癌症的过去现在未来
  5. OpenWrt——进行PPPoE拨号时透过路由器访问光猫的方法
  6. Matlab基于颜色的车牌识别
  7. 2356 - 成绩排序
  8. 机器学习(浙大胡浩基)
  9. 驱动VFD屏幕 / 真空荧光屏 (不完美)
  10. Elasticsearch配置拼音分词和自定义分词器