Skip to content

Latest commit

 

History

History
287 lines (214 loc) · 10.2 KB

File metadata and controls

287 lines (214 loc) · 10.2 KB

白盒测试文档

1. 测试计划

1.1 测试目标

  • 描述: 验证系统内部逻辑和实现的正确性,确保代码在各种输入情况下能正确执行。
  • 预期成果: 发现并修复代码中的缺陷,确保代码质量和性能达到预期要求。

1.2 测试范围

  • 包含的代码模块

    • 创建 Fastify 实例模块
    • 获取个人成绩信息模块
    • 获取课程与能力对应矩阵模块
    • 获取个人能力数据模块
    • 获取年级能力数据模块
    • 获取个人就业去向预测数据模块

1.3 测试策略

  • 测试方法: 白盒测试
  • 测试技术: 代码审查、单元测试、静态分析、代码覆盖率分析、路径测试

1.4 测试环境

  • 硬件

    • PC: Windows 10, 8GB RAM, i5处理器
  • 软件

    • 编译器: GCC, Clang
    • IDE: Visual Studio Code
    • 网络: 无特定网络需求

1.6 测试时间表

活动 开始日期 结束日期
代码审查 2024-05-27 2024-05-27
单元测试用例设计 2024-05-27 2024-05-28
测试环境搭建 2024-05-28 2024-05-29
单元测试执行 2024-05-29 2024-05-30
测试总结和报告编写 2024-06-01 2024-06-01

1.7 测试资源

  • 测试人员

    • 李凯
    • 陈建钢
    • 张志雄

1.8 风险和假设

  • 风险

    • 代码复杂度高,可能导致测试覆盖率不足
    • 测试环境配置不当可能影响测试结果
  • 假设

    • 开发团队及时提供代码和技术支持
  • 所有功能模块在测试期间不进行大的改动

2. 测试用例

2.1 用例

  • 测试用例编号: UC_001

    • 测试用例名称: 测试创建 Fastify 实例
    • 测试描述: 测试是否成功创建 Fastify 实例并注册相关插件。
    • 前置条件: 无
    • 测试数据: 无
    • 测试步骤:
      1. 执行代码创建 Fastify 实例并注册相关插件。
    • 预期结果: 成功创建 Fastify 实例并注册相关插件。
    • 实际结果: Fastify 实例成功创建并注册相关插件。
    • 备注: 无

    测试用例编号: UC_002

    • 测试用例名称: 测试获取个人成绩信息(正常情况和无效情况)
    • 测试描述: 测试是否能够成功获取个人成绩信息,并能够正确处理无效的学生ID。
    • 前置条件: 无
    • 测试数据:
      • 学生ID(有效): "12345"
      • 学生ID(无效): "99999"
    • 测试步骤:
      1. 发送包含有效学生ID的 POST 请求到 /score_management/score 端点。
      2. 发送包含无效学生ID的 POST 请求到 /score_management/score 端点。
    • 预期结果:
      • 对于有效学生ID,返回个人成绩信息。
      • 对于无效学生ID,返回空数据。
    • 实际结果:
      • 对于有效学生ID,返回个人成绩信息。
      • 对于无效学生ID,返回空数据。
    • 备注: 无

    测试用例编号: UC_003

    • 测试用例名称: 测试获取课程与能力对应矩阵
    • 测试描述: 测试是否能够成功获取课程与能力对应矩阵。
    • 前置条件: 无
    • 测试数据: 无
    • 测试步骤:
      1. 发送 GET 请求到 /course_management/course 端点。
    • 预期结果: 返回课程与能力对应矩阵数据。
    • 实际结果: 返回了课程与能力对应矩阵数据。
    • 备注: 无

    测试用例编号: UC_004

    • 测试用例名称: 测试获取个人能力数据(正常情况和无效情况)
    • 测试描述: 测试是否能够成功获取个人能力数据,并能够正确处理无效的学生ID。
    • 前置条件: 无
    • 测试数据:
      • 学生ID(有效): "12345"
      • 学生ID(无效): "99999"
    • 测试步骤:
      1. 发送包含有效学生ID的 POST 请求到 /employment_management/ability_evaluation/personal_ability 端点。
      2. 发送包含无效学生ID的 POST 请求到 /employment_management/ability_evaluation/personal_ability 端点。
    • 预期结果:
      • 对于有效学生ID,返回个人能力数据。
      • 对于无效学生ID,返回空数据。
    • 实际结果:
      • 对于有效学生ID,返回个人能力数据。
      • 对于无效学生ID,返回空数据。
    • 备注: 无

    测试用例编号: UC_005

    • 测试用例名称: 测试获取年级能力数据
    • 测试描述: 测试是否能够成功获取年级能力数据,并能够正确处理无效的年份。
    • 前置条件: 无
    • 测试数据:
      • 学生ID: "12345"
      • 有效年份: 2023
      • 无效年份: 2050
    • 测试步骤:
      1. 发送包含有效年份的 POST 请求到 /employment_management/ability_evaluation/yearly_ability 端点。
      2. 发送包含无效年份的 POST 请求到 /employment_management/ability_evaluation/yearly_ability 端点。
    • 预期结果:
      • 对于有效年份,返回年级能力数据。
      • 对于无效年份,返回空数据。
    • 实际结果:
      • 对于有效年份,返回年级能力数据。
      • 对于无效年份,返回空数据。
    • 备注: 无

    测试用例编号: UC_006

    • 测试用例名称: 测试获取个人就业去向预测数据
    • 测试描述: 测试是否能够成功获取个人就业去向预测数据,并能够正确处理无效的学生ID。
    • 前置条件: 无
    • 测试数据:
      • 学生ID(有效): "12345"
      • 学生ID(无效): "99999"
    • 测试步骤:
      1. 发送包含有效学生ID的 POST 请求到 /employment_management/employment_prediction/employment 端点。
      2. 发送包含无效学生ID的 POST 请求到 /employment_management/employment_prediction/employment 端点。
    • 预期结果:
      • 对于有效学生ID,返回个人就业去向预测数据。
      • 对于无效学生ID,返回空数据。
    • 实际结果:
      • 对于有效学生ID,返回个人就业去向预测数据。
      • 对于无效学生ID,返回空数据。
    • 备注: 无

    测试用例编号: UC_007

    • 测试用例名称: 测试实时评估和预测功能
    • 测试描述: 验证系统能够接收上传的 PDF 文件,并通过 Python 脚本实时对文件进行评估和预测。
    • 前置条件: 无
    • 测试数据:
      • 待上传的 PDF 文件
    • 测试步骤:
      1. 将包含有效数据的 PDF 文件上传到系统。
      2. 检查系统是否成功接收并保存文件。
      3. 检查系统是否调用了 Python 脚本,并传递了正确的文件路径。
      4. 检查系统是否能够正确解析 Python 脚本返回的 JSON 数据。
    • 预期结果
      • 系统应该成功接收并处理 PDF 文件,然后返回正确的评估和预测结果。
    • 实际结果
      • 系统成功处理了 PDF 文件,并返回了正确的评估和预测结果。
    • 备注: 无
  • 测试用例编号: UC_008

    • 测试用例名称: 测试清空数据库
    • 测试描述: 验证系统能够成功清空数据库中的所有数据。
    • 前置条件: 数据库中有数据
    • 测试数据: 无
    • 测试步骤:
      1. 发送请求 /data_management/delete_all
    • 预期结果
      • 系统应该成功清空数据库,并返回正确的成功消息。
    • 实际结果
      • 系统成功清空了数据库,并返回了正确的成功消息。
    • 备注: 无
  • 测试用例编号: UC_009

    • 测试用例名称: 测试数据库初始化和数据分析

    • 测试描述: 验证系统能够正确执行数据库初始化和数据分析流程。

    • 前置条件: 无

    • 测试数据: 无

    • 测试步骤:

      1. 发送请求 /data_management/init
    • 预期结果:

      • 系统应该成功执行数据库初始化和数据分析流程,并返回正确的成功消息。
    • 实际结果:

      • 系统成功执行了数据库初始化和数据分析流程,并返回了正确的成功消息。
    • 备注: 无

2.2 用例清单

列出所有测试用例的编号和名称,方便快速查找和跟踪。

用例编号 用例名称
UC_001 测试创建 Fastify 实例模块
UC_002 测试获取个人成绩信息模块
UC_003 测试获取课程与能力对应矩阵模块
UC_004 测试获取个人能力数据模块
UC_005 测试获取年级能力数据模块
UC_006 测试获取个人就业去向预测数据模块
UC_007 测试实时评估和预测功能模块
UC_008 测试清空数据库模块
UC_009 测试数据库初始化和数据分析模块

3. 测试执行

3.1 执行记录

记录每次测试的执行情况,包括执行时间、执行人、结果和备注。

用例编号 执行时间 执行人 结果 备注
UC_001 2024-05-27 李凯 通过
UC_002 2024-05-28 李凯 通过
UC_003 2024-05-29 李凯 通过
UC_004 2024-05-30 李凯 通过
UC_005 2024-05-31 李凯 通过
UC_006 2024-06-01 李凯 通过
UC_007 2024-06-01 李凯 通过
UC_008 2024-06-01 李凯 通过
UC_009 2024-06-01 李凯 通过

3.2 缺陷报告

记录发现的缺陷,包括缺陷编号、描述、严重程度、状态等信息。

缺陷编号 描述 严重程度 状态 备注
DEF_001 API接口返回错误代码 已提交
DEF_002 数据处理函数边界值处理错误 已提交

4. 测试执行

4.1. 测试覆盖率

  • 执行所有测试用例,确保覆盖了所有功能点和边界情况。

4.2. 测试报告

  • 生成详细的测试报告,包括每个测试用例的执行结果、覆盖率等信息。

5. 测试结果

  • 对于每个功能点,根据测试用例的执行结果,记录是否通过测试,如果未通过测试,记录失败的原因和相应的修复建议。