최근 에 게임 개발 테스트에 대한 질문을했습니다. 이것이 BTW입니다. 거기에 대한 답은 호기심이 많고 특정한 단점을 지적했습니다.
- 코드 를 고도로 결합 해야 할 때 비용이 많이 듭니다 .
- 다양한 하드웨어 플랫폼을 알고 있어야 할 때, 사용자에 대한 출력을 분석해야하고 코드 결과가 더 넓은 상황에서만 의미가있을 때 수행하기가 어렵습니다 .
- UI와 UX 테스트는 매우 어렵다 .
- 특히 자동화 된 테스트는 매우 저렴한 (또는 무료) 베타 테스터보다 비싸고 덜 효과적 일 수 있습니다 .
네 번째 요점은 나의 경험을 기억하게 해줍니다. 단위 테스트가 강력하게 권장되는 XP 기반의 Scrum 관리 회사에서 일했습니다. 그러나 덜 관료적이고 덜 관료적 인 스타일로가는 길에 회사는 QA 팀 구성을 방치했습니다. 테스터는 없었습니다. 고객은 테스트 범위가 95 % 이상인 경우에도 일부 시스템을 사용하여 사소한 버그를 발견했습니다. 그래서 다른 요점을 추가하겠습니다.
- 자동화 된 테스트는 할 수 는 QA 및 테스트가 중요하지 않은 것을 느낄 수 있도록.
또한 그 당시 문서화에 대해 생각하고 테스트 2에 유효 할 수있는 가설을 세분화했습니다. 방금 코드가 너무 빨리 발전하여 그러한 속도를 따르는 문서를 작성하는 것이 매우 어렵다고 느꼈기 때문에 무겁고 오래된 문서를 작성하는 것보다 코드를 읽을 수있게 만드는 데 시간을 투자하는 것이 더 중요합니다. (물론 이것은 API 에는 적용되지 않고 내부 구현에만 적용 됩니다.) 테스트에는 동일한 문제가 약간 있습니다. 테스트 된 코드와 비교할 때 작성하기에는 너무 느릴 수 있습니다. OTOH, 테스트가 오래되었다고 경고하기 때문에 문제가 덜 발생하지만 문서를 매우주의 깊게 다시 읽지 않으면 문서가 자동으로 유지됩니다 .
마지막으로, 때때로 발견되는 문제 : 자동화 된 테스트는 도구에 따라 달라질 수 있으며 이러한 도구는 제대로 작성되지 않을 수 있습니다. 나는 얼마 전에 XUL을 사용하여 프로젝트를 시작했으며, 이런 플랫폼에 대한 단위 테스트를 작성하는 것은 고통 스럽습니다. Objective-C, Cocoa 및 Xcode 3을 사용하여 다른 응용 프로그램을 시작했으며 그에 대한 테스트 모델은 기본적으로 여러 가지 해결 방법이었습니다.
자동 테스트의 단점에 대한 다른 경험이 있지만 대부분 다른 답변에 나열되어 있습니다. 그럼에도 불구하고 저는 자동화 된 테스트를 강력히 옹호합니다. 이것은 많은 작업과 두통을 저장했으며 항상 기본적으로 권장합니다. 자동화 테스트의 이점과 비교할 때 이러한 단점은 단순한 세부 사항이라고 판단합니다. (자동 다페를 피하기 위해 이단을 언급 한 후에는 항상 믿음을 선포하는 것이 중요합니다.)