智能体测开Day36

发布时间:2026/9/14 19:44:48

智能体测开Day36 app专项测试-兼容测试对于web兼容测试不同系统不同浏览器相同浏览器的不同版本对于app的兼容测试不同型号不同系统不同屏幕大小不同分辨率的手机手机的机型比较多品牌比较多分辨率比较多屏幕大小比较多造成需要测试的机型比较多手工测试迭代测试需要对Top50的机型进行测试上线前需要对Top20/10的机型进行测试,对之前有问题的机型进行测试云平台测试testinwetest蒲公英云测关注点1.操作系统 ios 8 9 10 11 android 5.0 6.0 7.02.分辨率 800*480 960 * 6403.硬件的系统架构(32位 64 位)4.rom 厂商 底层服务 。 miu oppo5.网络兼容蜂窝 wifi 弱网 流量APP专项测试-交叉事件中断测试在某个操作的过程中另一个事件或者操作对其进行了干扰或者在使用某个功能的过程中同时使用另一个功能。验证多个APP同时使用时是否有影响。使用APP的过程中拨打/接听电话使用APP的过程中发送/接收短信使用APP的过程中发送/接收邮件使用APP的过程中发送/接收微信使用APP的过程中闹钟响了、使用计算器、相机、 查看天气等使用APP的过程中使用蓝牙发送/接收文件app运行切换无线网络APP专项测试-消息推送测试推送设置全部推送、部分推送 消息形式弹窗、消息通知栏推送 测试点测试消息推送按照设置的规则进行推送。APP在后台运行下能收到推送消息。APP在锁屏状态下能收到推送消息。APP在网络断开重连后能收到推送消息。设置不接收推送消息不能收到推送消息。设置免打扰时间段在免打扰的时间段内不能收到推送消息。在非免打扰的时间段内能收到推送消息。推送消息针对登录用户时使用A登录后退出使用B登录应该只对B用户推送也就是最后一个登录的用户。使用真机来测试。APP专项测试-稳定性测试在一定压力下长时间操作观察app是否有功能问题、内存泄露、闪退、崩溃等问题一般使用工具去模拟用户的操作点击/旋转/放大/滑动等事件,通过大量的随机事件来验证程序的稳定性monkey工具去模拟稳定性测试monkey工具1是Android自带的一个程序放在system/bin/monkey。2可以模拟人的操作3通过adb命令来启动monkey工具monkey命令1执行操作1000次adb shell monkey -v-v-v 10002查看monkey帮助文档 adb shell monkey --help-p 指定包[--ignore-crashes] [--ignore-timeouts] [--ignore-security-exceptions]一般情况下如果 monkey执行过程中碰到崩溃超时其他异常的情况会停止运行可以设置忽略让monkey继续运行-s 设置seed种子-v 详细的日志信息 -v-v更详细的信息 -v-v-v最详细的11个事件 设置事件的比重[--pct-touch PERCENT] 触碰事件[--pct-motion PERCENT] 滑动事件[--pct-trackball PERCENT] 轨迹球事件[--pct-syskeys PERCENT] 系统按键事件[--pct-nav PERCENT] 基本导航栏事件[--pct-majornav PERCENT] 主要导航栏事件[--pct-appswitch PERCENT] app切换事件[--pct-flip PERCENT] 键盘相关事件[--pct-anyevent PERCENT] 任意事件[--pct-pinchzoom PERCENT] 二指缩放[--pct-permission PERCENT] 权限相关3设置事件比重adb shell monkey --pct-touch 40 --pct-motion 20 --pct-trackball 20 --pct-pinchzoom 20 -v-v-v 1000 1d:\apks\log.txt 2d:\apks\error.txt4指定包查看包名adb shell pm list packagesadb shell monkey --pct-touch 40 -p com.mt.mtxx.mtxx --pct-motion 20 --pct-trackball 20 --pct-pinchzoom 20-v-v-v 1000 1d:\apks\log.txt 2d:\apks\error.txt5忽略异常--ignore-crashes --ignore-timeouts --ignore-security-exceptionsadb shell monkey --pct-touch 40 -p com.zzb.memoryleak --pct-motion 20 --pct-trackball 20 --pct-pinchzoom 20 -v-v-v --ignore-crashes --ignore-timeouts --ignore-security-exceptions 1000 1d:\apks\log.txt 2d:\apks\error.txt6设置种子adb shell monkey -s 1785467127536 --pct-touch 40 -p com.zzb.memoryleak --pct-motion 20 --pct-trackball 20 --pct-pinchzoom 20 -v-v-v --ignore-crashes --ignore-timeouts --ignore-security-exceptions 1000 1d:\apks\log.txt 2d:\apks\error.txt分析日志文件在日志中搜索ANR CRASH ERROR EXCEPTION等看是否有异常ANR:无响应crash:崩溃error:异常exception:异常常见的Java异常1. NullPointerException 空指针异常。原因尝试调用未初始化对象的方法或属性例如访问空引用对象的成员变量。解决使用 Optional 类包装对象或在调用前显式检查对象是否为null。2. ArrayIndexOutOfBoundsException 数组越界异常。原因访问数组时索引超过数组长度范围例如访问长度为5的数组的第6个元素。解决通过 arr.length 检查索引范围或使用增强型 for 循环遍历数组。3. ClassCastException 类型转换异常。原因强制将对象转换为不兼容的类型。解决转换前使用 instanceof 关键字校验类型。4. ArithmeticException 算术异常。原因数学运算错误如除数为零。解决通过条件判断避免非法运算例如检查除数是否为0。常见编译时异常1. IOException 输入输出异常。原因文件不存在、网络中断等外部因素导致IO操作失败。解决使用 try-catch 捕获异常或在方法签名中声明 throws 。2. FileNotFoundException 文件未找到异常。原因尝试打开不存在的文件路径。解决使用 File.exists() 方法检查文件是否存在。APP专项测试-性能测试服务端的性能响应事件吞吐量错误率并发用户数 cpu 内存 网络io 磁盘ioapp的性能app的启动时间界面响应时间内存cpu的使用情况单位时间内的流量消耗单位时间内的耗电 量FPS(帧率)测试方式1adb命令 2使用工具prefdog(性能狗工具)app的启动时间冷启动app在后台没有运行的情况下启动时间应该在1.5s以内热启动app在后台运行的情况下启动时间应该在1s以内命令adb shell am start -W 包名/.activityaapt dump badging d:/apks/meitu8.6.2.0.apkadb shell am start -W com.mt.mtxx.mtxx/.TopViewActivity界面响应时间手工测试掐表自动化测试使用python代码去记录时间差内存cpu空闲状态下将app放在后台运行查看内存cpu的使用情况中等状态下手动使用app一段时间查看内存cpu的使用情况高强度状态下使用monkey去执行查看内存cpu的使用情况内存:adb shell dumpsys meminfo 包名adb shell dumpsys meminfo com.mt.mtxx.mtxx1024byte1kb1024kb1mb1024mb1G1024G1TCPU空闲状态下将app放在后台运行查看cpu的占比 0%中等状态下手动使用app一段时间查看cpu的占比 30%高强度状态下使用monkey去执行查看cpu的占比 50%adb shell dumpsys cpuinfo 查看所有的app的cpu占比adb shell dumpsys cpuinfo | findstr mt 查看某个包的cpu占比adb shell dumpsys cpuinfo 包名adb shell dumpsys cpuinfo com.mt.mtxx.mtxx 根据包名查看adb shell top -d 3| findstr com.mt.mtxx.mtxx 每个3s去打印cpu的使用adb shell top -s 10 根据内存占比情况排序去查看内存cpu的使用adb shell top -s 9 根据cpu占比情况排序去查看内存cpu的使用FPS帧率当帧率高于24时就认为手机屏幕是连贯的当app是游戏app是需要高于30否则会出现卡顿前提打开开发者选项--》Gpu呈现模式--》adb shell dumpsys...adb shell dumpsys gfxinfo 包名adb shell dumpsys gfxinfo com.mt.mtxx.mtxx60的帧率 60/s 60/1000ms 1000/6016.7Draw表示在Java中创建显示列表部分中OnDraw()方法占用的时间Prepare准备时间Process表示渲染引擎执行显示列表所花的时间view越多时间就越长Execute表示把一帧数据发送到屏幕上排版显示实际花费的时间其实是实际显示帧数据的后台缓存区与前台缓冲区交换后并将前台缓冲区的内容显示到屏幕上的时间将上面的四个时间加起来就是绘制一帧所需要的时间如果超过了16.67就表示掉帧了单位时间的耗电量adb shell dumpsys battery单位时间的流量消耗adb shell cat /proc/进程id/net/dev进程id adb shell pidof 包名adb shell pidof com.mt.mtxx.mtxxadb shell cat /proc/3280/net/devRecevice: 表示收包 Transmit: 表示发包 bytes: 表示收发的字节数 packets: 表示收发正确的包量 errs: 表示收发错误的包量 drop:表示收发丢弃的包量性能狗perfDog工具https://perfdog.qq.com/article_detail?id10089issue_id0plat_id1a. 非安装模式手机即插即用无需任 何设置及安装使用非常简单但手机屏幕上没有实时性能数据显示。b. 安装模式 需要在手机上自动安装 PerfDog.apk手机屏幕上有实时性能数据显示允许USB应用安装和PerfDog悬浮窗 管理权限启动PC版 PerfDog.exe则会在手机上自动PUSH安装PerfDog.apk具体安装类似各个手机 厂商安装第三方APP提示安装即 可。注由于很多手机安装需要账号密码导致无法自动安装如果自动安装失败则会把安装文件 PerfDog.apk释放到当前文件夹里手动安装PerfDog.apk即可。此模式下在测试过程中可能由于系统资源 紧缺会kill PerfDog显示app手机界面性能数据显示但不影响正常测试功能弱网测试抓包APP在使用过程中可能会在公交、地铁、山上等地方使用网络可以会出现波动、超时等。一般我们要模拟弱网环境 测试点 看是否存在界面卡死、崩溃等异常。 提示是否有合理的重连机制。 超时后的提示信息是否符合用户的习惯。模拟弱网环境charles 收费的 window macNet-simulator 专业的模拟弱网工具fiddler工具可以用于web程序、app程序的抓包,模拟浏览器和手机的弱网环境 只能用于window系统弱网的环境模拟1配置fidder:允许外界设备去连接fiddler2让手机和fiddler处于同一个网络环境3配置手机的ip为fiddler所在电脑的ip, 配置手机的端口号为fiddler的端口号保证他们能建立连接4手机上下载配置证书此时手机和fiddler就建立了连接5在fiddler上进行弱网的配置
延伸阅读

更多相关文章

2026/9/12 21:52:37

缠论算法可视化插件:让通达信成为你的智能缠论分析助手

缠论算法可视化插件:让通达信成为你的智能缠论分析助手 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 在复杂多变的金融市场中,缠论作为一种系统化的技术分析方法,因其…

2026/9/12 16:05:07

虚拟DOM原理与React性能优化实践

1. 虚拟 DOM 的本质与设计哲学1.1 从真实 DOM 到虚拟 DOM 的进化之路十年前我刚接触前端开发时,操作 DOM 还是直接使用 jQuery 的$(#id).html()这种方式。当时一个常见的性能问题是:频繁的 DOM 操作会导致页面重绘和回流,特别是在动态更新列表…

2026/9/14 18:57:28

Dify开源智能体开发平台架构解析与实践指南

1. Dify项目概述与核心价值Dify作为一款开源的智能体开发平台,正在成为企业级AI应用开发的新宠。这个项目最吸引我的地方在于它巧妙地将大模型能力封装成可视化工作流,让开发者无需深入底层细节就能快速构建智能应用。从技术架构来看,Dify采用…

2026/9/15 18:18:24

PHP会员发布版游戏站源码部署与安全加固实战

简介:一套基于PHP开发的98游戏发布站会员版源码,面向游戏站长和PHP初中级开发者,可快速搭建支持会员上传、游戏分类、下载管理、评论评分等功能的在线发布平台,无需从零开发。压缩包共242个文件,以84个PHP脚本为核心&a…

2026/9/15 18:18:24

npm从底层机制到高频报错:一篇搞懂依赖管理与版本冲突

做前端和后端开发这些年,npm 几乎是我每天都会顺手敲上几遍的命令。装依赖用它,跑构建用它,发布包还是用它,但很多人对 npm 的了解停在“能跑 npm install 就行”这个层面,一旦遇到版本冲突、lock 文件异常、权限报错这…

2026/9/15 18:18:24

Kotlin安卓开发入门:从语法基础到实战项目全攻略

1. 从零开始的Kotlin:为什么安卓开发绕不开这门语言最近在带几个刚入行的朋友做安卓项目,发现一个挺有意思的现象:很多人一上来就急着写界面、调接口,结果连基础的语法都磕磕绊绊,遇到空指针、类型转换报错能卡一整天。…

2026/9/15 18:18:24

Flutter加密组件移植鸿蒙实战:BIP39安全实现

1. 项目背景与核心挑战在移动端跨平台开发领域,Flutter 和鸿蒙(HarmonyOS)都是当前最受关注的技术栈。当我们需要在鸿蒙系统上实现区块链级别的安全功能时,往往会遇到一个关键问题:如何将成熟的 Flutter 加密组件移植到…

2026/9/15 18:13:21

NVIDIA与Hugging Face深度技术耦合实战指南

这个标题本身存在严重事实性错误——截至目前(2024年中),NVIDIA 并未收购 Hugging Face,也从未宣布或完成任何金额为 129.3 亿美元的收购交易。该信息在主流科技媒体(Reuters、Bloomberg、TechCrunch、The Verge&#…

2026/9/15 4:54:30

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/15 0:01:16

AI英语单词APP开发:自适应学习算法与移动端优化实践

1. 项目概述 作为一名在移动应用开发领域摸爬滚打多年的老手,我最近完成了一个AI英语单词APP的开发项目。这个项目将传统单词记忆方法与现代AI技术相结合,打造了一款能够智能适应不同用户学习习惯的英语学习工具。 市面上大多数单词APP都存在一个通病&a…

2026/9/15 0:01:16

Flutter与OpenHarmony结合开发手语学习APP实战

1. 项目背景与核心价值作为一名同时接触过Flutter和OpenHarmony的开发者,最近我完成了一个基于Flutter for OpenHarmony的手语学习APP实战项目。这个项目最大的特点在于实现了跨平台框架与国产操作系统深度结合的创新实践——用Flutter开发的应用能完美运行在OpenHa…

2026/9/15 0:01:16

六个月成为机器人工程师:从ROS2到SLAM的实战路径

1. 六个月的紧迫感从哪来:先搞清楚你要成为哪种机器人工程师说实话,六个月的期限并不是一个宽松的时间线。市面上任何一本正经的机器人学教材都超过五百页,ROS2的官方文档可以翻到你怀疑人生,再加上ABB、KUKA这些工业机器人厂家动…

2026/9/15 14:22:53

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/14 13:53:59

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/15 11:42:23

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码