跳转到主要内容

功能性故障

什么是功能性问题,如何评估它们的严重性,以及如何区分它们与可用性建议?

Nikola Jonic avatar
作者:Nikola Jonic
本周更新

功能性缺陷(Functional Bugs)

功能性缺陷与软件的功能相关。

示例:

  • 按钮无法提交表单

  • 搜索对用户输入没有反应

  • 应用程序崩溃

每当你执行操作,而网站或应用没有按预期响应时,可能就是功能性问题。由于我们对客户产品的信息有限,对其实现方式缺乏了解,很难判断观察到的行为是故意设计的还是实际的缺陷。基于经验做出合理推测,并通过测试不同场景分析产品行为,有助于你判断问题。


如何判断应用行为是否为功能性缺陷

  1. 尝试判断功能是否按特定方式设计,还是确实存在问题。单独测试该功能,并与其他功能组合使用以发现潜在差异。

  2. 考虑客户的意图,产品可能只是按照他们的实现方式工作。

  3. 找到某功能未按预期工作的证据,支持你的判断。

示例:

  • 一个电商网站的功能与其他网站不同,这并不意味着功能有问题。客户可以自由实现他们的产品。

  • 你声称某表单字段没有进行验证,这是一个缺陷。是否有迹象表明他们打算验证该字段?提供证据,显示字段在某些情况下被验证,而在其他情况下未被验证。没有证据,则是未经证实的主张。

注意:
当视觉或内容问题妨碍功能时,应将其作为功能性缺陷报告。
如果某功能在不同场景下始终正常工作且无明显问题,则可能是设计意图(非缺陷),你可以提出改进建议(可用性建议)。


严重性评估(Severity Assessment)

评估功能性缺陷严重性时需考虑多个因素:

  • 功能影响

  • 问题范围

  • 是否存在变通方法或是否为阻断性缺陷

  • 潜在销售损失

  • 可与同等级别其他缺陷对比

方法:

  • 首先考虑功能影响:功能不可用有多严重?

  • 判断受影响用户、产品或项目数量。

  • 考虑是否有替代方法完成目标。可行变通方法会降低严重性。

  • 没有变通方法的主要功能缺陷属于阻断性缺陷(showstopper)。

  • 潜在销售损失为次要评估因素,但仍需考虑损失程度。

提示: 可将缺陷与团队领导已批准的缺陷进行对比,以确认严重性评估是否适当。


功能性缺陷严重性等级

  • 低(LOW)

    • 对产品使用影响最小

    • 产品行为异常,但整体使用不受影响

    • 受影响用户/产品数量少

    • 功能损坏或不可用,但简单变通方法可解决

  • 高(HIGH)

    • 对产品使用有严重影响,但主要功能仍可用

    • 受影响用户/产品数量多

    • 关键功能损坏且无简单变通方法

    • 重要功能损坏,但存在变通方法(非阻断性)

  • 严重(CRITICAL)

    • 阻止应用或网站核心功能使用

    • 阻断性缺陷阻止用户完成主要流程,例如结账

    • 导致潜在重大销售损失


常见评估

我们有一份固定严重性等级的案例列表。上述评估方法不适用于列表中的案例。


边缘案例缺陷(Edge Case Bugs)

边缘案例缺陷在功能被非典型方式使用时出现。使用典型数据和操作时功能正常。

示例:

  • 点击按钮后立即最小化应用

  • 重复相同操作,例如反复打开/关闭菜单

  • 仅在非典型操作序列下出现的缺陷

评估:

  • 对客户相关 → 报告为低(LOW)缺陷

  • 无关 → 通常被拒绝


强制缺陷(Forced Bugs)

通过非典型行为或特殊条件触发的缺陷通常不在范围内,因为客户不关心此类问题。非典型行为不代表正常用户行为。

示例:

  • 同时点击多个元素

  • 随机点击按钮

  • 快速连续点击按钮

  • 将窗口缩小到非典型尺寸

  • 内存满导致异常行为

  • 使用非官方、测试版或修改过的操作系统

这是否解答了您的问题?