移动应用开发课设——原神小助手文档(2)

 2023年末,做的移动应用开发课设,分还算高,项目地址:有帮助的话,点个赞和星呗~

GitHub - blhqwjs/-GenShin_imp: 2023年移动应用开发课设

本文按照毕业论文要求来写,希望对大家有所帮助。

接上文:

移动应用开发课设——原神小助手文档(1)-CSDN博客

第5章 系统测试

5.1 黑盒测试

为了全面评估系统的外部功能,深入了解程序的执行路径并验证不同的条件和分支,选择了黑盒测试的方法。测试策略包括定义测试范围、指定测试阶段等黑盒测试方法。测试用例设计包括各种输入,覆盖正常、边界和异常情况,并考虑外部预期结果。

5.2 单元测试

本次测试分别对项目核心代码:CharacterDetailsActivity、MainActivity、AddCharacterActivity、ManageMonsterActivity、AddMonsterActivity、进行插桩测试,并对项目进行整体的单元测试。测试用例以及方法如下:

表5.1 测试用例

测试方法名称

输入数据(或描述)

预期输出

预期行为

实际输出

是否通过

testValid

Character

Insertion

名称: "角色1", 属性: "属性1", 技能: "技能1", 元素: "元素1", 喜好: "喜好1", 攻击: 100, 元素伤害: 1.5, 暴击率: 0.8, 暴击伤害: 2.0

预期ID: Long (插入角色的ID)

当有效角色信息被插入时,预期返回插入的角色ID

实际ID: Long (实际插入角色的ID)

testEmpty

Character

Insertion

名称: "", 属性: "", 技能: "", 元素: "", 喜好: "", 攻击: 0, 元素伤害: 0, 暴击率: 0, 暴击伤害: 0

预期ID: -1

当空白/无效角色信息被插入时,预期返回-1

实际ID: -1

testNegative

AttackValue

名称: "角色2", 属性: "属性2", 技能: "技能2", 元素: "元素2", 喜好: "喜好2", 攻击: -50, 元素伤害: 1.0, 暴击率: 0.5, 暴击伤害: 1.5

预期ID: -1

当攻击值为负数时,预期返回-1

实际ID: -1

续表5.1 测试用例

testZero

Critical

Rate

名称: "角色3", 属性: "属性3", 技能: "技能3", 元素: "元素3", 喜好: "喜好3", 攻击: 80, 元素伤害: 2.0, 暴击率: 0.0, 暴击伤害: 2.5

预期ID: Long

当暴击率为0时,预期成功插入角色并返回插入的角色ID

实际ID: Long (实际插入角色的ID)

 

test

Maximum

Attribute

Length

名称: "角色4角色4角色4角色4角色4角色4角色4角色4角色4", 属性: "属性4", 技能: "技能4", 元素: "元素4", 喜好: "喜好4", 攻击: 120, 元素伤害: 1.0, 暴击率: 0.6, 暴击伤害: 1.8

ID: Long (插入角色的ID)

当属性名称长度超过限制时,预期成功插入角色并返回插入的角色ID

实际ID: Long (实际插入角色的ID)

testNull

Element

Input

名称: "角色5", 属性: "属性5", 技能: "技能5", 元素: null, 喜好: "喜好5", 攻击: 90, 元素伤害: 1.2, 暴击率: 0.7, 暴击伤害: 1.7

预期ID: Long (插入角色的ID)

当元素输入为空时,预期成功插入角色并返回插入的角色ID

实际ID: Long (实际插入角色的ID)

testDouble

Elemental

Damage

Value

名称: "角色6", 属性: "属性6", 技能: "技能6", 元素: "元素6", 喜好: "喜好6", 攻击: 100, 元素伤害: 2.5, 暴击率: 0.8, 暴击伤害: 2.3

预期ID: Long (插入角色的ID)

当元素伤害值为浮点数时,预期成功插入角色并返回插入的角色ID

实际ID: Long (实际插入角色的ID)

testCalculate

Damage

_FireIce

Reaction

火属性角色,冰属性怪物;攻击力100,元素伤害1.5,暴击率0.8,暴击伤害2.0

触发融化、暴击了、伤害值符合计算公式

火属性与冰属性的融化反应下计算伤害值

暴击了、伤害值(按照计算公式)符合预期

testCalculate

Damage_

WaterIce

Reaction

水属性角色,冰属性怪物;攻击力90,元素伤害1.2,暴击率0.7,暴击伤害1.7

触发冻结、普通一击、伤害值符合计算公式

水属性与冰属性的冻结反应下计算伤害值

冻结、普通一击、伤害值(按照计算公式)符合预期

续表5.1 测试用例

testCalculate

Damage_Fire

WaterReaction

火属性角色,水属性怪物;攻击力100,元素伤害1.5,暴击率0.8,暴击伤害2.0

触发蒸发、暴击了、伤害值符合计算公式

火属性与水属性的蒸发反应下计算伤害值

蒸发、暴击了、伤害值(按照计算公式)符合预期

testCalculate

Damage

_NormalHit

草属性角色,水属性怪物;攻击力90,元素伤害1.2,暴击率0.7,暴击伤害1.7

普通一击、伤害值符合计算公式

未触发元素反应下计算伤害值

普通一击、伤害值(按照计算公式)符合预期

testCalculate

Damage

_Immunity

雷属性角色,雷属性怪物;攻击力100,元素伤害1.5,暴击率0.8,暴击伤害2.0

免疫! 免疫!

雷属性对雷属性怪物免疫

免疫! 免疫!

testGet

AllMonsters

数据库中有多个怪物记录,例如(id=1, name="Slime", attack=20)

返回怪物列表,列表包含数据库中所有怪物的信息

获取数据库中所有怪物信息并创建相应的Monster对象,添加到列表中

实际输出符合预期


testMonster

Adapter

怪物列表包含多个怪物对象,例如(id=1, name="Slime", attack=20)

ListView中显示了所有怪物的名称和相关信息

使用MonsterAdapter将怪物数据绑定到ListView,显示怪物的名称和信息

实际输出符合预期

testOnItem

Click

用户点击某个怪物列表项,例如(id=1, name="Slime", attack=20)

启动EditMonsterActivity,并传递选中怪物的ID

监听ListView的点击事件,获取点击项对应的Monster对象,启动编辑页面

实际输出符合预期

testOnItem

ClickInvalid

用户点击无效的列表项,例如(id=99, name="Invalid", attack=0)

无启动任何新活动

点击ListView中不存在的项,不应启动新的活动

实际输出符合预期

续表5.1 测试用例

testEmpty

Monster

List

数据库中没有怪物记录

空的怪物列表,ListView不显示任何项

查询数据库,如果没有怪物记录,Monster列表应为空

实际输出符合预期

testEmpty

Fields

名称:空 攻击力:空 防御力:空 等级:空 元素类型:空 生命值:空

添加失败

添加空白的怪物数据时应显示失败提示

显示失败提示

test

Invalid

Data

名称:龙 攻击力:abc 防御力:xyz 等级:! 元素类型:不明 生命值:2000

添加失败

添加无效的怪物数据时应显示失败提示

显示失败提示

testInvalid

Attack

名称:火元素史莱姆 攻击力:-10 防御力:30 等级:8 元素类型:火 生命值:150

添加失败

添加无效的攻击数据时应显示失败提示

显示失败提示

testInvalid

Defense

名称:电击史莱姆 攻击力:40 防御力:-5 等级:10 元素类型:雷 生命值:120

添加失败

添加无效的防御数据时应显示失败提示

显示失败提示

testInvalid

Level

名称:冰霜史莱姆 攻击力:60 防御力:25 等级:0 元素类型:冰 生命值:80

添加失败

添加无效的等级数据时应显示失败提示

显示失败提示

testDelete

Character

存在选中的角色ID,例如选中ID为1的角色

角色被删除,活动关闭

点击删除按钮,弹出确认对话框,选择确定后执行删除

角色被删除,活动关闭

testDelete

Character

NoID

不存在选中的角色ID

无删除操作,活动保持不变

点击删除按钮,由于没有选中的角色,保持活动不变

无删除操作,活动保持不变

testCalculate

Damage

存在选中的怪物和角色,例如选中ID为1的怪物和ID为2的角色

显示伤害值

点击"战斗怪物"按钮,计算伤害值并将其显示在文本视图中

显示计算后的伤害值

续表5.1 测试用例

testCalculate

Damage

NoMonster

存在选中的角色,但不存在选中的怪物,例如选中ID为2的角色

不显示伤害值,文本视图为空

点击"战斗怪物"按钮,由于没有选中的怪物,文本视图为空

不显示伤害值,文本视图为空

testCalculate

Damage

NoCharacter

不存在选中的角色,但存在选中的怪物,例如选中ID为1的怪物

不显示伤害值,文本视图为空

点击"战斗怪物"按钮文本视图应为空

不显示伤害值,文本视图为空

testCalculate

Damage

Element

Reaction

存在选中的怪物和角色,且它们有相克的元素,例如选中ID为1的怪物和ID为2的角色

显示相应的元素反应伤害值

角色的元素为火,怪物的元素为水,应触发"蒸发"元素反应,计算伤害值并显示

显示相应的元素反应伤害值,触发蒸发

testCalculate

Damage

NoElement

Reaction

存在选中的怪物和角色,但它们没有相克的元素,例如选中ID为1的怪物和ID为3的角色

显示普通伤害值

角色的元素为火,怪物的元素为草,不应触发元素反应,计算普通伤害值并显示

显示普通伤害值,未触发元素反应

testCalculate

Damage

Critical

存在选中的怪物和角色,且发生了暴击, ID为1的怪物和ID为2的角色

显示暴击伤害值

角色的暴击率较高,应计算暴击伤害值

显示暴击伤害值

testCalculate

Damage

NoCritical

存在选中的怪物和角色,但未发生暴击,例如选中ID为1的怪物和ID为3的角色

显示普通伤害值

角色的暴击率较低,应计算普通伤害值并显示

显示普通伤害值

testWeb

View

Button

点击WebView按钮

启动WebViewActivity

点击WebView按钮,启动

启动WebViewActivity

testPlay

Videos

Button

点击Play Videos按钮

启动VideosActivity,并传递选中角色的名字

点击Play Videos按钮,启动VideosActivity,并传递选中角色的名

启动VideosActivity,并传递选中角色的名字

,符合预期行为。各个功能均能正常触发,未出现明显的错误或异常情况。通过黑盒测试,验证了系统在用户角度下的功能和性能。

(1)测试结果:

测试结果表明应用程序在正常和异常情况下都表现良好,符合预期行为。各个功能均能正常触发,未出现明显的错误或异常情况。通过黑盒测试,验证了系统在用户角度下的功能和性能。

(2)缺陷分析

① 用户体验问题:

缺乏友好的错误提示信息,可能使用户难以理解和解决问题。

针对无效输入,系统未提供足够详细的错误反馈,可能导致用户困惑。

②功能验证不充分:

部分功能虽然被测试,但对目标活动是否正确使用传递的数据缺乏验证,可能导致目标活动中显示不正确的信息。

 

5.3 集成测试

依据集成测试结果表明在不同组件之间的集成中,系统表现出良好的稳定性和正确性。组件之间的信息传递和功能调用正常,页面之间的集成也符合预期。具体如下表(表5.2)所示

表5.2 集成测试情况

类名

集成测试目标

测试步骤

测试结果

Main

Activity

验证主界面与其他关键模块的集成,确保启动其他活动的按钮功能正常。

1. 启动MainActivity。

2. 点击启动CharacterListActivity的按钮。

3. 点击启动WebViewActivity的按钮。

4. 点击启动VideosActivity的按钮。

启动其他活动的按钮功能正常。

Character

ListActivity

确保角色列表页面能够正确显示并与CharacterDetailsActivity集成。

1. 启动Character

ListActivity。

2. 点击角色列表中的某个角色。

3. 验证是否能够正确启动Character

DetailsActivit并显示选定角色的详细信息。

角色列表页面正确显示,与CharacterDetailsActivity正常集成。

Character

Details

Activity

测试角色详情页面与相关管理器、其他页面(WebViewActivity和VideosActivity)的集成,确保计算伤害、页面跳转等功能正常。

1. 启动CharacterDetailsActivity。

2. 验证角色管理器与角色详情页面的集成。3. 验证怪物管理器与角色详情页面的集成。4. 点击"Play Videos"按钮,验证是否成功启动VideosActivity。5. 点击"WebView"按钮,验证是否能够成功启动WebViewActivity

功能正常,各管理器与页面集成正常,页面跳转功能正常。

续表5.2 集成测试情况

Web

View

Activity

确保WebViewActivity能够正常加载网页,验证与其他页面的集成。

1. 启动WebViewActivity。

2. 验证WebView能够正常加载网页。

3. 点击返回按钮,验证是否能够返回到上一个页面(Character

DetailsActivity)。

WebViewActivity正常加载网页,与其他页面集成正常。

Videos

Activity

确保VideosActivity能够正常显示相关视频,验证与其他页面的集成。

1. 启动VideosActivity。

2. 验证VideosActivity能够正常显示相关视频。3. 点击返回按钮,验证是否能够返回到上一个页面CharacterDetailsActivity)

VideosActivity正常显示相关视频,与其他页面集成正常。

Manage

Monster

Activity

测试怪物列表页面与EditMonsterActivity、怪物管理器的集成。

1.启动ManageMonster

Activity。

2. 点击怪物列表中的某个怪物。

3. 验证是否能够正确启动EditMonsterActivity并显示选定怪物的详细信息。

怪物列表页面正确显示,与EditMonsterActivity正常集成。

Edit

Monster

Activity

确保EditMonsterActivity能够正常编辑怪物信息,验证与ManageMonsterActivity和怪物管理器的集成。

1. 启动EditMonsterActivity。2. 编辑怪物信息(例如修改怪物属性)。3. 保存修改。4. 返回ManageMonsterActivity,验证是否能够正确刷新怪物列表,显示修改后的怪物信息。

EditMonsterActivity能够正常编辑怪物信息,与ManageMonsterActivity和怪物管理器集成正常。

5.4 系统测试

在本项目中,由于其规模相对较小,复杂性低同时受限于资源环境,测试深度较浅。只是对系统的基本稳定性、性能、安全性等方面进行初步验证,结果如下(表5.3)

表5.3 系统测试

测试项目

测试目标

测试步骤

预期结果

实际结果

是否通过

性能测试

评估系统在正常负载下的性能表现,确保响应时间合理。

模拟正常负载下执行系统操作,记录响应时间。

系统能够在正常负载下保持合理的响应时间。

实际测试结果符合预期,响应时间合理。

可靠性测试

检查系统在长时间运行中的稳定性,防止崩溃。

运行系统长时间,记录运行期间是否出现崩溃。

在长时间运行中,系统不出现崩溃。

实际测试结果符合预期,系统稳定可靠。

安全性测试

验证系统是否能够防御常见的安全攻击,确保数据安全。

模拟常见的安全攻击,如SQL注入,验证系统是否能够防御。

系统能够有效防御常见的安全攻击。

实际测试结果符合预期,安全性较好。

兼容性测试

验证系统在不同设备和Android版本下的兼容性。

在不同设备上安装并运行应用,包括手机和平板,以及在不同版本的Android系统上运行。

系统能够在不同设备和Android版本下正常运行。

实际测试结果符合预期,兼容性良好。

可维护性测试

评估系统代码结构和易于维护性。

仔细阅读系统代码,检查代码结构和注释。

系统代码结构清晰,易于维护。

实际测试结果符合预期,易于维护。

总结

(1)实现的功能:

在此次课程设计中,成功地完成了《原神游戏小助手》的开发。这款应用程序具备以下主要功能:

① 角色和怪物管理:用户可以轻松地对角色进行增删改查操作。

② 伤害模拟:用户可以了解角色属性对应的伤害模拟。

③ 元素反应体验:用户可以简要体验元素反应的基本机制。

④ 视频播放功能:用户可以观看当前所选角色的PV。

⑤ WebView功能:用户可以直接访问并在应用内展示官方网站信息。

(2)不足之处

尽管我们已经实现了这些功能,但仍有一些不足之处需要改进。

① 元素反应体验的局限性:目前,程序只提供了基本的元素反应体验,对于更复杂的元素反应机制,应用可能无法提供足够的支持。例如,对于一些需要特定元素组合才能触发的特殊反应,我们的应用可能无法准确模拟。

② 视频播放功能的单一性:当前视频播放功能目前仅限于播放角色的PV,未来考虑扩展此功能,以支持更多类型的视频内容,如游戏攻略、角色故事等。

③ 用户界面的友好性:虽然我们的应用提供了一些基本的角色管理和伤害模拟功能,但用户界面可能不够直观和友好,可能需要用户花费一些时间来熟悉。

④ 数据的准确性和完整性:我们的应用依赖于游戏数据来进行伤害模拟和元素反应体验,如果这些数据不准确或不完整,可能会影响到应用的功能表现。未来的数据展现将在服务器端进行存储和展示。

总的来说,尽管《原神游戏小助手》在某些方面还有待改进,但它为原神玩家提供了一套简单但却比较实用的游戏辅助工具。我们期待在未来的版本中,通过不断的优化和改进,使《原神游戏小助手》能够更好地满足用户的需求。

—————————————————— ~完结线~ ————————————————————

以上就是移动应用开发Android的全部课程设计报告了,有帮助的话点个赞和收藏吧~

GitHub - blhqwjs/-GenShin_imp: 2023年移动应用开发课设2023年移动应用开发课设. Contribute to blhqwjs/-GenShin_imp development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/blhqwjs/-GenShin_imp

  • 18
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值