A公司物料替代测试系统 v1.7:从需求到 exe/apk 的 AI 辅助全链路实践

A公司物料替代测试系统 v1.7:从需求到 exe/apk 的 AI 辅助全链路实践 ## 背景 物料替代验证以往依赖人工逐项跑 ADB 命令、Excel 记录、多机并行难协调。我在 Cursor 中从需求描述出发,**独立完成了** Windows 桌面客户端、Android 本机压测 APK、NDK 交叉编译工具链、全量 UI 自动化与发布流水线。 ## 系统定位 面向安卓播放盒/板卡的 **物料替代自动化测试平台**,核心能力: | 能力 | 说明 | |------|------| | ADB 编排 | 多设备并行、队列模板、JSON 导入导出 | | 测试项注册表 | CPU/DDR/eMMC/USB/网络/音频/RTC/稳定性等 | | 进度监控 | 每设备独立进度条、HTML 报告 | | 模拟设备 | 无真机可演示全流程 UI | | 发布 | Windows exe + Android apk + PDF 手册 + 演示视频 | 当前发布版本 **v1.7.2**。 ## 技术架构 ``` main.py → CustomTkinter UI ├── nova_test/runner/engine.py # 调度引擎、会话令牌防串台 ├── nova_test/tests/*.py # 各测试项实现 ├── nova_test/adb/ # 设备探测、无线 ADB ├── bin/ + tools_src/ # arm64/arm32 交叉编译 bin └── android_app/ # Kotlin 本机压测 APK ``` ### 典型测试项 - **emmc.dd / emmc.stress / emmc.fio**:存储顺序读写与 24h 级压力 - **ddr.memtester**:内存稳定性 - **cpu.stress**:CPU 负载 - **stability.reboot / stability.relay**:重启循环、继电器循环 - **probe.device**:设备信息快照 ## AI 辅助开发闭环 在 Cursor 中的典型工作流: 1. **输入需求**(Wiki/Excel/口头描述)→ AI 生成测试项 schema、参数面板、帮助文案 2. **自写 GUI**:CustomTkinter + 主题统一,懒加载摄像头/OpenCV 模块加速启动 3. **自配编译环境**:`tools_src/build_android_bins.ps1` 编译 memtester、fio、stress 等到 `bin/arm64` 4. **自写 UI 自动化**:`scripts/run_full_ui_automation.py` 自动点遍功能页,输出截图、录屏、PDF 手册 5. **Bugfix 迭代**:模拟 ADB 设备 `192.168.3.100:5555` 无真机回归 6. **打包发布**:PyInstaller exe + Gradle apk + `publish_release.py` 同步到交付目录 一键命令: ```bat scripts\run_automation_and_release.bat ``` 输出:`tests/full_automation_<时间戳>/` 含 logs、screenshots、video、docs(PDF)。 ## v1.7.x 亮点 - 测试编排:保存队列 / 模板 / JSON 导入导出 - 流程模板横向滑动,查看测试项详情 - 压力测试挂测参数:可配置时长;CPU/内存支持探测值 - 多队列切换性能优化 - 网络 ADB 序列号含 `:` 时报告路径自动转义 ## 工程实践要点 1. **会话令牌**:重复点「开始」不与上一轮任务串台 2. **线程安全进度**:设备进度加锁,避免 UI 乱跳 3. **Win7/10/11 兼容**:字体回退、子进程无窗口 4. **预热启动**:启动屏期间多线程加载注册表与引擎,约 1.6s 进主界面 ## 小结 这套系统证明:**测试工程师 + Cursor AI** 可以独立完成「需求 → 客户端 → 跨平台 bin → 自动化 → 文档视频 → 交付包」的全链路,把物料替代从手工 ADB 升级为可规模化挂测平台。 > 本文为个人开源实践分享,文中 A公司 为脱敏代称,不涉及客户机密协议与未公开参数。

相关推荐
Lyn_Li20 小时前
扫描 PDF 歪了怎么办?用 6 种检测方法做本地批量扶正(附开源工具)
python·pdf·ocr·tesseract·开源工具·文档处理·本地处理·扫描件纠偏
金銀銅鐵20 小时前
费马小定理
python·数学·算法
wumingxiaoyao1 天前
从 0 开始学 AI:第 2 课,AI、机器学习、深度学习和大模型是什么关系?
人工智能·深度学习·机器学习·ai·大模型·llm
疋瓞1 天前
python和C++对比(1)_数据类型和数据结构
数据结构·c++·python
机智的张尼玛1 天前
我基于 Kotlin Multiplatform 实现了一套跨平台的弱网离线同步引擎
android·开源·kotlin
如此这般英俊1 天前
手搓Claude Code-第六章 subagent
数据结构·人工智能·python·语言模型·自然语言处理
leonshi1 天前
Embedchain 是什么?用最简单的话讲清楚一个"AI 知识问答工具框架"
ai·rag
元Y亨H1 天前
Python - FastAPI 全方位介绍
python·fastapi
带刺的坐椅1 天前
Agent Harness 实战指南:构建生产级 AI Agent 的"马具"框架
java·ai·llm·agent·solon-ai
安卓修改大师1 天前
安卓修改大师反编译引擎Apktool深度解析:版本选择、参数说明与实战技巧
android