APP测试基本流程以及APP测试要点梳理,成功入职就靠它了

news2024/9/19 10:46:59

 🔥 交流讨论:欢迎加入我们一起学习!

🔥 资源分享耗时200+小时精选的「软件测试」资料包

🔥 教程推荐:火遍全网的《软件测试》教程  

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

前言

APP要做哪些测试?
APP测试要注意哪些问题?
对于移动测试,测试员不得不基于用户移动使用模式考虑移动相关的功能。而针对手机应用软件APP的系统测试。

我们通常从如下几个角度开展:功能测试(流程测试、功能点测试)、兼容性测试、交叉测试、安装卸载测试(包括应用的升级)、压力测试(接口压力测试)、安全测试等等。

一、APP测试

1、系统自带的功能测试(生产商完成测试)
2、手机APP业务功能测试

二、操作系统

1、安卓
谷歌公司基于Linux平台推出的开源操作系统,应用开发语言是java
主流版本:13、12、11、10
真后台,内存消耗大

2、ios
苹果公司推出的闭源操作系统,应用开发语言是Swift(属于类Unix的商业操作系统)
主流版本:16、15、14
伪后台

三、模拟器

安装安卓模拟器:逍遥、夜神、天天靠谱…
天天模拟器使用:adb connect 127.0.0.1:6555 命令连接
逍遥模拟器使用:adb connect 127.0.0.1:21503
夜神模拟器使用:adb connect 127.0.0.1:62001

四、APP测试实战

1、adb devices –查看当前连接设备
问题:无法启动此程序,因为计算机中丢失AdbWinApi.dll
解决方案:将adb.zip里面所有文件复制到C:Windows\SysWOW64目录下

2、adb install 路径\apk包路径 –安装应用程序

3、查看当前打开运行的APP包信息
adb shell dumpsys window w |findstr / |findstr name=
mSurface=Surface(name=com.netease.newsreader.activity/com.netease.nr.phone.main.MainActivity)
com.netease.newsreader.activity这一段

4、adb uninstall 主包名 –缷载apk包

5、adb -s 设备号 命令 –指定某台设备执行命令(电脑连接多台设备)

6、adb shell –进入超级终端

7、adb push PC端文件路径 手机端文件路径 –上传文件到手机

8、adb pull 手机端文件路径 PC端文件夹路劲 –复制手机文件到电脑

9、adb root 以root权限重启adb

10、adb logcat –查看当前系统全部日志
adb logcat -s 标签 –查看指定标签日志
adb logcat -f 手机端日志文件路径 –将日志写入到文件
adb logcat -c –清空日志缓存

adb logcat -v 参数 —
adb logcat -v time:可以啥看日志的输出时间;
adb logcat -v threadtime:可以啥看日志的输出时间和线程信息;
adb logcat -v process:格式为“优先级(进程ID):日志信息”的日志;
adb logcat -v tag:格式为”优先级/标签:日志信息”的日志;
adb logcat -v thread:格式为”优先级(进程ID:线程ID)标签:日志内容”的日志;
adb logcat -v raw:只输出日志信息,不附加任何其他信息;
adb logcat -v long:格式为“[日期时间进程ID:线程ID优先级/标签]日志信息”的日志。

11、adb logcat 标签:日志等级 –只显示某个等级以上的日志
V:Verbose(明细);
D:Debug(调试);
I:Info(信息);
W:Warn(警告);
E:Error(错误);
F:Fatal(严重错误);
S:Silent(Superalloutput)(最高的优先级,可能不会记载东西

12、logcat|grep ‘搜索内容’ –过滤–先执行adb shell

13、复杂的adb命令
adb shell dumpsys window | findstr mCurrentFocus
–查看当前打开运行的APP包信息

adb shell dumpsys package <package_name>
<package_name>包名
–查看APP相关所有信息

adb shel l pmpath <package_name>
–查看app的路径

adb shell amstart -n <package_name>/<activity_class_name>
–启动activity

adb shell pm clear <package_name>
–清楚APP的相关所有数据

【先进入到adb shell】

ps|grep <package_name>
–查看某个APP的进程相关信息

kill pidNumber
–杀掉进程

dumpsys meminfo <package_name或者PID>
–查看某一个app的内存占用

input keyevent KEYCODE_POWER
KEYCODE_POWER为键值
–利用adb命令按住按键(模拟按键)
adb命令模拟按键事件 KeyCode:

五、MonKey测试

1、Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法
monkey的作用是测试APP的稳定性

2、monkey的特点
①只能测试APP
②操作事件都是随机的
③事件的数量,类型,频率是可以设置的

3、命令
① –对指定的APP进行测试
adb shell monkey -p 包名 操作次数

② –设置日志级别
adb shell monkey -p 包名 -v 操作次数
最多可以接三个-v,级别最高,内容最详细

④ –设置延迟 –throttle
adb shell monkey -p 包名 –throttle 延迟时间(1000)操作次数
adb shell monkey -p com.netease.newsreader.activity -v -v -v –throttle 1000 100

⑤***-s
adb shell -c
–让后续的测试和前面的测试保持一致 -s
adb shell monkey -p com.netease.newsreader.activity -s 5 -v -v -v –throttle 1000 100

⑥–ignore-crashes APP崩溃时继续发送事件
–ignore-timeouts APP无响应时(ANR)继续发送事件
–ignore-security-exceptions 发生许可错误时继续发送事件

⑦设置事件类别比例
限制条件:所有事件的百分比总和不能超过100%
–pct-事件
adb shell monkey -p com.netease.newsreader.activity –pct-syskeys 100 1000

–pct-touch {+百分比}0:触摸,触摸事件泛指发生在某一位置的一个down-up事件,点击

–pct-motion {+百分比}1:动作,动作事件泛指从某一位置接下(即down事件)后经过一系列伪随机事件后弹出(即up事件)

–pct-pinchzoom{+百分比}2:二指缩放,智能机上的放大缩小手势操作事件

–pct-trackball {+百分比}3:轨迹,轨迹事件包括一系列的随机移动,以及偶尔跟随在移动后面的点击事件

–pct-rotation {+百分比}4:屏幕旋转,横屏竖屏事件

–pct-nav{+百分比}5:基本导航,基本导航事件主要来自方向输入设备的上、下、左、右事件

–pct-majornav{+百分比}6:主要导航,主要导航事件通常指引发图形界面的一些动作,如键盘中间按键、返回按键、菜单按键等

–pct-syskeys{+百分比}7:系统按键,系统按键事件通常指仅供系统使用的保留按键,如HOME键、BACK键、拨号键、挂断键、音量键等

–pct-appswitch{+百分比}8:应用启动,应用启动事件(activity launches)即打开应用,通过调用startActivity()方法最大限度地开启该package下的所有应用

–pct-flip {+百分比}9:翻转,键盘轻弹百分比,如点击输入框,键盘弹起,点击输入框以外区域,键盘收回

–pct-anyevent{+百分比}10:其他类型,其他类型事件指上文中未涉及的所有其他事件,如keypress、不常用的button等

⑧Monkey测试中,终止运行的方式:
1.新打开一个dos命令窗口
2.执行:adbshell
3.执行ps|grepmonkey
4.返回来的第一个数字,即是monkey的进程号然后killpid进程号

⑨Monkey测试日志分析用Monkey做测试,
为了方便分析问题,需要把monkey运行过程中产生的日志结果进行分析,查找bug。
——-结果保存在电脑上:
adbshellmonkey-p包名-v1000>路径/monkey.txt
——-结果保存在手机上:
前提条件:手机要root或把结果文件放在有权限存取的路径
1、运行adb shell
2、monkey-p包名-v10001>手机路径/info.txt2>手机路径/error.txt
备注:1、结果中可以通过|logcat-vtime添加时间。
如下:monkey-p包名-v1000|logcat-vtime1>手机路径/info.txt2>手机路径/error.txt
2、如手机提示read-only file systemmount当前挂载情况mount -o remount -o rw/system
重新挂载需要修改权限的目录

<1>先执行adb shell
<2>再执行monkey -p com.netease.newsreader.activity -v -v 1000|logcat time >/sdcard/test.log
<3>将手机上的日志文件复制到电脑端进行查看adb pull /sdcard/test.log D:\APP\log\test.log

六、APP的性能

CPU、内存、网络、耗电量、发热、卡顿、帧率、启动时间

测启动时间
1、冷启动
2、热启动
adb shell am start -W -n 包名/activity名称
adb shell am start -W -n com.netease.newsreader.activity/com.netease.nr.phone.main.MainActivity

七、兼容性

①手机APP兼容性测试
系统版本、屏幕尺寸和分辨率

②兼容性测试机器的选择?
1、通过公司运营后台数据统计得出占比比较高的机型
2、产品指定机型

③兼容性测试的关注点是哪里?
1、页面的整体布局
2、文字(大小、颜色、位置)
3、动态效果的地方
4、js特效的地方
5、控件的功能和外观

④UI测试–界面测试
1、和需求文档上设计的界面一致
2、符合大众用户的审美观和使用习惯

⑤APP登录
1、是否支持多终端登录
2、保持登录的有效期
3、在其他平台修改密码之后

⑥APP数据更新
1、自动更新
2、手动更新

⑦手机基本的功能(相机、定位、麦克风…)
—APP能够正常调用这些功能

⑧APP更新
1、强制更新
<1>不提示,直接自动更新,不更新不能使用
<2>有提示,不自动更新,不更新不能使用
2、手动更新
特点:只能由低版本–>高版本去更新
一般来说不更新也可以使用(不是绝对)

八、消息推送测试

1、ios的推送必须经过苹果的消息服务器,意味着iOS的消息推送只能在生产环境测试
2、安卓的随时都可以推送
<1>正常推送
<2>不同用户等级推送[准备多台手机,不同等级用户测]
<3>设置了可接受消息的时间段
<4>点击消息
①在APP内–跳转到界面
②在APP外–进去到app内,跳转到界面
<5>锁屏、熄屏能否正常接收
<6>是否按照推送的业务规则

九、渠道包测试

1、应用宝、豌豆荚、360市场、小米应用商城…
channel–1
2、打包
<1>测试人员自己通过adb命令打包
<2>开发人员打包
<3>通过Jenkins构建或者托管平台一键扫码
3、这么看渠道是否正确?
<1>查看包信息
<2>安装好后进去看界面内容

最后我邀请你进入我们的【软件测试学习交流群:785128166】, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!

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

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

相关文章

【MATLAB源码-第161期】基于matlab的OQPSK系统仿真,输出误码率曲线图,眼图以及各节点信号图像对比。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 正交四相移相键控&#xff08;OQPSK&#xff0c;Orthogonal Quadrature Phase Shift Keying&#xff09;是一种数字调制技术&#xff0c;它在传统的QPSK&#xff08;Quadrature Phase Shift Keying&#xff0c;四相移相键控&…

Linux--序列化与反序列化

序列化 序列化是指将数据结构或对象状态转换成可以存储或传输的格式的过程。在序列化过程中&#xff0c;对象的状态信息被转换为可以保持或传输的格式&#xff08;如二进制、XML、JSON等&#xff09;。序列化后的数据可以被写入到文件、数据库、内存缓冲区中&#xff0c;或者通…

jupyter notebook报错: No module named ‘pandas‘

打开jupyter notebook&#xff0c;新建Python3&#xff0c;编写代码import pandas as pd jupyter notebook: No module named pandas 解决办法 :打开Anaconda prompt&#xff0c;输入pip install pandas,安装时可能因为网速原因失败&#xff0c;用同样的命令再试一次&#xf…

数据透视表(二)

文章目录 导入外部数据源创建数据透视表Query 工具下的数据透视表创建如何统计业绩成交情况创建组利用函数构建辅助列创建组手动创建多样分组创建组区间统计创建组按年月日统计数据透视表的多种统计方法计算字段 导入外部数据源创建数据透视表 点击数据选项卡下数据-获取外部数…

04.FreeRTOS任务创建

04. FreeRTOS任务创建与任务删除 1. FreeRTOS创建和删除任务相关API函数 函数描述xTaskCreate()动态方式创建任务xTaskCreateStatic()静态方式创建任务xTaskCreateRestricted()动态方式创建使用 MPU 限制的任务xTaskCreateRestrictedStatic()静态方式创建使用 MPU 限制的任务…

js_拳皇(下)

文章目录 架构设计视频演示碰撞检测碰撞检测函数 构想血条和计时器全屏后续工作 架构设计 一图胜千言 #mermaid-svg-erOUDyAO5t0XgYyU {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-erOUDyAO5t0XgYyU .error-icon{…

塞尔维亚皇家科学与艺术学院向迪科维奇将军颁发奖章

2015 年 6 月 28 日&#xff0c;在托波拉文化中心礼堂&#xff0c;由塞尔维亚皇家科学家与艺术学院&#xff08;SKANU&#xff09;组织举行了一场颁奖仪式&#xff0c;向过去一年里为科学院做出无私贡献的杰出个人和集体表示感谢。 经塞尔维亚皇家科学与艺术学院一致决定&#…

RWKV 社区近期有哪些学术研究进展?

2024 年 5 月 7 日&#xff0c;我们呼吁大家使用 RWKV-6 替代 Mamba 进行科研。截至 7 月 29 日&#xff0c;来自全球各地的科研团队已经陆续发表了 7 篇基于 RWKV 架构、在各个领域进行深入研究的论文。 新的 RWKV 学术研究主要聚焦于具身智能、图像处理、模型架构三个方面。…

[Windows] 简单易用的图片去水印工具,Inpaint 9.1 单文件版

很多软件都有这个功能&#xff0c;但这个算法非常自然&#xff0c;软件小巧。 而且极为简单&#xff0c;涂鸦笔一抹&#xff0c;点绿色的《处理图像》 &#xff0c;一秒完成。 我从它6.0的版本一直用过来。现在这个是9.1 发现论坛里的 都是几年前的&#xff0c;全部都失效了。 …

【策略工厂模式】记录策略工厂模式简单实现

策略工厂模式 1. 需求背景2. 代码实现2.1 定义基类接口2.2 排序策略接口定义2.3 定义抽象类&#xff0c;实现策略接口2.4 具体的排序策略实现类2.5 实现策略工厂类2.6 控制类 3. 启动测试4. 总结 1. 需求背景 现在需要你创建一个策略工厂类&#xff0c;来根据策略实现各种排序…

达梦数据库的系统视图v$buffer_lru_first

达梦数据库的系统视图v$buffer_lru_first 达梦数据库系统视图V$BUFFER_LRU_FIRST的主要作用是显示所有缓冲区LRU链首页信息。这个视图帮助数据库管理员监控和管理缓冲池中LRU&#xff08;Least Recently Used&#xff0c;最近最少使用&#xff09;链的性能&#xff0c;通过查看…

专业级享受:2024年视频剪辑工具深度评测与推荐

说到视屏剪辑很多人都会想要到剪映吧&#xff0c;那剪映怎么剪辑视屏呢&#xff1f;剪映之外还有没有其他好用到视屏剪辑软件呢&#xff1f;这次就分享一些我自己用过到工具吧。 1.福昕视频编辑 链接直达>>https://www.pdf365.cn/foxit-clip/ 这个视频剪辑软件大大的…

【Stable Diffusion】(基础篇六)—— embedding

embedding 本系列博客笔记主要参考B站nenly同学的视频教程&#xff0c;传送门&#xff1a;B站第一套系统的AI绘画课&#xff01;零基础学会Stable Diffusion&#xff0c;这绝对是你看过的最容易上手的AI绘画教程 | SD WebUI 保姆级攻略_哔哩哔哩_bilibili 除了大模型和VAE之外…

普明服务小程序正式招募合伙人,共绘家政保洁行业新蓝图

随着家政保洁行业的快速发展和消费者对高品质服务需求的日益增长&#xff0c;普明服务小程序凭借其专业、高效、便捷的服务体验&#xff0c;迅速在市场上崭露头角。为了进一步拓展业务&#xff0c;提升品牌影响力&#xff0c;普明服务小程序现正式面向社会招募合伙人&#xff0…

你还在为PDF转Word烦恼?试试这四款免费工具吧!

悄咪咪问一句&#xff0c;大家在平时上班时最头疼的事情有哪些&#xff1f;我想会有很多朋友也有pdf如何在线转换word文档的免费方式&#xff0c;毕竟这些办公文档是非常常见的问题了&#xff0c;所以今天就专门准备这么一篇文章来分享我个人喜欢的四款好用工具&#xff1a; 第…

基于ChatGPT的“看图说话”

重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经…

dockerd --debugr排查服务无法启动的异常

1、查看docker服务运行状态 [rootlocalhost ~]# systemctl status docker 2、使用dockerd --debug排查错误 [rootlocalhost ~]# dockerd --debug 3、使用dockerd --debug获取的错误 4、根错误在网上查找解决方法 上图错误为二进制安装docker服务&#xff0c;/usr/local/bin/…

从里到外刨析一台电脑的性能,认识电脑很重要,妈妈再也不用担心我买电脑被骗了

现如今时代随着技术的发展&#xff0c;骗子的手段也越来越高明&#xff0c;因此从里到外刨析一台电脑的性能&#xff0c;认识电脑很重要&#xff0c;特别是准备购买电脑的小伙伴&#xff0c;建议看完这篇文章&#xff0c;其他听别人说电脑的好坏都是虚的&#xff0c;只有自己真…

创新概念:柯尔莫哥洛夫-阿诺德网络

文章目录 一、说明二、基础概念三、kolmogorov-Arnold 网络性质3.1 KAN 的潜在优势3.2 挑战和注意事项 四、基本 KAN 超参数五、COLAB 代码六、注意点 一、说明 kolmogorov-Arnold 网络 (KAN) 是深度学习领域的一项“创新”&#xff0c;它提供了一种受现有 Kolmogorov-Arnold …

【时时三省】(C语言基础)循环语句do while循环

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ——csdn时时三省 do语句的语法 do 循环语句&#xff1b; while(表达式)&#xff1b; 表达式为真继续循环 表达式为假停止 示例: break和cobtinue的运用 示例: cobtinue会跳出这个括号 到while 接着一直循…