>  기사  >  웹 프론트엔드  >  테스트 커버리지에 대한 진실

테스트 커버리지에 대한 진실

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-09-28 16:23:01382검색

The truth about test coverage

강력한 진실.

다음의 간단하고 간단한 코드를 살펴보세요.

function sum(a, b) {
  return a + b;
}

이제 이에 대한 몇 가지 테스트를 작성해 보겠습니다.

test('sum', () => {
  expect(sum(1, 2)).toBe(3);
  expect(sum(2, 3)).toBe(5);
  expect(sum(3, 4)).toBe(7);
  expect(sum(4, 5)).toBe(9);
});

100% 취재됐죠? 네, 그렇습니다. 사실 모든 코드가 4번 완전히 테스트되었기 때문에 400% 적용 범위를 얻었다고 말할 수 있습니다. 하지만 그렇습니까?

사실은 그렇지 않습니다. 제한된 입력 세트로 기능을 테스트하고 있으며, 극단적인 경우를 고려하지 않거나 유효하지 않은 입력으로 기능을 테스트하고 있습니다.

다음 사항을 고려하세요.

sum(1, '2');
sum(1, null);
sum(1, undefined);

이러한 시나리오에서는 어떻게 될까요? 함수에서 오류가 발생합니까? 값을 반환할까요? 애플리케이션이 중단되나요?

테스트 커버리지 트랩에 주의하세요.

테스트 적용 범위는 강력한 도구이지만 궁극적인 솔루션은 아닙니다. 테스트 중인 코드의 양을 이해하는 데 도움이 되는 측정항목이지만 테스트가 얼마나 잘 진행되고 있는지는 알려주지 않습니다.

테스트 범위는 수량 측면에서 도움이 될 수 있지만 품질 측면에서는 거의 도움이 되지 않습니다. 좋은 테스트를 작성하고, 극단적인 경우를 고려하고, 잘못된 입력으로 코드를 테스트하고, 테스트가 의미 있고 가치 있는지 확인하는 것은 사용자에게 달려 있습니다.

결론

이 글은 꽤 짧은 글이었지만 좋은 테스트 작성의 중요성을 일깨워주는 데 도움이 되었기를 바랍니다. 테스트 범위는 목표가 아니라 도구라는 점을 기억하세요. 이를 최대한 활용하는 것은 귀하에게 달려 있습니다.

챠오,

마이클.

위 내용은 테스트 커버리지에 대한 진실의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.