H5页面这样测试,让Bug无处可逃!

部门最近的H5相关项目挺多的,由于团队之前接触的大多是Web项目,很少涉及H5,想着给团队成员培训下,减少漏测率,于是整理了一个文档。

别说,效果还挺不错的,连着上线6个版本,都没有收到业务方反馈Bug,好东西不能独享,分享给大家,希望对大家有所启发。

一、功能测试

1、业务逻辑

与Web测试一样,参照产品原型,把业务逻辑都覆盖一遍即可。H5页面也能在PC端访问,Chrome对H5支持最好,功能相关的测试可以在PC端Chrome下先测试,也可以直接在手机上测试。

2、登录授权

浏览器打开时,需要登录;客户端内打开时,如果已经登录,则无需再登录,如果未登录,则需要登录授权。

3、翻页

需要测试1页或多页的场景,数据分页加载时,注意后面加载的数据是否正确;

注意在快速操作场景中,请求页数是不是依次递增,例如在第一页还没有加载出来的时候继续做上拉操作,看请求是否发出去了。

4、页面返回

页面返回或者手机自带返回键(安卓物理键返回/IOS左滑返回),点击一次和点击多次,按期望返回上一页,不会出现死循环,不会直接退回App主界面。

5、页面刷新

刷新后,页面的数据应该展示为刷新后的数据,且还是处于当前页面。

6、分享

分享链接,被分享者打开查看,页面需要正常显示。

7、手机操作

手指滑动:手指滑动流畅,点击时焦点定位正确;

手机锁屏:锁屏之后再打开,还是保留锁屏之前的页面,不会自动退出;退到后台,再重新呼出在前台展示。

8、缓存

手机浏览器也有缓存,有些图片和文件会被缓存下来,导致首次访问和二次访问的时间不一样,在测试过程中,注意清除缓存。

二、界面UI测试

页面符合需求,与原型文档或UI设计效果图保持一致。

注意点:

1、字段长度自适应

有些字段例如公司名称,在手机上最好能根据屏幕自适应而不是截断,由于手机上不会有tips,截断后会显示不全。

2、弹框

比如点击弹出层,不会穿透影响到下面的页面。

3、浮层

对于有浮层的页面,例如地图和产品等,拖动后不可以看到其下面的页面,拖动后边缘不会留白。

4、页面

弱网情况下数据加载较慢时,会有提示信息;

接口获取异常时,有合理的提示信息;

刷新页面或者加载新的内容时,页面会有抖动效果。

三、兼容性测试

1、浏览器兼容

覆盖手机主流浏览器:QQ、UC、百度等;

覆盖Android和IOS自带浏览器:Chrome,Safari等。

2、系统兼容性

覆盖当前Android和IOS主流的版本。

3、屏幕兼容性

覆盖不同大小的屏幕,包括横竖屏的适配。

测试过程中可以组合测试,例如主流操作系统+常用浏览器,这样更省时。

四、网络测试

1、有网/无网切换

切换网络,页面能正常展示

2、2G/3G/4G/5G/WiFi网络的切换

切换网络,页面能正常展示

3、弱网测试

例如延时或丢包等等,页面能正常展示

五、安全测试

1、常见的安全漏洞

与Web安全测试一样,看是否存在sql注入,csrf,xss等漏洞。

2、投放渠道

明确在哪些渠道投放,未投放的渠道做限制。

3、**

接口部分敏感信息是否**传输等。

六、性能测试

1、服务器性能测试

直接给接口在压测,与Web测试方法一样的。

2、客户端性能测试

1)加载速度

页面的首屏时间,白屏时间,有缓存/无缓存的时间等等。

2)系统资源占用

CPU,内存,流量,电量等等的占用情况。

优化点:

a、资源做压缩

b、数据较多市,做分页处理

c、对于不会变化的图片,可做本地缓存

d、页面中的图片,本着一个原则,尽量缩小大小

f、反复访问的页面,检查是否占用大量内存

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/263856.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自动化边坡监测设备是什么?

随着科技的不断进步,我们的生活和环境也在不断地发生变化。然而,自然灾害仍然是我们无法完全避免的风险。其中,边坡滑坡就是一种常见的自然灾害。为了保护人民的生命财产安全,科学家们研发出了自动化边坡监测设备。 WX-WY1 自动化…

Pytorch-RealSR超分模型

1.前言 RealSR 是一种基于学习的单图像超分辨率(SISR)模型,专门针对真实世界的图像。它由腾讯 AI 实验室于 2020 年提出。 RealSR 的核心创新是提出了一种新的退化模型,该模型能够更好地模拟真实世界的退化过程。该模型考虑了真实…

多臂老虎机算法步骤

内容导航 类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统…

毅速:3D打印随形冷却水路助力模具行业降本、提质、增效

随着模具行业的不断发展,模具制造的精度和效率已经成为企业核心竞争力的重要组成部分。为了满足市场需求,模具行业一直在寻求新的制造技术和方法。3D打印技术的出现,为模具行业带来了革命性的变革。其中,3D打印随形冷却水路的应用…

Ubuntu 常用命令之 clear 命令用法介绍

📑Linux/Ubuntu 常用命令归类整理 clear命令在Ubuntu系统下用于清除终端屏幕的内容。这个命令没有任何参数,它的主要作用就是清理终端屏幕上的所有信息,使得屏幕看起来像是新打开的一样。 使用clear命令非常简单,只需要在终端中…

Day68力扣打卡

打卡记录 得到山形数组的最少删除次数&#xff08;线性DP 前后缀分解&#xff09; 链接 class Solution:def minimumMountainRemovals(self, nums: List[int]) -> int:n len(nums)pre, suf [1] * n, [1] * nfor i in range(n):for j in range(i):if nums[j] < nums[…

Liteos移植_STM32_HAL库

0 开发环境 STM32CubeMX(HAL库)keil 5正点原子探索者STM32F4ZET6LiteOS-develop分支 1 STM32CubeMX创建工程 如果有自己的工程&#xff0c;直接从LiteOS源码获取开始 关于STM32CubeMX的安装&#xff0c;看我另一篇博客STM32CubeMX安装 工程配置 创建新工程 选择芯片【STM32F…

16 寻找特定高度的地点

搜索二维数组 #include <iostream> using namespace::std; using std::cout; using std::cin; int main() {int n,m,target;cin >> n >> m;int matrix[n][m];for(int i0; i<n; i){for(int j0; j<m; j){cin >> matrix[i][j];}}cin >> tar…

求职方略-倒金字塔型自我介绍

第一步,开头第一句话提纲挈领,点出你的主要“卖点” 自我介绍的第一句话很重要,要有足够的吸引力,有足够的信息量,还要有足够的说服力,能产生先声夺人的效果。 一般的自我介绍喜欢按照时间线索依次介绍自己的经历,例如:“我大学毕业后就进入一家大公司的研发中心,工…

Ubuntu环境下使用Livox mid 360

参考文章&#xff1a; Ubuntu 20.04使用Livox mid 360 测试 FAST_LIO-CSDN博客 一&#xff1a;Livox mid 360驱动安装与测试 前言&#xff1a; Livox mid360需要使用Livox-SDK2&#xff0c;而非Livox-SDK&#xff0c;以及对应的livox_ros_driver2 。并需要修改FAST_LIO中部…

「Verilog学习笔记」自动售卖机

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 timescale 1ns/1nsmodule sale(input clk ,input rst_n ,input sel ,//sel0,5$dranks,sel1,10&$drinksinput …

PostgreSQL PG的多版本并发控制

本文为云贝教育 刘峰 原创&#xff0c;请尊重知识产权&#xff0c;转发请注明出处&#xff0c;不接受任何抄袭、演绎和未经注明出处的转载。【PostgreSQL】PG的缓存管理器原理 - 课程体系 - 云贝教育 并发是一种当多个事务在数据库中并发运行时维护原子性和隔离性的机制&#x…

基于vue-advanced-chat组件自义定聊天(socket.io+vue2)

通过上一篇文章https://blog.csdn.net/beekim/article/details/134176752?spm=1001.2014.3001.5501, 我们已经在vue-advanced-chat中替换掉原有的firebase,用socket.io简单的实现了聊天功能。 现在需要自义定该组件,改造成我们想要的样子: 先将比较重要的几块提取出来 …

【C++】可变参数模板使用总结(简洁易懂,详细,含代码演示)

前言 大家好吖&#xff0c;欢迎来到 YY 滴C系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的《Linux》…

[微服务 ]微服务集成中的3个常见缺陷,以及如何避免它们

微服务风靡一时。他们有一个有趣的价值主张&#xff0c;即在与多个软件开发团队共同开发的同时&#xff0c;将软件快速推向市场。因此&#xff0c;微服务是在扩展您的开发力量的同时保持高敏捷性和快速的开发速度。 简而言之&#xff0c;您将系统分解为微服务。分解并不是什么新…

机器学习 | 聚类Clustering 算法

物以类聚人以群分。 什么是聚类呢&#xff1f; 1、核心思想和原理 聚类的目的 同簇高相似度 不同簇高相异度 同类尽量相聚 不同类尽量分离 聚类和分类的区别 分类 classification 监督学习 训练获得分类器 预测未知数据 聚类 clustering 无监督学习&#xff0c;不关心类别标签 …

『番外篇五』SwiftUI 进阶之如何动态获取任意视图的 tag 和 id 值

概览 在某些场景下,我们需要用代码动态去探查 SwiftUI 视图的信息。比如任意视图的 id 或 tag 值: 如上图所示:我们通过动态探查技术在运行时将 SwiftUI 特定视图的 tag 和 id 值显示在了屏幕上。 这是如何做到的呢? 在本篇博文,您将学到如下内容: 概览1. “如意如意,…

【C语言】指针详解(三)

1.指针运算 指针的基本运算有三种&#xff0c;分别是:⭐指针-整数 ⭐指针-指针 ⭐指针的关系运算 1.1指针 - 整数 因为数组在内存中是连续存放的&#xff0c;只要知道第一个元素的地址&#xff0c;顺藤摸瓜就能找到后面的所有元素。 int arr[10]{1,2,3,4,5,6,7,8,9,10} #inc…

Python to_numeric函数参数解读与最佳实践!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com Python中的to_numeric函数是pandas库提供的一个强大而灵活的工具&#xff0c;用于将数据转换为数字类型。本文将深入探讨to_numeric函数的各种参数和用法&#xff0c;通过丰富的示例代码帮助大家更全面地理解和运…

Web自动化测试工具的优势分析

Web自动化测试工具在现代软件开发中扮演着关键的角色&#xff0c;帮助团队确保Web应用程序的质量和稳定性。然而&#xff0c;选择合适的Web自动化测试工具对项目的成功至关重要。本文将介绍Web自动化测试工具优势是什么! 1. 自动化执行 Web自动化测试工具能够模拟用户的行为&am…