APP功能测试思路

一、首先我们拿到一个app的apk包 或者是在testflight下载的app安装包,需要进行安装测试

1.软件安装前:空间不足是否有相应的提示

2.软件安装中:安装过程中是否可以取消、暂停;安装是否可以正常进行;安装空间不足是否给予提示

3.软件安装后:是否可以卸载应用,通过桌面卸载或者通过软件设置卸载;卸载是否支持取消功能,取消后是否影响软件的正常卸载;安装完成后是否自动删除安装包;重复安装提示版本已存在、或者是直接覆盖安装,但是能正常使用。

二、安装后的app 需要随着迭代版本的更新需要进行升级测试

1、升级之前:当客户端有新版本时,是否有更新提示

2、升级之后:立即更新当前版本,正常升级,升级之后,新版本正常使用

3、非强制升级版本:用户可以取消更新,老版本能够正常使用,用户在下次启动app时,仍能出现更新提示

4、强制升级版本:用户不更新app,则无法使用此app;下次用户如果再次登录app,则仍然进行强制升级。强制升级后,新版本正常使用。–主要用于游戏app

5、在线跨版本升级:通过运营数据分析用户使用量最多的版本,没有则可以选择最近5-6个版本;升级之后,新版本正常使用

6、版本升级测试覆盖的范围有哪些——老功能+新需求;1)新需求,详细测试;2)保证老功能正常使用

三、app功能测试,也就是app产品设计所需要实现的功能业务逻辑

1.根据产品的需求文档进行用例设计并评审后,执行测试用例验证业务逻辑的正确性

2.依据业务逻辑验证数据的正确性,比如订单数据、支付数据、提现数据等

四、app的安全测试

1.安全性测试–权限测试,登录鉴权,界面敏感数据加密

2.扣费风险:包括发送短信、拨打电话、连接网络,没有网络时能否提醒===友好提示

3.隐私泄露风险:包括访问手机信息、访问联系人信息等

4.是否允许访问相册、拍照开放权限+不权限权限、是否允许录音、是否允许定位、是否允许接收通知推送

五、app兼容性测试

1.应用是否可以在不同的操作系统上使用(Android和ios),每个系统还有不同的版本

2.应用是否能够适配各种屏幕尺寸、分辨率的适配,分辨率影响图标、文字大小、保证主流分辨率下页面显示完整,文字不被遮挡

3.总结:选取市面上主流的机型的进行兼容性测试

六、app弱网测试

1.测试2G/3G/4G/5G/WIFI网络的切换,从wifi环境切换到4G环境,提示是否启用4G网络,会产生扣费是否有提醒

2.测试有网/无网切换:有网到无网再到有网,数据是否可以自动恢复,正常加载;无网络时,各种提示信息是否友好

3.弱网测试(延时+丢包):关注弱网场景下超时是否有合理的提示,且是否有重发机制;提交数据是否一直处理提交中,是否会有延迟,数据交换失败是否会有提醒;数据多次提交(支付类app),是否只能被执行一次

七、app性能测试

1.app各类功能性操作的响应时间(后台服务器的性能)

2.压力稳定性测试(例如:monkey)

3.cpu占用情况

4.内存占用情况

八、app的push消息测试

1.开关设置:默认状态全部打开状态/安装后弹窗提醒选择,客户端可以接受到推送信息;设置开关可以打开、关闭;app设置开关关闭时,客户端接受不到消息推送

2.手机客户端未锁屏时:app应用后台运行,消息推送是否可以正常接受,且可以点击查看;主界面或者正在使用别的app,点击消息,跳转到app;应用前台使用,可以收到消息提醒,点击可以查看

3.手机客户端锁屏时:消息推送是否正常接受,提示音、亮屏、中间列表展示;点击消息推送,先解锁,解锁后跳转到app等

4.登录状态:退出登录后,是否接受消息推送(根据需求来看消息是否推送。

总结一下,在我们的app测试日常中,其实最重要的是app的功能测试、app的兼容性测试(因为世面上的机型众多是需要去覆盖主流机型及操作系统),另外一点就是重点关注app的性能

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

将yolov8-face里的模型导出到指定opset11

https://github.com/derronqi/yolov8-face 解决办法: 1. 导出前 1 报错内容 (Tensor input, Tensor weight, Tensor bias, tuple of ints stride, tuple of ints padding, tuple of ints dilation, int groups) didnt match because some of the arguments have invalid typ…

2.Ansible的copy模块,我最常用的模块

1. 简述 先从我自身的情况来说,我不是运维人员,并且对linux操作也不是特别熟悉,所以工作中我使用ansible基本就是在平常的自动化部署中,而使用最多的模块就是copy模块。我使用copy模块也主要是来替换生产环境的配置文件。所以&am…

rabbitMQ镜像队列的使用

在rabbitMQ集群中,默认发送消息时,队列默认时在一个节点上存在的。 我们以node01 node02 node03三节点集群为例,在node01声明队列发送消息后,发现: 测试队列只在节点node01上出现。 我们手动停止node01后&#xff0c…

Tomcat外传

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 本篇开始,我…

vue中data为什么是一个函数

vue中的data是一个对象类型,对象类型的数据是按引用传值的,这就会导致所有组件的实例都共享同一份数据,这是不对的,我们要的是每个组件实例都是独立的 为了解决对象类型数据共享的问题,我们需要将 data 定义成一个函数…

C++11线程以及线程同步

C11中提供的线程类std::thread,基于此类创建一个新的线程相对简单,只需要提供线程函数和线程对象即可 一.命名空间 this_thread C11 添加一个关于线程的命名空间std::this_pthread ,此命名空间中提供四个公共的成员函数; 1.1 get_id() 调用命名空间s…

Python自动化测试——元素定位

1.selenium简介 Selenium是一个用于Web应用程序测试的工具。Selenium是直接运行在浏览器中,模拟用户操作web界面。支持多平台:windows、linux、MAC ,支持多浏览器:ie、firefox、chrome等浏览器。 2. 启动浏览器 # 导入webdrive…

JavaWeb服务器详解和后端分层解耦

JavaWeb HTTP协议请求数据格式响应数据格式协议解析 Web服务器请求响应请求参数的接收响应 分层解耦IOC&DI入门IOC详解 HTTP协议 超文本传输协议,规定了浏览器和服务器之间数据传输的规则 特点: 基于TCP协议:面向连接,安全 …

【Android知识笔记】架构专题(二)

分层架构概论 分层的依据是什么? 关注点分离:自下而上,从机器到用户,从抽象到具体,从通用到业务,每一层,各自关注各自的抽象层次。修改与影响:不同层之间的代码或技术方案修改,彼此互不影响。例如 UI 界面从 xml 布局改成 Jetpack Compose 之后,不应该影响数据层。换…

【android开发-03】android中Intent的用法介绍

1,Intent的作用 在Android开发中,Intent的使用非常广泛,包括启动Activity、启动Service、发送广播等。是各组件间交互的一种重要方式,他不仅可以指明当前组件想要执行的动作,还可以在不同组件间传递数据。 Intent可以…

kafka中的常见问题处理

文章目录 1. 如何防⽌消息丢失2. 如何防⽌重复消费3. 如何做到消息的顺序消费4. 如何解决消息积压问题4.1 消息积压问题的出现4.2 消息积压的解决⽅案 5. 实现延时队列的效果5.1 应用场景5.2 具体方案 1. 如何防⽌消息丢失 ⽣产者:1)使⽤同步发送 2&…

thinkphp 判断当前页 导航条高亮等方法

ACTION_NAME等表示全局变量,表示当前页面的操作方法 APP_NAME // 当前项目名称 MODULE_NAME //当前模块名称 ACTION_NAME // 当前操作名称 当然,也可以在控制器中,自己定义变量,比如 $this->assign(‘nav’, ‘cp’); 用法示例 <li <if condition" (ACTION_NA…

uniapp使用u-checkbox

当使用uni-app开发时&#xff0c;可以使用u-checkbox组件来实现复选框功能。以下是一个更详细的例子&#xff0c;展示如何在uni-app中使用u-checkbox组件&#xff0c;并介绍一些相关的API用法。 首先&#xff0c;确保已经安装并引入了u-checkbox组件。可以通过在页面的<tem…

NetApp EF 系列全闪存存储,为实时分析、HPC 和数据库等性能敏感型工作负载提供助力

NetApp EF 系列全闪存存储 如果您需要为实时分析、HPC 和数据库等性能敏感型工作负载提供强劲动力&#xff0c;NetApp EF 系列全闪存存储的性价比优势不言自明。其可为要求最苛刻的应用程序提供微秒级响应&#xff0c;最大限度地延长正常运行时间并提供 99.9999% 的可靠性。 为…

Maya 2024(3D建模、动画和渲染软件)

Maya 2024是一款非常强大的3D建模、动画和渲染软件&#xff0c;它提供了许多新功能和改进&#xff0c;以帮助建模师、动画师和渲染师更加高效地进行创作。 在建模方面&#xff0c;Maya 2024引入了Symmetry&#xff08;对称&#xff09;功能&#xff0c;可以在网格两侧生成均匀…

学习笔记三十六:通过Ingress-nginx实现灰度发布

通过Ingress-nginx实现灰度发布 灰度发布原理将新版本灰度给部分用户切一定比例的流量给新版本 部署两个版本的服务以 nginx 为例&#xff0c;先部署一个 v1 版本:部署一个 v2 版本再创建一个 Ingress&#xff0c;对外暴露服务&#xff0c;指向 v1 版本的服务:访问验证 基于 He…

智能井盖位移报警器效果一览,感知井盖异常

井盖位移是指井盖在受到外力作用下产生的位置移动。这种现象通常发生在道路颠簸、车流量较大或地下管道受压较大的区域&#xff0c;当然也不排除会出现在一些角落内。当井盖发生位移或倾斜时&#xff0c;不仅会影响城市内道路的通行&#xff0c;还会给行人和车辆带来安全隐患。…

1056 Mice and Rice

题意&#xff1a;给定一组选手&#xff0c;按一定顺序将这些选手进行分组竞赛&#xff0c;每组的最大值为优胜者&#xff0c;进入下一轮分组再进行竞赛&#xff0c;直到选出最大值。然后输出每个选手的rank。 坑点&#xff1a;每个选手的rank为该轮竞赛选出的优胜者数1&#x…

web:catcat-new(文件包含漏洞、flask_session伪造)

前提知识 /etc/passwd 该文件储存了该Linux系统中所有用户的一些基本信息&#xff0c;只有root权限才可以修改。其具体格式为 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell&#xff08;以冒号作为分隔符&#xff09; /proc/self proc是一个伪文件系统…

【前缀和]LeetCode1862:向下取整数对和

本文涉及的基础知识点 C算法&#xff1a;前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 作者推荐 动态规划LeetCode2552&#xff1a;优化了6版的1324模式 题目 给你一个整数数组 nums &#xff0c;请你返回所有下标对 0 < i, j < nums.length 的 …