Boundary value testing focuses on testing at and around the boundaries of equivalence classes because errors often occur at edges. It tests values below, at, and above the boundaries of input and output ranges. It is distinct from equivalence partitioning (which divides inputs into classes) and is a black-box technique, not white-box. Combinatorial testing is a separate method.