Hybrid App的测试复杂度远高于纯Native或纯H5应用,原因在于同时存在两套运行环境:Native原生层与WebView中的H5层且两者通过桥接机制进行双向通信。测试须围绕分层验证加跨层交互验证来构建。
一、功能测试
原生侧:安装、卸载、覆盖安装、启动、登录、注册、权限申请、推送、定位、相机、相册、扫码、通讯录、蓝牙、剪贴板、文件读写、分享、支付。
H5侧:页面路由、表单提交、列表分页、搜索、筛选、弹窗、跳转、刷新、返回、登录态保持、支付流程、数据展示、JS 报错。
混合交互:原生跳 H5、H5 跳原生、H5内嵌原生组件、原生调用 JS、JS 调用原生、回调是否正常、失败是否有降级。
登录态同步:原生登录后 H5 是否免登,H5登录后原生是否同步,token 过期、刷新、退出登录是否一致。
支付与分享:H5发起支付、原生调起支付、支付后回跳、分享到微信/QQ/微博后回跳、取消和失败处理。
文件与媒体:H5选择文件、调用相机、上传图片、下载文件、预览、保存到本地。
路由与返回:原生返回键、手势返回、H5路由返回、多级页面栈是否错乱,是否直接退出 App。
二、兼容性测试
操作系统:iOS、Android、鸿蒙各版本,厂商 ROM 如华为、小米、OPPO、vivo、荣耀、三星。
WebView内核:Android System WebView、Chrome、X5、UC、Safari、WKWebView,不同内核版本差异。
设备:不同屏幕尺寸、分辨率、刘海屏、挖孔屏、折叠屏、平板、横竖屏。
App 容器:自家 App、微信、支付宝、抖音、外部浏览器。
显示模式:深色模式、字体大小、语言、时区、无障碍。
网络环境:2G/3G/4G/5G、WiFi、弱网、断网、网络切换、代理、VPN、IPv6。
三、性能测试
启动性能:App 启动时间、WebView 初始化时间、首屏白屏时间、H5 首屏加载时间。
渲染性能:FCP、LCP、TTI、滚动帧率、卡顿、掉帧、长列表。
资源性能:图片压缩、懒加载、CDN、预加载、离线包、缓存命中率。
JSBridge性能:调用耗时、频繁通信、大数据传输、同步调用阻塞。
稳定性:长时间运行、内存泄漏、WebView 崩溃、OOM、ANR、闪退。
监控:原生崩溃监控、H5 前端监控、APM、日志、埋点。
四、网络与缓存
弱网:超时、重试、降级、错误提示、请求合并、断点续传。
断网:离线页面、离线包、本地缓存、恢复网络后自动刷新。
缓存:HTTP缓存、Cookie、LocalStorage、SessionStorage、IndexedDB、Service Worker。
更新:H5资源版本、离线包更新、增量更新、清缓存、缓存回滚。
安全:HTTPS、证书校验、防劫持、DNS安全、混合内容。
五、JSBridge测试
方法注册、调用、回调、同步/异步、超时、错误码。
参数类型、JSON 序列化、特殊字符、空值、大数据、并发调用。
权限校验、安全限制、注入攻击、URL Scheme、Deep Link、Universal Link。
多WebView、多页面、前后台切换、生命周期。
原生返回键、物理返回、手势返回与 H5 路由是否冲突。
JSBridge失败时是否有兜底方案,是否会导致白屏或卡死。
六、安全测试
WebView 安全:JS 注入、XSS、CSRF、URL 白名单、域名校验、禁止 file 协议、allowFileAccess、JS 启用控制。
JSBridge 安全:越权调用、暴露敏感接口、签名校验、参数校验。
数据传输:HTTPS、证书绑定、敏感信息加密、日志脱敏。
本地存储:token、Cookie、LocalStorage是否安全。
页面劫持、钓鱼、恶意跳转、第三方SDK风险。
权限最小化:相机、定位、存储、通讯录。
加固、混淆、反调试、防截屏、隐私合规。
七、UI/UX 与交互
原生与 H5 风格一致性、加载态、骨架屏、错误页、空态。
页面跳转动画、导航栏、状态栏、键盘遮挡、输入框。
触摸事件、滚动、滑动冲突、长按、手势。
弹窗、Toast、Loading、权限申请。
深色模式、字体缩放、无障碍。
八、安装、升级与发布
安装、卸载、覆盖安装、升级、灰度、热更新。
H5 资源版本、离线包更新、回滚。
渠道包、签名、应用市场合规。
隐私政策、权限声明、SDK 合规。
九、专项与中断测试
来电、短信、闹钟、低电量、锁屏、后台、杀进程。
多任务、分屏、画中画、悬浮窗。
推送通知跳转 H5 或原生。
分享、支付、登录第三方回调。
埋点、统计、日志、崩溃上报。
十、测试工具与策略
分层:原生层、WebView 层、JSBridge 层、H5 业务层。
真机、模拟器、云真机结合。
抓包:Charles、Fiddler、Whistle、Wireshark。
调试:Safari Web Inspector、Chrome Remote Debugging、vConsole、Flipper。
自动化:Appium、Airtest、Selenium、WebDriverIO、Chrome DevTools Protocol。
云测:WeTest、Testin、Firebase Test Lab、BrowserStack。
监控:Sentry、Bugly、Firebase Crashlytics、APM。
优先级
P0:主要功能、JSBridge、兼容性、弱网、安全。
P1:性能、UI/UX、安装升级、缓存离线包。
P2:专项中断、埋点、无障碍、深度兼容。