請闡述軟體測試的原則?