测试分层、用例设计与回归思路
接口测试、单元测试与自动化测试#Python全栈#第十七阶段#接口测试、单元测试与自动化测试#测试分层、用例设计与回归思路约 1312 字 · 4 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
本阶段学习说明
整体培养方向: Python 全栈开发就业,按北京 10~20k 岗位所需能力逐步推进。
本阶段定位: 为前面已完成的接口、权限、数据库、缓存、任务与实时功能建立自动化验证,能够发现缺陷、稳定复现并形成回归测试。
适用环境: Python 3、pytest、unittest.mock、HTTPX;结合 FastAPI、Flask 或 Django 中的一种框架完成主线练习,浏览器自动化使用 Playwright Python。涉及异步插件、数据库事务和框架客户端时,注明实际依赖版本与运行方式。
考查目标: 能选择测试层级、设计输入与断言、管理数据和资源隔离、合理替换外部依赖,并验证权限、持久化与异步业务结果。
题库结构: 100 道题,每题包含追问;从测试设计与 pytest 基础,推进到接口、数据库、异步流程和浏览器回归。本阶段提供题目,不包含参考答案;不重复前面章节的业务实现细节,不要求同时掌握全部框架测试工具,也不展开下一阶段的 Web 安全攻防。
答题约定: 每个测试说明准备条件、执行动作、预期结果与清理方式;预期结果依据业务规则或接口契约确定。明确哪些依赖是真实组件、哪些被替换,以及测试能够证明什么。需要跨进程提交、浏览器行为或消息恢复时,不把进程内客户端和同步模拟当作完整证据。
单元测试、集成测试、接口测试与端到端测试分别验证什么?
追问 为“提交练习并生成报告”拆分各层测试,哪些逻辑可独立验证,哪些必须连接真实数据库或浏览器?
为什么不能只依靠手工点页面验证项目?
追问 重复回归、异常输入和权限组合怎样安排?哪些体验问题仍适合人工检查,怎样避免把所有检查都搬到浏览器自动化?
如何从需求中提取输入、前置条件和可观察的预期结果?
追问 为“每道题只能提交一次有效答案”设计用例,需要明确哪些重复、更新和失败规则?需求含糊时如何记录待确认项?
等价类与边界值分析怎样用于接口参数测试?
追问 页大小限定为 1~100 时如何选择输入?缺失、空值、零、负数、字符串和超大数是否属于相同场景?
怎样为同一个功能覆盖正常路径、异常路径和状态变化?
追问 报告处于等待、处理中、完成或失败状态时,下载接口各应怎样响应?哪些状态转换不能只用一个成功用例证明?
一个清晰的测试用例应怎样组织和命名?
追问 Arrange、Act、Assert 各写什么?当测试失败时,怎样让名称与断言说明具体业务规则,而不是只有一个模糊编号?
如何避免用被测实现重新计算预期值,使测试成为自我验证?
追问 成绩计算、金额折扣和权限判断的预期值怎样独立确定?怎样用已知例子与业务不变量发现算法写错?
发现线上缺陷后,怎样形成有效的回归测试?
追问 如何缩小触发条件、先证明旧行为失败,再验证修复?为什么只测修复后的正常输入可能无法阻止同类问题再次出现?
代码覆盖率高,是否意味着系统已经正确?
追问 行覆盖与分支覆盖有什么区别?哪些断言缺失、权限组合和跨系统故障即使执行到代码也未被验证?
时间有限时,怎样为一个迭代安排测试优先级?
追问 登录、越权、数据保存、重复提交和页面样式怎样排序?修改范围、历史缺陷和业务损失如何影响回归清单?
覆盖率核对资料: Coverage.py:Branch coverage。