103
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | 2501_CS_SE_FZU |
|---|---|
| 这个作业要求在哪里 | 团队作业——站立式会议+α冲刺 |
| 这个作业的目标 | 描述项目的测试工作安排、测试工具选择和运用、测试用例文档、测试体会、项目测试评述、AI技术员在自动化测试方面的作用 |
| 其他参考文献 | 《构建之法》、Google Style Guides |
在本轮冲刺阶段,我们采用了测试与开发并行的工作模式,确保每个功能模块在开发完成后都能及时得到验证。具体安排如下:
测试时间线:
团队分工:
Unity Test Framework
using UnityEngine;
using UnityEngine.TestTools;
using NUnit.Framework;
/// <summary>
/// Unity Test Framework 简单测试示例
/// Unity自带的测试框架,基于NUnit
/// 放在Editor文件夹中,Unity会自动处理引用
/// </summary>
public class SimpleAttributeTest
{
/// <summary>
/// 最简单的测试 - 验证测试框架是否工作
/// </summary>
[Test]
public void OnePlusOne_EqualsTwo()
{
// Arrange(准备)
int a = 1;
int b = 1;
// Act(执行)
int result = a + b;
// Assert(断言)
Assert.AreEqual(2, result, "1 + 1 应该等于 2");
}
/// <summary>
/// 测试Attribute组件的创建
/// </summary>
[Test]
public void Attribute_CanBeCreated()
{
// Arrange & Act
GameObject obj = new GameObject("TestAttribute");
Attribute attribute = obj.AddComponent<Attribute>();
// Assert
Assert.IsNotNull(attribute, "Attribute组件应该被创建");
Assert.IsTrue(attribute.IsAlive, "新创建的Attribute应该是存活的");
// 清理
Object.DestroyImmediate(obj);
}
/// <summary>
/// 测试受到伤害功能
/// </summary>
[Test]
public void Attribute_TakeDamage_HealthDecreases()
{
// Arrange
GameObject obj = new GameObject("TestAttribute");
Attribute attribute = obj.AddComponent<Attribute>();
int initialHealth = attribute.CurrentHealth;
int damage = 10;
// Act
attribute.TakeDamage(damage);
// Assert
Assert.Less(attribute.CurrentHealth, initialHealth,
"受到伤害后生命值应该减少");
// 清理
Object.DestroyImmediate(obj);
}
}
该基础测试脚本包含2个最基础测试:
SimpleTest_OnePlusOne_EqualsTwo - 验证测试框架是否工作
Attribute_CanBeCreated_Successfully - 测试创建Attribute组件
实际测试脚本在以上的基础脚本上进行扩展
AI辅助测试工具 - ChatGPT
利用AI工具对各个模块的代码进行逻辑检测与算法实现效率检测,以优化游戏的运行表现
战斗系统测试:
测试用例ID: COMBAT_001
测试场景:玩家与敌人战斗
前置条件:玩家生命值100,敌人攻击力20
测试步骤:
1. 玩家受到敌人攻击
2. 检查生命值减少是否正确
3. 检查战斗日志记录
预期结果:生命值变为80,战斗日志更新
道具系统测试:
测试用例ID: ITEM_002
测试场景:使用治疗药水
前置条件:玩家生命值50,拥有治疗药水(恢复30HP)
测试步骤:
1. 使用治疗药水
2. 验证生命值恢复
3. 验证物品从库存移除
预期结果:生命值变为80,药水数量减少
测试用例生成的智能化
传统测试需要手动编写大量重复用例,而AI工具能够:
缺陷预测与预防
AI系统通过分析历史bug数据,能够:
测试覆盖率提升
AI测试的优势体现
挑战一:Roguelike随机性测试
挑战二:性能回归检测
AI技术员通过以下方式重塑测试流程:
智能测试用例优先级排序
自适应测试数据生成
自动化缺陷分类
随着AI技术的不断发展,我们计划:
通过本次冲刺的测试实践,我们深刻体会到AI技术在游戏测试领域的巨大潜力。AI不仅提升了测试效率,更重要的是带来了测试思维的根本性变革——从被动发现问题转向主动预防问题,为开发高质量游戏产品提供了坚实保障。在未来的开发周期中,我们将继续深化AI在测试中的应用,构建更加智能、高效的测试体系。