测试用例设计与质量
2026/8/21大约 2 分钟
测试用例设计与质量
编写测试用例的要素有哪些?
用例编号、所属模块、用例标题、前置条件、测试步骤、测试数据、预期结果、优先级、用例类型、执行人、实际结果、状态(Pass/Fail/Blocked)。
什么是等价类划分?举例说明。
- 把输入域划分为若干等价类,每个等价类中取一个代表值即可覆盖该类。
- 例:手机号(11 位、1 开头)→ 有效等价类(11 位 1 开头的号码)、无效等价类(长度不对、非 1 开头、含字母等)。
- 注意还要考虑有效等价类和无效等价类都覆盖。
什么是边界值分析?为什么它很重要?
- 针对输入/输出边界附近取值设计用例(最小值、略小于最小值、略大于最小值等)。
- 因为大量缺陷集中在边界附近(如
i <= 10写成i < 10)。 - 例:0-100 的分数,边界取 -1、0、1、99、100、101。
什么是判定表/因果图?适用场景?
- 判定表:以表格形式列出条件组合与动作,适合多个条件组合决定多个动作的场景(如优惠计算规则)。
- 因果图:分析输入(因)与输出(果)的关系,再转换为判定表,适合输入条件多且互相约束的场景。
什么是场景法?举例?
- 基于用户操作流程(基本流 + 备选流)设计用例,覆盖完整业务场景。
- 例:购物流程:浏览商品 → 加入购物车 → 结算 → 支付成功(基本流);支付失败重试、优惠券过期、库存不足(备选流)。
如何评估测试用例的覆盖率?
- 需求覆盖率:用例是否覆盖了全部需求点。
- 代码覆盖率:行覆盖、分支覆盖、语句覆盖等(配合 JaCoCo/Coverage.py)。
- 结合缺陷密度与漏测率(线上缺陷/总缺陷)持续改进。
一个功能模块一般设计多少条用例合适?
没有固定数量,取决于复杂度。原则:核心路径必覆盖,异常路径尽量覆盖,边界不能漏。可以结合代码分支数、需求点数做基准,再评审补充。
如何保证测试用例的可维护性?
- 用例分层(冒烟/回归/全量)、命名规范、参数化与数据分离、步骤最小化、避免用例间依赖(尽量独立可执行)、定期评审与清理冗余用例。