다음의 간단하고 간단한 코드를 살펴보세요.
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);
이러한 시나리오에서는 어떻게 될까요? 함수에서 오류가 발생합니까? 값을 반환할까요? 애플리케이션이 중단되나요?
테스트 적용 범위는 강력한 도구이지만 궁극적인 솔루션은 아닙니다. 테스트 중인 코드의 양을 이해하는 데 도움이 되는 측정항목이지만 테스트가 얼마나 잘 진행되고 있는지는 알려주지 않습니다.
테스트 적용 범위는 수량 측면에서 도움이 될 수 있지만 품질 측면에서는 거의 도움이 되지 않습니다. 좋은 테스트를 작성하고, 극단적인 경우를 고려하고, 잘못된 입력으로 코드를 테스트하고, 테스트가 의미 있고 가치 있는지 확인하는 것은 사용자에게 달려 있습니다.
이 글은 꽤 짧은 글이었지만, 좋은 테스트 작성의 중요성을 일깨워주는 데 도움이 되었기를 바랍니다. 테스트 범위는 목표가 아니라 도구라는 점을 기억하세요. 이를 최대한 활용하는 것은 귀하에게 달려 있습니다.
챠오,
남자 이름.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3