단위 테스트에서 레거시 응용 프로그램을 얻는 작업을 맡았습니다. 응용 프로그램에 대한 첫 번째 배경 : 600k LOC Java RCP 코드 기반으로 이러한 주요 문제가 있습니다.
- 대규모 코드 복제
- 캡슐화가없고 대부분의 개인 데이터는 외부에서 액세스 할 수 있으며 일부 비즈니스 데이터도 싱글 톤으로 만들어 외부에서뿐만 아니라 어디에서나 변경할 수 있습니다.
- 추상화 (예 : 비즈니스 모델 없음, 비즈니스 데이터는 Object [] 및 double [] []에 저장 됨)가 없으므로 OO가 없습니다.
좋은 회귀 테스트 스위트가 있으며 효율적인 QA 팀이 버그를 테스트하고 찾는 중입니다. Michael Feathers와 같은 고전 서적에서 테스트를받는 방법을 알고 있지만 너무 느립니다. 회귀 테스트 시스템이 작동하기 때문에 단위 테스트를 작성할 수 있도록 시스템을 적극적으로 리팩터링하는 것을 두려워하지 않습니다.
어떻게 커버리지를 빨리 얻기 위해 문제를 공격하기 시작해야합니까? 관리자에게 진척 상황을 보여줄 수 있습니까? AgitarOne과 같은 회귀 테스트 스위트를 생성하는 도구를 사용하고 싶지 않습니다.이 테스트는 무언가가 올바른지 테스트하지 않기 때문입니다.