"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 테스트 커버리지에 대한 진실

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

2024-11-06에 게시됨
검색:984

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);

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

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

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

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

결론

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

챠오,

남자 이름.

릴리스 선언문 이 글은 https://dev.to/cadienvan/the-truth-about-test-coverage-3gko?1에서 복제됩니다.1 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3