1、项目背景
这个系统解决什么问题:博客系统是一个轻量级的个人内容发布平台,解决"作者写文章没有地方发、读者找不到文章"的基本问题——作者可以注册登录后撰写 Markdown 博客并发布,读者(登录作者本人后)可以浏览文章列表、进入详情阅读、修改和删除自己的文章。
为什么拿它做测试实践:
- 第一,它是一个结构完整的 Web 系统,页面不多但覆盖了测试最典型的要素——登录鉴权、CRUD(发布/查看/编辑/删除)、富文本编辑器、异步渲染、弹窗交互、会话状态管理;
- 第二,它是前后端分离架构(前端静态页 + ajax 调后端接口),能练到"前端校验与后端校验是否都完备"这类真实测试思维;
- 第三,配套课程提供了用例设计方法(思维导图拆功能点)和 Selenium 自动化技术栈,适合走一遍"用例设计 → 手工功能测试 → 自动化脚本 → 测试报告"的完整闭环。本项目最终产出 12 个功能测试点、10 个可重复执行的自动化用例,并发现 4 个产品问题。
2、项目简介
系统共 4 个页面,功能与使用方式如下:
2.1登陆界面
2.1.1 成功登陆界面
2.1.2失败登录界面
2.2博客首页
2.2.1登陆状态下
2.2.2未登陆状态下
2.3博客详情页
2.3.1 登陆状态下
2.3.2 未登录状态下
2.4 博客编辑页
2.4.1 删除文章
2.4.2登陆状态下
2.4.3登陆状态下异常发布博客
2.4.4未登录状态下
3、测试计划
4、测试工具
5、设计到的测试动作/类型
6、功能测试
12 个测试点的执行记录(结果均为实测):
7、自动化测试
7.1 自动化测试用例
与功能测试点一一对应,共 10 个自动化用例(TP03/TP09 的多场景合并进单用例):
7.2 自动化测试脚本
分层架构(对应第 8 章课件 AutotestUtils 思想):
核心代码节选:
执行结果**:RunTest.py一键串跑 10 用例,控制台逐检查点输出,全部 PASS、exit=0、通过率 100%;截图 10+ 张按日期归档;测试报告(用例数/通过数/失败数)自动生成;共享站点残留数据复核为"无"。
8、项目测试 bug 简述
说明:BUG-001 由自动化用例 EditNotLoginTest 系统性暴露(手工点单页容易漏掉"每页面 × 登录态"组合);BUG-002 由详情页删除链路实测确认(删除后 eat_alert 返回 None,无弹窗)。
9、测试结论
质量评估:系统核心功能(登录/列表/发布/详情/删除)主流程全部可用,12 个测试点最终全部通过;后端鉴权(User-Token 请求头 + 401 重定向)与参数校验(400 + alert 提示)兜底完整,未发现数据层越权与脏写问题。存在 2 个中级(前端校验纵深、删除无确认)、2 个低级(提示样式、占位文本)体验/健壮性问题,均不阻塞主流程,整体达到准出标准。
遗留与不足:① 性能测试未开展,/blog/add、/blog/list 的响应时间与并发能力无数据支撑;② 兼容性仅覆盖 Chrome 单浏览器;③ 自动化未接入 unittest/pytest 与 CI,报告为轻量 Markdown 而非 Allure。
后续计划:用 JMeter 对 /blog/add、/blog/list 做单接口基线与并发压测;Driver 工厂化扩展 Edge/Firefox 兼容矩阵;脚本迁移 pytest 分层(fixture 管浏览器生命周期),接入 Allure 报告与定时执行,形成每日回归。