APP测试常见功能测试点汇总,赶紧来记笔记

news2024/11/27 12:36:14

目录

1、安装和卸载

2、运行

3、注册和登录

4、日历控件

5、权限设置

6、软件更新 

7、网络环境

8、兼容性测试:  

9、异常测试  


1、安装和卸载

安装和卸载是任何一款APP中都属于最基本功能。一旦出错,就属于优先级为紧要的BUG。因此APP的安装和卸载应作为一个测试点多加重视。

  1 应用是否可以正常安装(命令行安装;豌豆荚/手机助手等第三方软件安装;apk/ipa安装包安装
  2 应用是否可以在iOS和Android不同系统,版本,机型上进行安装(有的系统版本过低,应用不能适配)
  3 安装过程中是否能暂停,再次点击,是否能继续安装
  4 安装空间不足时如何表现,是否有相应提示,提示是否友好
  5 安装过程中断网或网络不稳定的情况下,是否有相应提示,以及网络恢复后是否能继续安装
  6 是否可以正常删除应用(桌面删除;第三方软件删除;命令行删除)
  7 应用卸载后所有的安装文件夹是否全部删除
  8 卸载过程中出现死机,断电,重启等意外的情况,等待环境恢复后是否可以继续正常卸载
  9 卸载是否支持取消功能,单击取消后软件卸载情况是否正常

APP自动化测试视频教程:2023年,你一定要学会的APP自动化测试项目实战_哔哩哔哩_bilibiliicon-default.png?t=N3I4https://www.bilibili.com/video/BV13g4y1G7QC/?spm_id_from=333.999.0.0

              

 

2、运行

  1 软件安装后需要检查应用是否能正常运行:
  2 APP安装完成后,是否可以正常打开,稳定运行
  3 APP的速度是可以让人接受,切换是否流畅
  4 网络异常时,应用是否会崩溃:在请求超时的情况下,如果程序逻辑处理的不好,就有可能发生Crash。

3、注册和登录

用户注册和登录功能是很多APP产品最基础的构成之一,而主流的登录页面大致分为三种:(1)账号密码注册登录;(2)手机号注册登录;(3)第三方授权登录。本文针对前两种注册登录方式进行阐述:
3.1账号密码注册登录

  1 输入正确的账号密码,可正常注册和登录
  2 已注册用户再次注册
  3 未注册用户尝试登录
  4 密码“****”展示
  5 账号输入框对最大长度和格式应有校验(比如邮箱账号需要邮箱格式等)
  6 账号或密码输入错误时建议提示“账号或密码错误”,而不是“账号错误”或“密码错误”
  7 密码是否加密传输(可抓取请求查看)
  8 密码更改后,登录时是否做到了有效数据的校验:修改前的密码失效;
  9 未登录时对一些页面的操作,是否做了控制
 10 切换账号登录,检验登录的信息是否做到及时更新
 11 对于多个端都进行操作时,确保数据库操作无误,且每个端可以及时看到数据的更新
 12 多设备同时登录同一帐号时(iOS+iOS,Android+Android,iOS+Android),检查是否将原用户剔除,弹出异地登录提示,且对一些需要登录后才能使用的页面无操作权限。

3.2手机号注册登录;

  1 手机号输入框格式校验检查
  2 验证短信的接收是否及时;
  3 用验证码可正常登录;
  4 验证码错误时,登录失败+友好提示
  5 验证短信文案是否符合所测APP;
  6 重复发送验证码,前一个验证码正常失效
  7 频繁操作验证码发送,应有操作限制
  8 验证码有效期校验(超过有效期无法登录)

4、日历控件

 目前很多APP中都会设置日历控件,对日历控件的测试我们需要关注: 

  1 月份和日期对应(比如2月有28天,7月31天)
  2 闰年2月,应有29天
  3 跨年时,年份应该有增加

APP自动化测试视频教程:

2023年,你一定要学会的APP自动化测试项目实战_哔哩哔哩_bilibiliicon-default.png?t=N3I4https://www.bilibili.com/video/BV13g4y1G7QC/?spm_id_from=333.999.0.0                   

 

5、权限设置

 当前很多APP的使用依赖于位置,通知,网络等用户权限,例如:高德地图APP,在首次启动时会询问用户是否同意启用定位,通知,网络权限。针对用户权限,我们可以多关注以下几点:
  

  1 首次启动APP询问是否同意启用权限
  2 消息权限开启时,消息推送是否正常接收(iOS系统应用启用和后台关闭时都应该可以收到;Android系统在后台关闭进程后就不会推送)
  3 消息权限关闭后,APP客户端接收不到消息推送。
  4 位置权限开启时,APP可定位到当前位置(比如杭州公交APP,能自动定位到用户当前位置,展示出附近的公交站)
  5 位置权限关闭后,APP需定位才可用的功能,是否有提示引导用户开启权限,比如“请打开系统设置中’隐私-定位服务’,允许“XXXX”使用您的位置”。
  6 网络权限关闭时,APP是否有提示(“服务器或网络错误,请稍后重试”),是否有提示引导用户开启权限。

6、软件更新 

  1 强制更新(APP开启后要求必须更新,否则无法使用APP):1.多次关闭和打开APP后是否正常跳出更新弹窗,且无法关闭;2.点击更新是否正确跳转至后台配置的更新页面;
  2 非强制更新(只提示一次更新):1.可正常关闭更新弹窗。2.重启APP更新提示按照需求再次显示,或者不再显示;3.点击更新是否正确跳转至后台配置的更新页面;
  3 取消版本更新时,老版本可以正常使用;
  4 APP更新后版本号应有更新;
  5 APP更新后新增功能和老功能可正常使用。
  6 当有新版本时,不删除客户端的情况下,直接更新是否成功;
  7 删除APP后更新

7、网络环境

3G,4G,wifi 网络环境下应用的各功能可正常运行;

  1 网络异常时 ,数据交换失败是否会有提醒;
  2 有网到无网再到有网环境时,数据是否可以自动恢复,正常加载;
  3 只允许内网访问的APP,在连接到外网时是否有友好提示。

8、兼容性测试:
  

  1 尽量覆盖该产品的主要用户(建议选取产品自己的数据,具体技术方案可以采取APP内部埋点的方法。如果是新发布的产品,可以选取竞品类产品的数据)
  2 从不同系统,版本,分辨率,机型(不同厂家ROM)等纬度进行适配测试
  3 通常选择在少数主流设备上执行全向的用例,在其他兼容性范围内的设备上覆盖主要功能的测试用例;
  4 关注各功能界面在不同分辨率下是否存在UI展示问题(如果代码没有对不同分辨率做适配处理,就可能会出现错位,遮挡,留白,拉伸和模糊等问题)
  5 基于UI自动化脚本的云测试方案(基于轻量级的UI自动化脚本,以及借助云平台大量的真机资源)

9、异常测试
  

  1 没有内存空间时,APP能否正确响应;
  2 横竖屏切换展示;
  3 APP运行时网络中断;
  4 反复操作某个功能(一般是比较重要的功能),不断点击和刷新,是否会出现闪退;
  5 APP运行时接入电话,短信,微信,或其他消息

APP自动化测试视频教程

2023年,你一定要学会的APP自动化测试项目实战_哔哩哔哩_bilibiliicon-default.png?t=N3I4https://www.bilibili.com/video/BV13g4y1G7QC/?spm_id_from=333.999.0.0

 

 

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

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

相关文章

三十六、链路追踪、配置中心

1、链路追踪 在一次调用链路中,可能设计到多个微服务,如果在线上,某个微服务出现故障,如何快速定位故障所在额微服务呢。 可以使用链路追踪技术 1.1链路追踪介绍 在大型系统的微服务化构建中,一个系统被拆分成了许多微…

Ambari-2.7.7源码编译

0 说明 本文基于Ambari-2.7.7版本进行源码编译。所需的编译资料统一提供如下: 链接:https://pan.baidu.com/s/1F2D7zBGfKihxTBArnOilTw 提取码:8m17 1 前提条件 1.1 下载ambari源码包 wget https://github.com/apache/ambari/releases/t…

【代码调试】《Multi-scale Positive Sample Refinement for Few-shot Object Detection》

论文地址:https://arxiv.org/abs/2007.09384#:~:textMulti-Scale%20Positive%20Sample%20Refinement%20for%20Few-Shot%20Object%20Detection.,previous%20attempts%20that%20exploit%20few-shot%20classification%20techniques%20 代码地址:https://git…

什么是低代码开发?低代码开发可以解决哪些问题?

一、什么是低代码开发? 低代码可以理解为是一种全新的应用开发理念。主要以可视化、参数化的系统配置方式来进行程序应用的开发,因此可以大幅度减少代码编写的工作,从而提高开发效率。 低代码平台则是通过对于业务场景进行高度抽象、提炼&a…

复习之Linux中的名词解释

1.什么是Linux? 严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。因此LinuxLinux内核GNU软件 2.什么是Shell? Shell是系统的用户界面&…

Redis学习---01(Redis安装超详细)

一、Nosql非关系型数据库 (1)小tips: 数据库的发展: 单机时代memcached 缓存Mysql读写分离(一部分数据库只写,一些数据库只用来读)分库分表 水平拆分Mysql集群 (2) Nosql的特点: 对于数据量大,变化比较…

如何安装Tomcat并在IDEA中配置

下载 1.如果你使用的是Spring框架的6版本请下载Tomcat10版本 Apache Tomcat - Apache Tomcat 10 Software Downloads 2.如果你使用的是Spring框架的6以下请下载Tomcat9版本或以下都行,如果不知道你使用的是什么推荐下载Tomcat9版本使用 Apache Tomcat - Apache …

第三方直播云平台(保利威和阿里云)直播集成demo

第三方直播云平台&#xff08;保利威和阿里云&#xff09;直播集成文档整理。 保利威&#xff1a; 保利威帮助中心 js demo <div id"player"></div> <script src"//player.polyv.net/resp/live-h5-player/latest/liveplayer.min.js">…

通俗易懂的入门正则表达式

背景 其实在使用正则表达式之前&#xff0c;我们在查找文件之类的&#xff0c;已经用过类似正则表达式的符号&#xff0c;例如&#xff1a; // 匹配多个任意字符 ls *.js // 只匹配一个任意字符 ls ?.js这种方法很有用但也是有限的&#xff0c;而正则表达式则更加的完整、强…

Linux - 第14节 - 网络编程套接字(三)

1.Linux远程控制的网络程序 1.1.Linux远程控制的网络程序&#xff08;普通版&#xff09; 创建serverTcp.cc文件&#xff0c;写入下图一所示的代码&#xff0c;创建clientTcp.cc文件&#xff0c;写入下图二所示的代码&#xff0c;创建log.hpp文件&#xff0c;写入下图三所示的…

Dart整理笔记 | Dart参考手册

Dart SDK 安装 如果是使用Flutter 开发&#xff0c;Flutter SDK自带&#xff0c;无需单独安装Dart SDK。 如果需要独立调试运行Dart代码&#xff0c;需要独立安装Dart SDK。 官方文档&#xff1a;https://dart.dev/get-dart windows(推荐): http://www.gekorm.com/dart-wind…

秒级数据写入,毫秒查询响应,天眼查基于 Apache Doris 构建统一实时数仓

导读&#xff1a; 随着天眼查近年来对产品的持续深耕和迭代&#xff0c;用户数量也在不断攀升&#xff0c;业务的突破更加依赖于数据赋能&#xff0c;精细化的用户/客户运营也成为提升体验、促进消费的重要动力。在这样的背景下正式引入 Apache Doris 对数仓架构进行升级改造&a…

浅聊一下Linuxptp

浅聊一下Linuxptp 文章目录 浅聊一下Linuxptp1.什么是Linuxptp2.安装Linuxptp3.源码解析一下1.8个带main函数的源文件1.hwstamp_ctl.c2.nsm.c3.phc2sys.84.phc_ctl.85.pmc.86.ptp4l.c7.timemaster.c8.ts2phc.c 2.clock.c文件 4.自己实践 1.什么是Linuxptp LinuxPTP&#xff08…

HIS系统是什么意思?HIS系统的主要功能有哪些?

HIS系统是什么意思&#xff1f; HIS系统即医院信息系统(全称为Hospital information System) &#xff0c;是指利用计算机软硬件技术和网络通信技术等现代化手段&#xff0c;对医院及其所属各部门的人流、物流、财流进行综合管理&#xff0c;对在医疗活动各阶段产生的数据进行采…

构造函数(包括默认构造函数) ,析构函数的使用与特性

文章目录 一、构造函数二、默认构造函数&#xff08;也是构造函数&#xff09;默认构造函数的种类&#xff1a;1.无参类型2.全缺省类型3.编译器自动生成的4.汇总 三、析构函数 一、构造函数 构造函数是一个特殊的成员函数&#xff0c;名字与类名相同,创建类类型对象时由编译器自…

opencv_c++学习(七)

一、图像颜色空间变换 一、图像颜色空间介绍 RGB颜色模型 具体的体现样式如下&#xff1a; 在opencv中有可以实现数据类型的转换接口&#xff0c;如下&#xff1a; Mat:convertTo (OutputArray m, int rtype, alpha, double 1, double beta)实现如下&#xff1a; a.conve…

Python-字典与集合

学习内容&#xff1a;Python基础入门知识 专栏作者&#xff1a;不渴望力量的哈士奇不渴望力量的哈士奇擅长Python全栈白宝书[更新中],⑤ - 数据库开发实战篇,网安之路,等方面的知识,不渴望力量的哈士奇关注云原生,算法,python,集成测试,去中心化,web安全,智能合约,devops,golan…

如何使用jenkins、ant、selenium、testng搭建自动化测试框架

如果在你的理解中自动化测试就是在eclipse里面讲webdriver的包引入&#xff0c;然后写一些测试脚本&#xff0c;这就是你所说的自动化测试&#xff0c;其实这个还不能算是真正的自动化测试&#xff0c;你见过每次需要运行的时候还需要打开eclipse然后去选择运行文件吗&#xff…

NR RLC(二)相关参数及format

欢迎关注同名微信公众号“modem协议笔记”。 实际查看RLC部分log难免要翻协议&#xff0c;查阅最多的就是相关参数的含义&#xff0c;反而RLC具体过程就没有像当初阅读时那样特别关注了。其实清楚RLC参数含义&#xff0c;看38.322就没那么困难。而RLC具体过程往往要用到相关参…

azkaban --- 案例实操

目录 案例一 &#xff1a; 输出Hello World 案例二 &#xff1a;作业依赖 案例三 &#xff1a;内嵌工作流 案例四 &#xff1a;自动失败 案例五 &#xff1a;手动失败 案例六 &#xff1a;JavaProcess 案例七 &#xff1a;启动服务 案例八 &#xff1a;Hbase 案例九 …