自学移动端(APP)自动化测试

国庆已经过去了,新的一周已经开始了,各地疫情又开始出现复发了,我们能做的就是做好个人防护、去哪报备、到哪扫码亮码、主动做核酸、随时做好家里存储至少一周的食物,拒绝过度防疫,拒绝过度恐慌,拒绝过度焦虑。有工作的最起码还有钱能到手,没有工作的可能生活都是问题,不要问为什么瘦了几十斤,因为学习很累,拼命学习更累,加油,年轻人。看完单纯的点个赞,评论一下,收藏一下,这样互动一下,才能让费心费力整理内容的作者更加动力十足,就像现在的短视频,没有赞,没有评论,就没有更多的流量,就没有更多人的关注,也就没有更新的动力了。

这次总结的是(一)移动端(APP)自动化测试-基础知识。


CSDN话题挑战赛第2期

参赛话题:学习笔记


目 录

一、移动端的认识

1、定义

2、移动端操作系统

3、移动端应用

4、手机测试分类

5、移动端测试复杂性

二、与PC端软件测试的区别

三、移动端测试流程

四、移动端测试要点

1、安装、卸载测试

(1)安装测试

(2)卸载测试

2、UI测试

(1)导航测试

(2)图形测试

(3)内容测试

3、功能测试

(1)运行APP

(2)应用的前后台切换

(3)免登录

(4)数据更新

(5)离线浏览

(6)APP更新

(7)定位、照相机服务

(8)时间测试

(9)PUSH测试

4、性能测试

(1)极限测试

(2)响应能力测试

(3)压力测试

(4)性能评估

(5)基线测试(设定性能基准)

5、交叉事件测试

(1)含义

(2)测试要点

6、兼容测试

7、升级、更新测试

8、用户体验测试

9、硬件环境测试

10、客户端数据库测试

11、安全测试

五、移动端APP云众测


一、移动端的认识

1、定义

(1)狭义

智能手机、笔记本电脑等设备

(2)广义

所有可移动的设备,如手机、穿戴设备(手环手表等)、平板、笔记本、点菜设备、移动机器人、POS机、扫码枪等

2、移动端操作系统

IOS(商用Unix系统)

Android(谷歌、开源)

HarmonyOS(华为鸿蒙)

Windows Phone

Symbian/meego

Windows Mobile

Blackberry

3、移动端应用

(1)狭义

原生APP,偏向于交互,注重用户体验,需访问硬件的功能;

如计算器、日历、录音机等。

(2)广义

Web APP:H5,偏向于于浏览器简单交互,用于信息展示

混合APP:原生APP与Web APP融合,核心功能使用APP,辅助功能呢使用Web APP

小程序:微信、支付宝、百度等,部署于服务器,直接调用接口

4、手机测试分类

(1)传统手机测试

测试手机本身,如抗压、抗摔、抗疲劳、抗低温高温等。

(2)手机APP测试

基于手机操作系统上开发的软件测试。

5、移动端测试复杂性

(1)网络多样化

弱网(2G/3G)、4G、5G、WIFI

(2)支持系统多样化

各类手机操作系统

(3)硬件配置多样化

内存(ROM)大小种类、核心数量等

(4)分辨率类型多样化

各类大小屏幕720*1280、1080*1920
移动端软件测试定义:在多种网络、不同操作系统、不同分辨率、不同硬件配置下发现软件缺陷,并保证提高软件质量的过程。


二、与PC端软件测试的区别

|--------------|------------------------------------|------------------------------------|
| 比较点 | 移动应用 | PC应用 |
| 应用类型 | Native APP、Web APP以及混合型APP | Client和Web |
| 操作方式 | 多点触摸 | 鼠标和键盘 |
| 界面布局 | 操作界面少,流程简单 | 操作界面复杂且流程复杂 |
| 设备尺寸 | 移动设备屏幕小,手机和平板的屏幕尺寸相差巨大,且各自屏幕大小种类繁多 | PC显示屏幕大且其软件应用也不受屏幕限制 |
| 功能 | 强调主要功能以及用户常用功能 | 支持全部功能 |
| 设备网络连接方式 | 主要是2G、3G、4G、5G、WIFI | 有线方式或者WIFI |
| 应用设备限制 | 存储空间小,连接不稳定、带宽较小,流量费用限制、移动互联网上的风险等 | 存储空间大,带宽较相对较宽,连接一般也比较稳定,各种安全软件安装齐全 |
| 用户使用习惯 | 移动用户随时随地就会使用移动软件应用,强调移动性 | 用户一般在固定的地点使用PC应用 |
[移动端与PC端软件测试的区别]


三、移动端测试流程


四、移动端测试要点

1、安装、卸载测试

(1)安装测试

从不同的取到获取安装程序是否正常安装。

Android APP:由开发提供,在手机或安卓模拟器(iTools、夜神、逍遥、版本要一致)安装即可;

IOS APP:直接分发(前提:APP有苹果的企业证书)

苹果测试手机的UDID(iTunes连接手机,点击序列号,但不能复制;IOS4.0以上手机装UDID Helper;手机连接的Mac电脑的XCode会弹出Organizer,在设备的Summary中会显示UDID,可复制)发给开发人员,让开发人员将UDID打包到APP里面即可(前提:APP无苹果的企业证书)

APP里面绑定UDID有限制,若超标使用testflight (苹果官方测试工具)分发,需提供测试人员的appleID(即邮箱账号),从testflight下载安装包及邀请码即可安装测试

软件在不同操作系统版本下安装是否正常。

兼容性测试

软件安装后是否能够正常运行,安装后的文件夹及文件是否写到了指定的目录里。

如果闪退,属于兼容性测试;

APP的文件夹位置、临时文件夹的位置;

未root之前可看到的文件及文件夹均可删除,重新启动会自动创建

安装后没有生成多余的目录结构和文件。

软件安装过程中意外情况(如死机、重启、断电)的处理是否符合需求。

如安装过程死机重启后是否还是继续安装或者重新安装(异常测试)

安装空间不足时是否有相应提示。

异常测试

对于需要通过网络验证之类的安装,在断网情况下尝试一下。

异常测试

还需要对安装手册进行测试,依照安装手册是否能顺利安装。

文档测试

(2)卸载测试

直接删除安装文件夹卸载是否有提示信息。

一般会有警告

直接卸载程序是否有提示信息。

一般会有是否卸载提示

卸载后是否全部删除所有的安装文件夹。

安全测试涉及;

两种处理方式:提示个人数据文件夹会保留、安装文件夹及临时文件夹都删除

卸载过程中出现的意外情况(如死机、重启、断电)的测试。

系统直接卸载UI测试,是否有卸载状态进度条提示。

静默卸载

2、UI测试

对照产品设计-原型图

(1)导航测试

按钮、对话框、列表和窗口等,或在不同的连接页面之间需要导航。

是否易于导航、导航是否直观。

是否需要搜索引擎。

导航帮助是否准确直观导航与页面结构、菜单、连接页面的风格是否一致。

(2)图形测试

横向比较,各控件操作方式统一。

自适应界面设计,内容根据窗口大小自适应。

页面标签风格是否统一。

页面的图片应有其实际意义而要求整体有序美观。

图片质量要高且图片尺寸在设计符合要求的情况下应尽量小。

界面整体使用的颜色不宜居多。

(3)内容测试

输入框说明文字的内容与系统功能是否一致。

文字长度是否加以限制。

文字内容是否表意不明。

是否有错别字。

信息是否为中文显示。

是否有敏感性词汇、关键字。

是否有敏感性图片,如:涉及版权、专利、隐私等图片。

3、功能测试

对照需求文档

(1)运行APP

APP安装完成后的试运行,可正常打开软件。

APP打开测试,是否有加载状态进度提示。

APP打开速度测试,速度是否可观。

APP页面间的切换是否流畅,逻辑是否正确。

注册。

登录。

注销。

(2)应用的前后台切换

APP切换到后台,再回到APP,检查是否停留在上一次的操作界面。

APP切换到后台,再回到APP,检查功能及应用状态是否正常。

APP切换到后台,再回到APP,注意程序是否崩溃,功能状态是否正常。

手机锁屏解屏后进入AOO注意是否会崩溃,功能状态是否正常。

当APP使用过程中有电话进来中断后再切换到APP,功能状态是否正常。

当杀掉APP进程后,再开启APP,APP能否正常启动。

出现必须处理的提示框后,切换到后台,再切换回来,检查提示框是否还存在,有时候会出现应用自动跳过提示框的缺陷。

对于有数据交换的页面,每个页面都必须要进行前后台切换、锁屏的测试,这种页面最容易出现崩溃。

(3)免登录

很多应用提供免登录功能。当应用开启时自动以上一次登录的用户身份来使用APP。
APP有免登录功能时,需要考虑版本差异。

考虑无网络情况时能否正常进入免登录状态。

切换用户登录后,要校验用户登录信息及数据内容是否相应更新,确保原用户退出。

根据现有规则,一个账户只允许登录一台机器。所以,需要检查一个账户登录多台手机的情况。原手机里的用户需要被踢出,给出友好提示。

APP切换到后台,再切回前台的校验。

密码更换后,检查有数据交换时是否进行了有效身份的校验。

支持自动登录的应用在进行数据交换时,检查系统是否能自动登录成功并且数据操作无误。

检查用户主动退出登录后,下次启动APP,应停留在登录界面。

(4)数据更新

需要确定哪些地方需要提供手动刷新,哪些地方需要自动刷新,哪些地方需要手动+自动更新。

确定哪些地方从后台切换回前台时需要进行数据更新。

根据业务、速度及流量的合理分配,确定哪些内容需要实时更新,哪些需要定时更新。

确定数据展示部分的处理逻辑,是每次从服务端请求,还是有缓存到本地,这样才能有针对性的进行相应测试,

检查有数据交换的地方,均有相应的异常处理。

(5)离线浏览

很多应用会支持离线浏览,即在本地客户端会缓存一部分数据供用户查看。
在无网络情况可以浏览本地数据。

退出APP再开启APP时能正常浏览。

切换到后台再切回前台可以正常浏览。

锁屏后再解屏回到应用前台可以正常浏览。

在对服务端的数据有更新时会给予离线的相应提示。

(6)APP更新

当客户端有新版本时,有更新提示。

当版本为非强制升级版时,用户可以取消更新,老版本能正常使用。用户在下次启动APP时,仍能出现更新提示。

当版本为强制升级版时,当给出强制更新后用户没有做更新时,退出客户端。下次启动APP时,仍出现强制升级提示。

当客户端有新版本时,在本地不删除客户端的情况下,直接更新检查是否能正常更新。

当客户端有新版本时,在本地不删除客户端的情况下,检查更新后的客户端功能是否是新版本。

当客户端有新版本时,在本地不删除客户端的情况下,检查资源同名文件如图片是否能正常更新成最新版本。

如果以上无法更新成功的,都属于缺陷。

(7)定位、照相机服务

APP有用到相机、定位服务时,需要注意系统版本差异。

有用到定位服务、照相机服务的地方,需要进行前后台的切换测试,检查应用是否正常。

当定位服务没有开启时,使用定位服务,会友好性弹出是否允许设置定位提示。当确定允许开启定位时,能自动跳转到定位设置中开启定位服务。

测试定位、照相机服务时,需要采用真机进行测试。

(8)时间测试

客户端可以自行设置手机的时区、时间,因此需要校验该设置对APP的影响。
---中国为东8区,所以当手机设置的时间非东8区时,查看需要显示时间的地方,时间是否展示正确。应用功能是否正常。时间一般需要根据服务器时间再转换成客户端对应的时区来展示,这样的用户体验比较好。
比如发表一篇微博在服务端记录的是10:00,此时,华盛顿时间为22:00,客户端去浏览时,如果设置的是华盛顿时间,则显示的发表时间即为22:00,当时间设回东8区时间时,再查看则显示为10:00。

(9)PUSH测试

检查PUSH消息是否按照指定的业务规则发送。检查不接受推送消息时,检查用户不会再接收到PUSH。

如果用户设置了免打扰的时间段,检查在免打扰时间段内,用户接收不到PUSH。在非免打扰to时间段,用户能正常收到PUSH。

当PUSH消息是针对登录用户的时候,需要检查收到的PUSH与用户身份是否相符,没有错误地将其它人的消息推送过来。一般情况下,只对手机上最后一个登录用户进行消息推送。

测试PUSH时,需要采用真机进行测试。

4、性能测试

兼容性

(1)极限测试

在各种边界压力情况下,如电池、存储、网速等,验证APP是否能正确响应。
内存满时安装APP;

运行APP时手机断电;

运行APP时断掉网络。

(2)响应能力测试

测试APP中的各类操作是否满足用户响应时间要求。
APP安装、卸载的响应时间;

APP各类功能性操作的影响时间。

(3)压力测试

反复长期操作下,系统资源是否占用异常。
APP反复进行安装、卸载,查看系统资源是否正常;

其他功能反复进行操作,查看系统资源是否正常。

(4)性能评估

评估典型用户应用场景下, 系统资源的使用情况。

(5)基线测试(设定性能基准)

竞争产品的Benchmarking(标杆管理),产品演变对比测试等。

5、交叉事件测试

(1)含义

事件或冲突测试,是指一个功能正在执行过程中,同时另外一个事件对该过程进行干扰的测试。

(2)测试要点

多个APP同时运行是否影响正常功能。

APP运行时前/后台切换是否影响正常功能。

APP运行时拨打/接听电话。

APP运行时发送/接收信息。

APP运行时发送/收取邮件。

APP运行时切换网络(2G、3G、4G、5G、WIFI)

APP运行时浏览网络。

APP运行时使用蓝牙传送/接收数据。

APP运行时使用相机、计算器等手机自带设备。

6、兼容测试

(1)发版前必须进行兼容性测试;

(2)必须在真机上进行;
自购设备 -当前主流50款手机-时效性

Android设备

-不同品牌-华为、荣耀、小米、魅族、OPPO、VIVO、one plus、三星、Nexus

-同一品牌不同系列-mate、P、nova、畅享、小米、红米、note、max

-同一品牌同一系列 -处理器不同、内存不同、屏幕不同、系统版本不同、网络制式不同

-Android版本兼容-至少往前兼容两个版本、碎片化问题(系统不更新、老年使用较多)

IOS设备

-IOS系统闭源,没有碎片化问题

-苹果设备单元-IPhone4-IPhone14、P系列、IPAD、IPOD
在线服务

云众测

-发版测试-探索(Bug探索、用例设计、用例执行)→验证(Bug回归、用例回归)→健壮(安全测试、性能测试、兼容测试)→深度验证(安全验证、性能验证、兼容验证)→验收(Bug探索、用例执行、兼容测试)

网络制式:就是网络的类型,我国手机的网络制式有CDMA手机占用的CDMA 1X,800MHZ频段;GSM手机占用的900/1800/1900MHZ 频段;近两年的GSM 1X双模(即WCDMA)占用的900/1800MHZ频段;3G占用的900/1800/1900/2100MHz频段;4G占用的1920--2170MHZ频段。联通4GTD LTE占用的2555-2575MHz,2300-2320MHz频段(仅限室内使用)
(3)手工对不同手机测试、自动化云测试
与本地及主流APP兼容;

不同操作系统兼容;

不同手机品牌兼容;

不同屏幕分辨率兼容;

不同网络兼容。

7、升级、更新测试

内部程序推送更新、自动更新、强制更新才可以用

8、用户体验测试

常用用户、内测用户

9、硬件环境测试

CPU芯片、内核

10、客户端数据库测试

数据库服务器

11、安全测试

安全漏洞、是否被破解

五、移动端APP云众测

有好用的云众测平台,希望大家来评论留言,赚点生活费。


愿你我都能为中华民族的伟大复兴尽一份绵薄力量,让中华文化的根扎根在中国这片绿水青山之上,让新一代中华儿女传承与发扬!!!

---无名之辈


以上内容均是本人自学,当然是有网上公布的内容,如有冒犯,请留言,立即改正,谢谢!


看完要是觉得对自己有用,动一下您那根金色的会一指禅的右手食指,按一下您的鼠标左键,在对应的那个位置点个赞,亦或者在评论区留下您的绝顶好句,亦或者收藏在您的收藏夹里,再走也不迟嘛!您说要不要得!谢谢您的阅读和赞赏!

相关推荐
_.Switch1 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
数据猎手小k3 小时前
AndroidLab:一个系统化的Android代理框架,包含操作环境和可复现的基准测试,支持大型语言模型和多模态模型。
android·人工智能·机器学习·语言模型
你的小103 小时前
JavaWeb项目-----博客系统
android
风和先行4 小时前
adb 命令查看设备存储占用情况
android·adb
Jason-河山4 小时前
【自动化更新,让商品信息跳舞】——利用API返回值的幽默编程之旅
运维·自动化
AaVictory.5 小时前
Android 开发 Java中 list实现 按照时间格式 yyyy-MM-dd HH:mm 顺序
android·java·list
dawn5 小时前
鸿蒙ArkTS中的获取网络数据
华为·harmonyos
桃花键神5 小时前
鸿蒙5.0时代:原生鸿蒙应用市场引领开发者服务新篇章
华为·harmonyos
鸿蒙自习室5 小时前
鸿蒙多线程开发——并发模型对比(Actor与内存共享)
华为·harmonyos
似霰6 小时前
安卓智能指针sp、wp、RefBase浅析
android·c++·binder