APP项目测试 之 性能测试 -- SoloPi工具

📝 面试求职: 「面试试题小程序」内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


1 SoloPi简介

什么是SoloPi?

SoloPi:是一个无线化、非侵入式的 Android 自动化工具 ,具备 录制回放、性能测试 等功能。

SoloPi的作用是什么?

基础性能测试:能够记录待测应用的各项指标,可以在悬浮窗中观察实时更新的数据,也可以对性能数据进行录制,在录制结束后查看图表;同时,还支持性能加压,能够对CPU、内存与网络环境进行限制,复现应用在性能较差、网络环境不佳场景下的表现。

录制回放:通过SoloPi执行用例步骤,能够将用户的操作记录下来,支持在各个设备上进行回放,这一切都能够在手机上独立完成。

一机多控:支持通过操作一台主机设备来控制多台从机设备,不需要在各个设备上分别进行重复冗杂的兼容性测试,能够极大提升兼容性测试的效率。

SoloPi安装注意事项

可独立安装的 SoloPi(APK,IOS无该版本),像普通APP一样安装

SoloPi使用时注意事项

SoloPi使用时,需要申请悬浮窗权限,adb权限,读写权限

2 模拟器的安装

将软件安装包放置在无中文路径下,双击安装:

在这里插入图片描述

安装apk:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3 ADB工具安装介绍

ADB工具是什么?

ADB 全称为 Android Debug Bridge,起到调试桥的作用,是一个客户端-服务器端程序。其中客户端是用来操作的电脑,服务端是 Android 设备。

ADB 也是 Android SDK 中的一个工具,可以直接操作管理 Android 模拟器或者真实的 Android 设备。

ADB 是一个可以控制安卓设备的通用命令行工具,可以做为Android与PC端连接的一个桥梁,所以ADB又称为安卓调试桥(注意:是安卓,不是iOS),用户可以通过adb在电脑上对Android设备进行全面操作,比如安装和调试应用,操作文件的传输等。

ADB(Android Debug Bridge)是一个通用命令行工具,也是Android软件测试开发工作者常用的调试工具。本质是调用命令,解决工具能力的边界。

ADB可以用来安装卸载软件、管理安卓系统软件、启动测试、抓取操作日志等

注意事项

如果Windows的系统已经安装了雷电模拟器,则忽略ADB工具安装介绍

macOS系统如果安装的是 MuMu模拟器 ,还需要先安装JDK,然后单独安装SDK(软件开发工具包)

后续操作模拟器时需要用到SDK工具中adb命令

安装ADB工具

ADB环境准备:

在这里插入图片描述

安装使用 ADB 工具前,需要确认自己的电脑上已经安装并配置 JDK 环境。

1)下载ADB

Windows版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip

Mac版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip

Linux版本:https://dl.google.com/android/repository/platform-tools-latest-linux.zip

解压文件:

在这里插入图片描述

2)配置环境变量

把解压路径放到系统变量里去(Path)

在这里插入图片描述

3)安装结果验证

win+R–>cmd–>abd version–>abd:

在这里插入图片描述

ADB命令使用

作用:通过ADB命令能够实现自动化相关测试,提升测试效率

1)查看已连接的设备列表

adb devices

这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示。

注意:有时候会把鼠标、键盘等通过USB连接到计算机的设备也显示出来。

在这里插入图片描述

2)无线连接设备:

adb connect 手机ip(手机和电脑处于同一网段)

如果是USB连接,直接会连接ADB;

如果是想通过网络连接(有线或者无线),则需要在同一个局域网,通过IP连接。上面192.168.1.61替换成想要连接设备的IP即可。

在这里插入图片描述

3)断开连接设备:

adb disconnect 手机ip

4) 开启adb服务

adb start-server

在这里插入图片描述

5)关闭adb服务

adb kill-server

在这里插入图片描述

6)安装软件包

adb install /路径/软件包文件名

(-r 保留数据 -t 强制覆盖 例如: adb install -r -t /路径/软件包的文件名)

-r 代表如果apk已安装,重新安装apk并保留数据和缓存文件。apk路径则可以直接将apk文件拖进cmd窗口,记得加空格。

在这里插入图片描述

7)卸载软件包

adb uninstall app的包名

如果卸载 app 但需要保留数据和缓存文件:adb uninstall -k (apk包名)

在这里插入图片描述

8)获取包名

获取手机里所有的包名: adb shell pm list packages

获取手机里所有的系统应用的包名: adb shell pm list packages -s

获取手机里所有第三方软件的包名: adb shell pm list packages -3

9)获取当前窗口(注意大小写区分)

Windows: adb shell dumpsys window | findstr mCurrentFocus((需要打开目标软件)

Mac/linux: adb shell dumpsys window | grep mCurrentFocus

在这里插入图片描述

10)清除缓存

adb shell pm clear 包名

在这里插入图片描述

11)启动/停止应用

启动: adb shell am start 包名/activity名

(包名是软件的标识,Activity主要描述app的某个页面)

停止: adb shell am force-stop 包名

在这里插入图片描述

12)获取手机日志

adb logcat > 本地文件

执行完后Ctrl+C结束日志获取

注意:执行命令后,手机上操作复现步骤

抓取日志以后重定向到某个文件

‘>’ : 覆盖文件内容

‘>>’ : 追加在文件末尾

使用场景: 测试期间记录日志. adb logcat >本地文件

避免问题由于不确定复现步骤而导致无法复现,并且被研发拒绝.

在这里插入图片描述

13)获取启动时间

adb shell am start -W 包名/activity名

常见参数:

-W :获取时间

-S:启动前强行停止应用 (冷启动的时间)

-R 数字: 启动次数

注意:参数均为大写,顺序可以调整,但-R后必须是数字

常见的三个指标:

ThisTime:当前activity的时间。

TotalTime:应用的启动时间,包括创建进程、App初始化、Activity初始化到界面显示。

WaitTime:前一个应用activity pause的时间+TotalTime

在这里插入图片描述

14)获取内存信息

adb shell dumpsys meminfo 包名

Native/Dalvik 的 Heap 信息

如果发现这个值一直增长,则代表程序可能出现了内存泄漏(Out of memary)。

Total 的 PSS 信息

这个值是应用真正占据的内存大小,通过这个信息,可以轻松判别手机中哪些程序占内存比较大

在这里插入图片描述

15)获取CPU

adb shell dumpsys cpuinfo (查看当前CPU占用情况)

adb shell top -s 9(代表CPU)

参数含义:

PID : 应用程序ID

S: 进程的状态(S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数)

THR : 程序当前所用的线程数

VSS : 虚拟耗用内存(包含共享库占用的内存)

RSS : 实际使用物理内存(包含共享库占用的内存)

PCY : 前台(fg)和后台(bg)进程

UID : 用户身份ID

Name : 应用程序名

在这里插入图片描述

16)获取流量消耗值

获取userId : adb shell dumpsys package 包名 | findstr userId

获取上行流量(返回数据单位bytes): adb shell cat proc/uid_stat/userId/tcp_snd

获取下行流量(返回数据单位bytes):adb shell cat proc/uid_stat/userId/tcp_rcv

注意:cat后的路径是固定; userId中的’i"是大写; package后不加s

在这里插入图片描述

17)稳定性测试(Monkey)

  1. adb shell monkey -p 包名 数字 -v > 本地文件

  2. -v -v -v : 最高级别日志

  3. 常用命令 :adb shell monkey -p 包名 10000 -v -v -v --throttle 500 > 本地文件

语法:adb shell monkey -p 包名 次数 -v >本地文件

说明:

-p 指定包名 (所有命令都在此包内执行,如不指定,则在整个系统内执行)

-v log详细程度(-v -v -v :最高级别日志)

–throttle 单步延时(每步操作间隔,单位毫秒)

–pct-touch 点击事件

常用命令:adb shell monkey -p 包名 10000 -v -v -v --throttle 500 > 本地文件

举例:

不控制事件:adb shell monkey –p com.tpshop.malls –v –v 1000 >C:\Users\18810\Desktop\monkey.txt

控制事件:adb shell monkey –p com.tpshop.malls --throttle 100 --pct-touch 50 --pct-motion 50 –v –v 1000 >C:\Users\18810\Desktop\monkey.txt

模拟器使用常见异常处理

问题1: devices offline (设备离线) 解决方案:重启模拟器

问题2: devices not found (找不到设备) 解决方案:重启模拟器

问题3: more than one devices emulater(连接了多个设备)

获取设备列表:adb devices

断开不需要的设备: adb disconnect 手机ip

4 SoloPi工具的安装使用

安装SoloPi工具

打开手机模拟器,直接将本地电脑的 SoloPi.apk 拖入模拟器自动安装

验证SoloPi工具

安装成功后桌面显示 SoloPi 软件图标

在这里插入图片描述

双击启动SoloPi工具,点击确定获得对应权限

在这里插入图片描述

SoloPi工具使用

进入点击“性能测试”–>点击全局下拉框(选择指定APP):

在这里插入图片描述

勾选性能测试指标:

在这里插入图片描述

启动开始监测–> 打开被测APP直接操作–>操作完毕后停止并自动保存:

在这里插入图片描述

返回SoloPi查看监测示意图:

在这里插入图片描述

可以直接导出保存的数据:

在这里插入图片描述

在共享文件夹打开本地电脑位置:

在这里插入图片描述


最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保证100%免费】
在这里插入图片描述
在这里插入图片描述

在寻找适合练习的app测试项目时,你可能会遇到一些问题。大部分项目是web项目,很难找到app项目,特别是有app安装包的项目。而且,大部分app项目只提供前端代码,没有后端服务代码,这使得你只能以“使用者”的角色来练习。此外,项目作者提供的是试用app,很难保障个人隐私和账号安全。还有一些项目缺少部署指南,让人感到困惑。另外,如果你缺乏业务基础,涉及支付、区块链、货币等业务的项目也很难上手。\[1\] 然而,我可以给你提供一个实战案例作为参考。一个名为"去玩App"的项目提供了一个线上聚会交友的平台,包括首页、房间、消息和我的四个模块。它准备了各种派对玩法,如语音聊天、动态广场、婚礼季、嗨歌抢唱和嵌入式游戏(你画我猜,谁是卧底等)。你可以根据需求明确测试范围,使用等价类划分、边界值等方法编写测试用例,参加用例评审并优化用例,然后执行测试。\[2\] 另外,还有一个网课APP项目,它是一款具有APP端和电脑端的软件,采用Java语言开发,是一款C/S架构的学习APP。主要用于教育培训,包括注册、登录、搜索课程、课程管理、学生管理和设置等功能。你可以负责APP端的测试工作,测试环境包括Android系统(8,9,10)、Linux和iOS。你可以使用工具如Fiddler、SoloPi、QNET、禅道、SVN、Postman和Catlog来编写测试用例、管理BUG、进行接口自动化测试、执行测试用例、辅助定位bug、进行弱网测试性能测试。\[3\] 希望这些实战案例能够帮助你进行app测试的练习。 #### 引用[.reference_title] - *1* [分享一份软件测试项目实战(web+app+h5+小程序)](https://blog.csdn.net/wukonginsight/article/details/120907457)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [让HR眼前一亮:30个APP项目软件测试经验,点燃你的简历](https://blog.csdn.net/m0_70618214/article/details/130323008)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值