현재 고객의 웹 사이트에서 데이터를 파싱하고있는 환경에 있습니다. 고객이 사이트를 변경하면 더 이상 정보를받지 못하는 것을 확인하기 위해 테스트를 사용하고 싶습니다.TDD 시나리오 : 조언을 찾고 있습니다.
내 첫 번째 접근 방식은 내 테스트가 클라이언트의 사이트를 조회하고 데이터가 발견되었다고 주장하는 순수 통합 테스트를 수행하는 것이 었습니다. 반쯤에 500 번의 테스트를 거쳤지 만, 테스트 실행은 참기 힘들어지고 어떤 경우에는 시간이 초과되었습니다. 그래서 나는 그들이 제공하는 핵심 보호 기능을 잃지 않고 가능한 한 많은 테스트를 수행했으며 나는 350 명 정도까지 내려갔습니다. 모든 테스트를 중단하기 위해 더 많은 테스트를 추가 할까봐 두려워합니다. 나는 또한 내가 더 이상 변화를 일으킬 때 자신이 5 분 이상의 지속 시간 (일부 클라이언트는 자신의 사이트와의 통신 속도에 따라 길어질 것입니다)을 실행하지 않음을 발견합니다. 나는 이것이 완전한 실패라고 생각한다.
저는 이것에 대해 많은 생각을하고 사무실을 둘러 보았습니다. 나의 다음 시도는 내 프로젝트에서 이러한 임베디드 리소스에 대한 클라이언트 페이지를 풀고 테스트를 작성하는 것입니다. 이렇게하면 더 높은 테스트 커버리지를 얻을 수 있으며 테스트를 분리하여 다시 수행 할 수 있습니다. 그러나 변경 사항을 적용한 후이를 다시 테스트하여 페이지를 테스트 할 때 통보를 받아야합니다. 나는 클라이언트가 이것을 고수 할 것이라고 생각하지 않는다.
실패한 테스트 (고객 사이트 방문)와 동일한 기능을하지만 이전보다 훨씬 적은 수의 '무작위'통합 테스트 스위트를 사용하여이를 보완 할 것을 제안했습니다. 나는 무작위 테스트의 아이디어를 좋아하지 않습니다. 때로는 적색 불빛을 얻을 가능성과 같은 코드로 녹색 불빛을 얻는 가능성이 있습니다. 그러나 이것은 지금까지 고객의 사이트가 변경 되어도 코드가 더 이상 데이터를 찾지 못했다는 인식을 얻기 위해 들었던 최고의 아이디어처럼 들립니다.
누구나 이와 같은 환경을 테스트 한 사람이 있습니까? 나에게 테스트 커뮤니티의 제안 사항이 있습니까?
외부 웹 사이트에서 데이터를 스크랩하고 있다는 것을 의미합니까? 그렇다면 큰 변화가 일어나기 전에 미리 알려줄 수 있습니까? 그렇지 않은 경우 테스트의 최소 하위 집합 (연기)에 태그를 지정하고 먼저 실행하십시오. 이 기본 세트가 통과되면 나머지 스위트를 호출합니다. – Gishu
여러분의 제안에 감사드립니다. 궁리 할 좋은 정보. – Joe