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.
mcslms/android/QUICK_TEST_GUIDE.md

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手动安装

  1. 将APK文件复制到手机
  2. 在手机上打开文件管理器
  3. 点击APK文件安装
  4. 允许安装未知来源应用

功能测试清单

基础功能测试

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语音识别失败

症状:总是返回"未能识别语音" 检查

  • 是否在真实设备上测试
  • 是否授予录音权限
  • 环境是否安静
  • 说话是否清晰

问题5UML生成失败

症状:两个服务器都失败 检查

  • 网络连接是否正常
  • 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

总结

本测试指南涵盖了所有核心功能的测试步骤。建议按照以下顺序进行测试:

  1. 基础功能(应用启动、数据加载)
  2. 本地AI功能无需网络
  3. 在线AI功能需要网络
  4. UML功能新增功能
  5. 语音功能(需真实设备)

完成测试后,请填写测试报告并记录发现的问题。


祝测试顺利! 🎉