App测试要点

本文探讨了App崩溃的常见原因,如内存管理问题、兼容性、冷热启动机制,以及如何通过抓包和日志分析定位bug。对比了App测试与Web测试的差异,并介绍了PO模式和push测试的关键点,同时提到了unittest与Pytest的区别以及处理不定时弹框的方法。最后,给出了区分H5与原生页面的几种方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

App 崩溃闪退原因
  • 缓存过多
  • 运行程序过多,引起内存不足现象
  • 应用版本兼容性问题
  • 组建未加载等问题
  • 代码内部异常,空指针错误
  • SDK兼容性等问题
App的冷启动和热启动

冷启动:应用启动时后台没有该应用进程,系统会重新创建一个新的进程分配给该应用。如:清除手机内存再打开该应用

热启动:应用已经被打开,但是按下了home或返回键,可以在后台再次打开该应用

如何定位bug是App端还是服务端问题

1. 抓包分析: 通过模拟客户端请求,看服务端返回数据是否正确

2. 日志分析:查看客户端或服务端的日志,从而判断是哪块的问题

App测试和web测试有什么区别

1. 测试范围:web端一般是b/s架构,基于浏览器的,app是c/s架构,是有客户端的。web只要更新服务端,客户端就会同步更新,app端修改了服务端,那客户端所使用的核心版本都会被影响。

2. 性能测试:web关注网页响应时间,app除了响应时间,还要关注流量电量,CPU,内存的占用等等

3. 兼容测试:web会测不同浏览器,app测试依赖于手机的客户端,分辨率,屏幕尺寸,系统版本。app还多了一些专项测试,异常场景:弱网测试,中断来电短信关机等,安装卸载更新等测试。

App兼容性测试

1. 硬件设备兼容:市面主流,统计类大数据网站获取手机占有率

2. 操作系统兼容:操作系统市场占有率

3.分辨率兼容:主流屏幕分辨率,屏幕尺寸

4.网络兼容:不同网络运营商

自动化的PO模式

PO模式是指page object, 有三层:对象层,页面层,操作层

对象层:封装元素定位方法

操作层:封装元素的特定操作

业务层:把一个或多个操作组合成具体的业务,实现具体的功能测试

eg:登陆页面
①实现basepage基类,主要实现driver的获取,通过driver可以进行相关的操作,
②根据basepage基类实现对象层,封装登陆页面的元素定位,封装定位用户名,密码,确认按钮的定位方式
③根据封装定位方法封装他们的操作,例如输入用户名和密码,点击确认按钮
④根据封装loginpage页面和操作类,实现登陆的方式

App的push推送测试点

1.触发场景是什么

2.推送消息内容是否正确

3.push推送用户是否正确,部分推送,全部推送,指定用户推送

4.push推送消息的点击跳转是否正常

5.app前台运行或后台运行,用户是否都能收到push消息

6.未登录用户是否能接收到push消息

7.用户长时间未登录,后续登录时是否会收到历史推送消息

Pytest与unittest的区别

1.unittest兼容性更稳定,pytest在安装时可能会出现与python版本兼容性的问题

2.unitest都是以类的方式编写的,都要继承unitest.Testcase。pytest支持函数和类两种方式,并且pytest有conftest.py这个文件来支持全局的共享,前置和后置。

3.用例识别和收集上,unitest利用test suite和test load来制动收集和加载用例,pytest时依据pytest.ini的规则即可自动识别用例

4.用例分类和筛选上面,unitest筛选用例比较麻烦,pytest可以通过mark打标记实现用例筛选

5.数据驱动上,unitest需要借助ddt库实现,pytest可以通过pytest.mark.parametrize来实现

6.功能增强方面,失败截图,失败重试,多进程,线程执行等,unitest需自定义和二次开发,pytest有对应插件或hook函数直接使用

自动化如何处理app的不定时弹框

1. 启动线程,监听弹框元素,确定取消等等,每隔0.5s查找元素,如果有就点掉

2.在所有操作前增加弹框识别

怎么区分App上面H5和原生页面

1. 断开网络,如果显示404或错误页面,说明就是一个H5

2.查看页面布局,手机设置中有一个开发者选项,开启显示布局边界,进入另一个app查看布局的界面,都是原生的话可以看到各个控件的布局,H5是整个页面的一个边界

3.长按界面,如果出现特殊标记,放大镜,复制,粘贴等,就表示是H5

4.页面有加载线条-H5

5.App顶部导航栏有关闭图标的话-H5

6.下拉页面,显示网页提供方 - H5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值