APP测试要点有哪些?本文已经给你梳理好了!

我们日常购物、旅游、支付等活动都离不开手机,由此衍生了很多APP。

比如每天使用频率非常高的微信、支付宝、微博、抖音、王者荣耀等等。

APP测试主要进行功能测试、性能测试、自动化测试、安全性测试、兼容性测试、专项测试。

01 APP测试流程

APP测试流程与web测试流程类似,分为如下七个阶段:

1.根据需求说明书编写测试计划;

2.制定测试方案,主要是测试任务、测试人员和测试时间的分配;

3.测试准备,包括搭建测试环境,准备测试数据,确定测试方法;

4.测试用例的设计与编写,进行用例评审及补充完善;

5.执行测试时首先进行冒烟测试,然后对主功能流程进行测试,包括客户端的单个功能模块,及功能业务逻辑功能交互,回归测试;

6.提交测试结果,包括测试用例,测试计划;

7.日常维护性测试;

02 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的性能。

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

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

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

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

相关文章

flask 之上传与下载

from flask import Flask, render_template, request, send_from_directory, redirect, url_for import osapp Flask(__name__)# 上传文件存储路径 UPLOAD_FOLDER uploads app.config[UPLOAD_FOLDER] UPLOAD_FOLDERapp.route(/) def index():# 确保上传文件夹存在if not os.…

理解按需自动导入 unplugin-auto-import unplugin-vue-components

文章目录 unplugin-auto-import基础使用构建工具引入插件配置插件 import:配置自动导入规则使用预设自动引入第三方库自动导入 TypeScript 类型vue 预设的自动导入配置 dts:让编辑器环境识别 ts 类型eslintrc:解决 eslint 检查错误dirs&#…

毕业单纯的钻研嵌入式知识有前景吗?

今日话题,毕业单纯的钻研嵌入式知识有前景吗?嵌入式领域的薪资相对一般,但有着巨大的上升空间。然而,嵌入式开发的学习路径可能相对曲折。其中,理解计算机结构是其中之一的挑战,因为嵌入式系统对稳定性要求…

MyBatis见解2

5.MyBatis的原始Dao开发-了解 使用Mybatis开发Dao,通常有两个方法,即原始Dao开发方式和Mapper接口代理开发方式。而现在主流的开发方式是接口代理开发方式,这种方式总体上更加简便。我们的课程讲解也主要以接口代理开发方式为主。在第4节已经…

一个很好用的Docker可视化管理工具

目录 前言Portainer安装部署使用 前言 一个好的docker可视化管理工具,可以提升我们不少的工作效率,下面我就推荐一个我使用过的,感觉很不错的一个可视化管理工具给大家 Portainer Portainer是一个开源的Docker管理工具,提供了容…

前端手动部署与自动化部署

连接服务器 先购买服务器 安装vscode插件 连接服务器 连接成功 手动部署 安装nginx 启动nginx systemctl start nginx systemctl status nginx systemctl enable nginx启动 检查状态 开机就启动nginx 开始手动部署 配置nginx 成功

数据库学习日常案例20231221-oracle libray cache lock分析

1 问题概述: 阻塞的源头为两个ddl操作导致大量的libray cache lock 其中1133为gis sde的create table as语句。 其中697为alter index语句。

【贪心】最优装载问题Python实现

文章目录 问题描述形式化描述 贪心算法贪心选择性质最优子结构性质 时间复杂性Python实现 个人主页:丷从心 系列专栏:贪心算法 问题描述 有一批集装箱要装上一艘载重量为 c c c的轮船,其中集装箱 i i i的重量为 w i w_{i} wi​在装载体积不受…

QT打包exe文件,在其它电脑里双击exe就可以直接运行

想要不依赖QT环境,在其它电脑里直接双击exe文件就可以运行当前程序。具体打包过程如下: 使用QT编译出release版本的exe release版本运行无误后,需要找到当前构建生成的exe所在文件夹 可以看到具体目录在这里 我在该目录下的bin文件夹里找到…

数据结构学习 Leetcode300最长递增子序列

是我在学习动态规划时遇到的一道题。 题目: 一共有两种解法: 动态规划贪心 二分(很难理解,我还没完全懂。。。) 解法一:动态规划 思路: 状态:nums的前i个数的最长递增子序列。dp…

ZKP Pasta Curves

Mina book[https://o1-labs.github.io/proof-systems/specs/pasta.html?highlightpasta#pasta-curves]学习笔记 Pasta Curves Pasta Curves is a fascinating innovation in cryptography designed by Zcash. What are the Pasta Curves The Pasta Curves are a pair of e…

Codeforces Round 916 (Div. 3)

Codeforces Round 916 (Div. 3) A. Problemsolving Log 题意:竞赛中有26个问题需要解决,每个问题名称为A到Z26个英文字母,按难度排序,做出A需要花费1分钟,B需要花费2分钟…以此类推。现在给出一个字符串表示竞赛日志…

【SpringBoot快速入门】(4)SpringBoot项目案例代码示例

目录 1 创建工程3 配置文件4 静态资源 之前我们已经学习的Spring、SpringMVC、Mabatis、Maven,详细讲解了Spring、SpringMVC、Mabatis整合SSM的方案和案例,上一节我们学习了SpringBoot的开发步骤、工程构建方法以及工程的快速启动,从这一节开…

js禁止打开控制台,如何强行打开控制台?

当我在查看某个网站的源码时,按F12会跳转到百度页面,或者先打开F12再输入网站也会进入到百度首页。 首先我们要关闭控制台进入到这个网站的首页,然后右键查 看网站的源码。 1.找到这个js文件,点进去。 2.点击这个js文件之后&a…

mysql:查看服务端没有睡眠的线程数量

使用命令show global status like Threads_running;可以查看服务端没有睡眠的线程数量。 例如:

Open3D 最小二乘拟合平面(直接求解法)

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。爬虫自重。 一、算法原理 平面方程的一般表达式为: A x + B y + C z

108基于matlab的使用模拟退火 (SA) 求解并行机器调度的程序

基于matlab的使用模拟退火 (SA) 求解并行机器调度的程序,程序已调通,可直接运行。 108 matlab模拟退火 (SA) (xiaohongshu.com)

革命性突破:Great River推出XL高速ARINC 818传感器测试卡

Great River Technology荣幸地宣布,与RVS(远程视觉系统)2.0平台合作推出的XL高速ARINC 818传感器测试卡正式亮相。这款开创性的测试卡在柯林斯航空电子公司(RTX业务部)和波音公司开发和测试RVS 2.0系统中发挥了重要作用…

动态内存分配

为什么存在内存开辟 我们掌握的内存开辟方式有 int val 20;//在栈空间上开辟四个字节 char arr[10] {0};//在栈空间上开辟十个连续的内存空间 但是上述开辟空间的方式有两个特点:1.空间开辟大小是固定的。 2.数组在申明的时候,必须指明数…

LCR 183. 望远镜中最高的海拔

解题思路&#xff1a; class Solution {public int[] maxAltitude(int[] heights, int limit) {if(heights.length 0 || limit 0) return new int[0];Deque<Integer> deque new LinkedList<>();int[] res new int[heights.length - limit 1];// 未形成窗口for…