내 현재 직업은 주로 우리가 작업하는 다양한 응용 프로그램에 대한 GUI 테스트 코드를 작성하는 것입니다. 그러나 테스트 내에서 많은 코드를 복사하여 붙여 넣는 경향이 있습니다. 그 이유는 테스트하는 영역이 반복이 필요할 정도로 비슷하지만 코드를 메소드 또는 객체로 캡슐화 하기에는 충분히 유사하지 않기 때문 입니다. 클래스 나 메소드를 더 광범위하게 사용하려고 할 때, 테스트는 유지하기가 더 번거롭고 때로는 쓰기가 어려울 때가 있습니다.
대신 일반적으로 한 섹션에서 큰 테스트 코드 덩어리를 복사하여 다른 섹션에 붙여 넣고 필요한 부분을 약간 변경합니다. 더 많은 OO 원칙이나 함수를 사용하는 것과 같이 더 체계적인 코딩 방법을 사용하지 않습니다.
테스트 코드를 작성할 때 다른 코더가 이런 느낌을 받습니까? 분명히 DRY 및 YAGNI 원칙을 따르고 싶지만 테스트 코드 (GUI 테스트를위한 자동화 된 테스트 코드)가 이러한 원칙을 따르기가 어려울 수 있다는 것을 알게되었습니다. 아니면 더 많은 코딩 연습과 더 나은 전반적인 작업 시스템이 필요합니까?
편집 : 내가 사용하는 도구는 SilkTest이며 4Test라는 독점 언어입니다. 또한 이러한 테스트는 주로 Windows 데스크톱 응용 프로그램에 대한 것이지만이 설정을 사용하여 웹 응용 프로그램도 테스트했습니다.