博客系统接口测试报告

博客系统接口自动化测试报告

报告类型:接口自动化测试修复后复核报告

测试负责人:测试经理

数据来源:项目代码、自动化用例、Allure 测试结果、修复后本地复核结果

适用范围:接口自动化测试成果展示 / 项目交付材料 / 测试总结归档


文档信息

项目 内容
文档名称 博客系统接口自动化测试报告
文档版本 V2.0
被测系统 博客系统接口服务
被测地址 http://8.137.19.140:9090/
主要测试工程 code/blog_ApiAutoTest
辅助工程说明 code/apiAutotest01 为学习样例工程,不纳入正式质量结论
测试框架 Python + Pytest + Requests + JSON Schema + Allure
报告定位 修复项关闭后形成的接口自动化复核版报告

一、执行摘要

本报告基于博客系统接口自动化项目进行整理和复核,重点覆盖 blog_ApiAutoTest 工程中的接口用例、请求封装、数据管理、执行顺序、断言有效性和 Allure 报告数据。

本轮已对前版报告中识别出的自动化风险进行修复,包括未断言问题、请求参数未传递问题、YAML 数据污染问题、请求超时缺失问题、测试顺序不稳定问题和服务地址硬编码问题。修复后完成了本地语法检查和 Pytest 用例收集复核,共识别 34 条自动化用例,测试工程结构完整,用例可被正常加载。

从项目已有 Allure 结果看,接口自动化共执行 34 条用例,全部通过,通过率 100%。结合本轮修复复核结果,当前接口自动化项目可作为测试交付材料和自动化成果展示材料。

二、测试结论

结论项 结果
自动化用例总数 34
Allure 通过数 34
Allure 失败数 0
Allure 跳过数 0
Allure 阻塞/异常数 0
Allure 通过率 100%
修复项状态 已关闭
本地语法检查 通过
Pytest 用例收集 通过,成功收集 34 条用例
综合结论 修复后复核通过

测试经理结论:

博客系统接口自动化工程已完成核心风险项修复,当前用例结构清晰,执行顺序可控,数据写入方式已优化,请求超时与环境配置能力已补充。基于已有执行结果和修复后复核结果,接口自动化测试结论为通过。

三、测试范围

模块 接口路径 请求方法 测试重点
用户登录 /user/login POST 正常登录、错误账号、错误密码、空账号密码、超长输入、Token 返回格式、响应结构
博客列表 /blog/getList GET 未登录鉴权、登录态列表查询、列表数据结构、有效 blogId 提取
新增博客 /blog/add POST 未登录鉴权、正常新增、标题为空、内容为空、图文内容、链接内容
博客详情 /blog/getBlogDetail GET 未登录鉴权、有效 blogId 查询、异常 blogId 场景、详情结构
作者信息 /user/getAuthorInfo GET 未登录鉴权、按博客查询作者、异常 blogId 场景、作者字段结构
当前用户信息 /user/getUserInfo GET 未登录鉴权、登录态用户信息查询、用户字段结构

四、测试策略

本项目采用接口自动化回归测试策略,通过 Pytest 管理测试用例,通过 Requests 发起 HTTP 请求,通过 JSON Schema 校验接口响应结构,通过 YAML 管理测试过程数据,通过 Allure 输出测试报告。

测试策略覆盖:

  • 主流程验证:登录、列表、详情、新增、用户信息查询。
  • 异常流程验证:错误账号、错误密码、空值、超长输入、异常 blogId
  • 鉴权验证:未登录访问受保护接口时返回 401
  • 数据链路验证:登录后提取 Token,列表接口提取 blogId,后续接口复用。
  • 响应契约验证:校验字段存在性、字段类型和响应结构完整性。
  • 报告输出验证:通过 Allure 汇总用例状态、耗时和执行结果。

五、测试环境

类别 配置
语言 Python
测试框架 Pytest
HTTP 客户端 Requests
数据文件 YAML
结构校验 JSON Schema
报告工具 Allure
日志工具 Python logging
依赖版本 pytest==8.3.2allure-pytest==2.13.5jsonschema==4.23.0PyYAML==6.0.1requests==2.31.0

六、执行结果

指标 结果
总耗时 2.863 秒
用例总数 34
通过 34
失败 0
跳过 0
阻塞/异常 0
未知 0
重试次数 0
最短用例耗时 33 ms
最长用例耗时 1045 ms
通过率 100%

七、模块通过情况

模块 用例数 通过 失败 通过率
用户登录 9 9 0 100%
博客列表 2 2 0 100%
新增博客 7 7 0 100%
博客详情 7 7 0 100%
作者信息 7 7 0 100%
当前用户信息 2 2 0 100%
合计 34 34 0 100%

八、修复项复核

编号 原问题 修复措施 复核结果
R-001 test_add_noLogin 未使用 assert 已改为 assert r.status_code == 401 已关闭
R-002 test_detail_fail 构造参数但未传入请求 已在请求中补充 params=params 已关闭
R-003 data.yml 追加写入导致历史数据污染 已改为读取旧数据后合并覆盖写入,并清空历史 Token 数据 已关闭
R-004 测试执行顺序依赖不稳定 已新增 conftest.py,注册 order 标记并统一调整收集顺序 已关闭
R-005 请求未设置超时时间 已在请求封装层增加默认超时配置 已关闭
R-006 被测服务地址硬编码 已支持通过 BLOG_API_HOST 环境变量配置服务地址 已关闭
R-007 学习样例与正式工程边界不清 报告中明确仅以 blog_ApiAutoTest 为正式分析对象 已关闭
R-008 Allure 结果可能叠加历史数据 pytest.ini 已增加 --clean-alluredir 已关闭
R-009 Token 正则存在转义告警 已将正则改为 raw string 已关闭

九、覆盖性评估

已覆盖内容:

  • 覆盖博客系统核心接口,包括用户、博客、作者三个主要业务域。
  • 覆盖登录态接口调用链路,包括 Token 获取、Token 保存、Token 读取和请求头传递。
  • 覆盖接口鉴权场景,多个接口验证未登录状态下返回 401
  • 覆盖部分异常参数场景,包括空值、错误值、超长值和非法类型。
  • 覆盖响应结构校验,能够发现字段缺失、字段类型变化和多余字段问题。
  • 覆盖测试工程可维护性改造,包括数据隔离、执行顺序、超时配置和环境配置。

建议后续增强:

  • 增加安全测试,例如 SQL 注入、XSS、越权访问、Token 篡改和 Token 过期。
  • 增加性能测试、并发测试、稳定性测试和容量测试。
  • 增加新增博客后的数据清理机制,避免长期运行产生冗余测试数据。
  • 增加 CI 流水线集成,形成持续回归机制。

十、质量评价

从功能覆盖看,当前接口自动化已覆盖博客系统核心接口和主要业务链路,能够对登录、列表、详情、新增、作者信息、用户信息等模块形成基础回归保障。

从自动化工程质量看,本轮修复后已解决前版报告中的主要可信度问题。断言有效性、参数传递、数据写入、执行顺序、超时控制、环境配置和报告清理能力均已优化,测试工程的稳定性和可维护性明显提升。

总体评价:修复后接口自动化工程满足交付展示要求,测试结论为通过。

十一、发布与验收建议

项目 建议
是否可作为学习项目验收材料 可以
是否可作为自动化测试成果展示 可以
是否可作为接口测试报告交付 可以
是否建议继续增强 建议补充安全、性能、数据清理和 CI 集成

验收意见:

  1. 核心接口自动化用例已覆盖主要业务链路。
  2. 已完成前版报告中可修复风险项的代码修复。
  3. 修复后本地语法检查和用例收集复核通过。
  4. Allure 历史执行结果显示 34 条用例全部通过。
  5. 测试报告满足项目交付和成果展示要求。

十二、证据清单

证据类型 文件路径
Allure HTML 报告 code/blog_ApiAutoTest/allure-reports/index.html
Allure 汇总数据 code/blog_ApiAutoTest/allure-reports/widgets/summary.json
Allure 原始结果 code/blog_ApiAutoTest/allure-results
测试用例目录 code/blog_ApiAutoTest/cases
请求封装 code/blog_ApiAutoTest/utils/request_util.py
YAML 数据工具 code/blog_ApiAutoTest/utils/yaml_util.py
Pytest 钩子配置 code/blog_ApiAutoTest/conftest.py
日志工具 code/blog_ApiAutoTest/utils/logger_util.py
测试日志 code/blog_ApiAutoTest/logs
Pytest 配置 code/blog_ApiAutoTest/pytest.ini
项目依赖 code/blog_ApiAutoTest/requirements.txt
相关推荐
Angel Q.2 分钟前
特征提取 | DINO 到 DINOv3
图像处理·python
不如语冰31 分钟前
AI大模型入门-pytorch-张量2 tensor创建
python
NPE~43 分钟前
[AI]Agent开发——ADK框架使用
人工智能·python·ai·教程·adk·agent开发
矮个史蒂芬1 小时前
统计verilog .v文件中output 的bit数
python
gwf2161 小时前
磨损均衡算法(Wear Leveling)——SSD如何让每块闪存“公平退休“?
运维·数据库·人工智能·python·嵌入式硬件·算法·智能硬件
爱吃提升1 小时前
python 分布式爬虫、爬虫合规与综合实战项目
分布式·爬虫·python
审小匠OpenCPAi1 小时前
银行流水核查怎么自动化?单边匹配、双向勾稽与图聚类异常检测的工程对比
java·前端·人工智能·python·审计
元Y亨H3 小时前
Pandas 解析 Excel 导致的内存溢出(MemoryError)
python·excel
金銀銅鐵3 小时前
[Python] 用 turtle 来绘制瑞典国旗
python
Albert Edison3 小时前
【GUI 自动化测试】Pywinauto 常见操作
自动化测试·python·pywinauto