You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
8.3 KiB
8.3 KiB
Android APK 快速测试指南
前提条件
开发环境
- ✅ Android Studio(已安装)
- ✅ Android SDK Platform 32+
- ✅ Gradle 8.5
- ✅ Java 17
测试设备
- 推荐:真实Android物理设备(用于测试语音功能)
- 可选:Android模拟器(仅用于测试非语音功能)
快速构建和安装
1. 构建APK
# Windows PowerShell
cd E:\2025-2026\软件工程基础\实验\MCSLMS
# 清理并构建
.\gradlew.bat :android:clean :android:assembleDebug
预期输出:
BUILD SUCCESSFUL in XXs
APK位置:
android\build\outputs\apk\debug\mcslms-debug.apk
2. 安装到设备
方法A:使用ADB(推荐)
# 检查设备连接
adb devices
# 安装APK
adb install -r android\build\outputs\apk\debug\mcslms-debug.apk
# 启动应用
adb shell am start -n com.smartlibrary/.android.MainActivity
方法B:手动安装
- 将APK文件复制到手机
- 在手机上打开文件管理器
- 点击APK文件安装
- 允许安装未知来源应用
功能测试清单
✅ 基础功能测试
1. 应用启动
- 应用成功启动
- 显示主界面
- 显示图书统计信息
- 显示图书列表
2. 数据加载
- Mock数据自动生成
- 图书数据正确显示
- 借阅记录正确显示
✅ AI功能测试
3. AI智能助手(本地)
- 点击"💬 AI智能助手(本地)"按钮
- 界面正常显示
- 输入"你好",收到问候回复
- 输入"帮助",收到帮助信息
- 输入"图书",收到图书相关信息
- 消息显示时间戳
- 自动滚动到最新消息
测试用例:
输入:你好
预期:问候回复
输入:帮助
预期:功能列表
输入:如何借书
预期:借书指南
输入:推荐图书
预期:图书推荐信息
4. 增强AI助手(真实AI+语音)
前提:需要网络连接
- 点击"🚀 增强AI助手(真实AI+语音)"按钮
- 界面正常显示
- 显示AI提供商选择(本地Mock/DeepSeek/智谱AI)
文本对话测试:
- 选择"DeepSeek"
- 输入问题,等待响应
- 收到AI回复
- 切换到"智谱AI"
- 再次测试对话
语音输入测试(需真实设备):
- 点击🎤按钮
- 授予录音权限
- 说话5秒
- 识别结果填入输入框
- 点击发送
语音播报测试(需真实设备):
- 获得AI回复后
- 点击🔊按钮
- 听到语音播报
5. AI智能搜索
- 点击"🔍 AI智能搜索"按钮
- 输入搜索关键词(如"Python")
- 点击搜索
- 显示搜索结果
- 结果包含图书信息
测试用例:
搜索:Python
预期:显示Python相关图书
搜索:Java
预期:显示Java相关图书
搜索:(空)
预期:显示警告信息
6. AI个性化推荐
- 点击"💡 AI个性化推荐"按钮
- 自动加载推荐
- 显示至少3本图书
- 每本图书包含推荐理由
- 点击刷新按钮
- 生成新的推荐
✅ UML功能测试
7. 查看系统UML图
- 点击"📊 查看系统UML图"按钮
- 显示UML图类型列表
- 点击某个图表类型
- 显示详细信息
- 如果有网络,显示"在线查看"选项
8. UML图生成器(新功能)
前提:需要网络连接
- 点击"🎨 UML图生成器(在线)"按钮
- 界面正常显示
- 显示示例PUML代码
- 选择"PlantUML官方"服务器
- 点击"生成图表"
- 等待加载(显示进度条)
- 成功显示UML图
故障转移测试:
- 选择"PlantUML官方"
- 生成图表(如果失败会自动切换到Kroki)
- 选择"Kroki服务器"
- 再次生成图表
自定义PUML测试:
@startuml
Alice -> Bob: Hello
Bob -> Alice: Hi
@enduml
- 清空输入框
- 输入上述代码
- 生成图表
- 显示序列图
错误处理测试:
@startuml
这是无效的PUML代码
@enduml
- 输入无效代码
- 点击生成
- 显示错误信息
性能测试
响应时间
- AI助手响应 < 3秒
- 搜索响应 < 1秒
- 推荐生成 < 2秒
- UML生成 < 10秒
内存使用
- 应用启动后内存 < 200MB
- 长时间使用无内存泄漏
- 图片加载后正确释放
网络测试
- 无网络时本地功能正常
- 有网络时在线功能正常
- 网络切换时应用不崩溃
错误处理测试
网络错误
- 断开网络
- 尝试使用增强AI助手
- 显示友好错误信息
- 尝试使用UML生成器
- 显示友好错误信息
权限错误
- 拒绝录音权限
- 尝试使用语音输入
- 显示权限提示
输入验证
- 搜索空字符串
- 显示验证错误
- UML生成器空输入
- 显示验证错误
已知问题和限制
1. 模拟器限制
❌ 语音功能在模拟器上不可用
- 原因:模拟器麦克风实现不可靠
- 解决:必须在真实设备上测试
2. 网络依赖
⚠️ 部分功能需要网络
- 增强AI助手(真实AI)
- UML图生成器
- 语音识别和合成
3. API限制
⚠️ API密钥有使用限制
- DeepSeek API:有请求频率限制
- 智谱AI API:有请求频率限制
- 讯飞API:有每日调用次数限制
故障排除
问题1:应用无法安装
症状:INSTALL_FAILED_UPDATE_INCOMPATIBLE
解决:
# 卸载旧版本
adb uninstall com.smartlibrary
# 重新安装
adb install android\build\outputs\apk\debug\mcslms-debug.apk
问题2:应用崩溃
症状:应用启动后立即退出 解决:
# 查看日志
adb logcat | findstr "AndroidRuntime"
# 或查看完整日志
adb logcat > log.txt
问题3:网络请求失败
症状:AI功能返回错误 检查:
- 设备是否联网
- API密钥是否有效
- 防火墙是否阻止
问题4:语音识别失败
症状:总是返回"未能识别语音" 检查:
- 是否在真实设备上测试
- 是否授予录音权限
- 环境是否安静
- 说话是否清晰
问题5:UML生成失败
症状:两个服务器都失败 检查:
- 网络连接是否正常
- PUML代码是否正确
- 服务器是否可访问
测试报告模板
# 测试报告
**测试日期**:YYYY-MM-DD
**测试设备**:[设备型号]
**Android版本**:[版本号]
**APK版本**:mcslms-debug.apk
## 测试结果
### 基础功能
- [ ] 应用启动:✅/❌
- [ ] 数据加载:✅/❌
### AI功能
- [ ] 本地AI助手:✅/❌
- [ ] 增强AI助手:✅/❌
- [ ] AI搜索:✅/❌
- [ ] AI推荐:✅/❌
### UML功能
- [ ] UML查看器:✅/❌
- [ ] UML生成器:✅/❌
### 语音功能(仅真实设备)
- [ ] 语音输入:✅/❌
- [ ] 语音播报:✅/❌
## 发现的问题
1. [问题描述]
- 重现步骤:
- 预期结果:
- 实际结果:
- 严重程度:高/中/低
## 性能评估
- 启动时间:[X]秒
- 内存使用:[X]MB
- 响应速度:快/中/慢
## 总体评价
[总体评价和建议]
快速验证脚本
创建一个批处理文件 test.bat:
@echo off
echo ========================================
echo Android APK 快速测试脚本
echo ========================================
echo.
echo [1/4] 检查设备连接...
adb devices
echo.
echo [2/4] 构建APK...
call gradlew.bat :android:assembleDebug
echo.
echo [3/4] 安装APK...
adb install -r android\build\outputs\apk\debug\mcslms-debug.apk
echo.
echo [4/4] 启动应用...
adb shell am start -n com.smartlibrary/.android.MainActivity
echo.
echo ========================================
echo 测试准备完成!
echo 请在设备上进行功能测试。
echo ========================================
pause
运行:
.\test.bat
总结
本测试指南涵盖了所有核心功能的测试步骤。建议按照以下顺序进行测试:
- ✅ 基础功能(应用启动、数据加载)
- ✅ 本地AI功能(无需网络)
- ✅ 在线AI功能(需要网络)
- ✅ UML功能(新增功能)
- ✅ 语音功能(需真实设备)
完成测试后,请填写测试报告并记录发现的问题。
祝测试顺利! 🎉