边界情况(Edge cases) 是不寻常或边界的输入和条件,bugs通常隐藏在这些地方 — 空输入、边界、null值、大数值、错误。有效的测试超越了"happy path"来覆盖这些情况,因为边界情况是真实缺陷的常见来源。
为什么边界情况很重要
The HAPPY PATH (normal, expected inputs) usually works. BUGS hide in EDGE CASES:
→ unusual inputs, boundaries, error conditions, unexpected states
→ testing only the happy path misses where defects actually occur
→ Thorough testing covers edge cases — that's where it adds the most value.
常见的边界情况类别
EMPTY / NULL → empty string/list/collection, null/undefined, missing values
BOUNDARIES → min/max values, 0, -1, off-by-one (first/last element, limits)
LARGE / extreme → very large inputs, long strings, huge numbers, overflow
INVALID → wrong types, malformed data, out-of-range, special characters
ERROR conditions → network failures, exceptions, timeouts, unavailable dependencies
STATE → empty/initial state, concurrent access, unexpected sequences of actions
SPECIAL values → negative numbers, zero, duplicates, unicode/emoji, very small/large
