배경 저는 7 명의 개발자와 물류 시스템에서 작동하는 2 명의 테스터로 구성된 팀에서 일합니다. 우리는 프레임 워크로 Bold for Delphi과 함께 델파이 2007 및 모델 구동 개발을 사용합니다. 이 시스템은 현재 약 7 년 동안 생산되었으며 약 1,7 수백만 줄의 코드를 가지고 있습니다. 우리는 4-5 주 후에 프로덕션으로 릴리스하고 거의 모든 릴리스 이후에 발견되지 않은 버그에 대한 패치를 수행해야합니다. 이것은 물론 우리와 고객 모두를 자극합니다.Bold for Delphi 프레임 워크로 코딩 할 때 테스트 가능성 향상
현재 테스트 물론 해결책은 더 자동 테스트입니다. 현재 수동 테스트가 있습니다. 빈 데이터베이스로 시작하고 모델링 된 메서드에서 데이터를 추가하는 Testdbgenerator입니다. 우리는 또한 GUI 테스트를위한 아주 기본적인 스크립트를 실행하는 Testcomplete을 가지고 있습니다. 시간 부족으로 더 많은 테스트를 중단 할 수 없지만 스크립트는 애플리케이션의 변경 사항에도 민감합니다. 몇 년 전에 DUnit을 사용하여 단위 테스트를 실제로 시도했지만 몇 일 후에 단념했습니다. 장치가 너무 강하게 연결되어 있습니다.
- 한 일을 작은 방법을 쓸 수 있지만 그것을 잘 수행
단위 테스트의 전제 조건은 내가 단위 테스트에 대한 몇 가지 전제 조건을 알 것 같아요.
- 반복하지 마십시오.
- 먼저 실패한 테스트를 작성한 다음 테스트를 통과하도록 코드를 작성하십시오.
- 단위 사이의 연결이 느슨합니다. 그들은 서로에 대해 많이 알지 않아야합니다.
- 의존성 주입을 사용하십시오.
프레임 워크는 우리는 주로하기 때문에 64 비트 컴파일러의 델파이 XE2로 업그레이드 할 수 있습니다 사용할 수 있습니다. Spring을 조금 보았습니다. 그러나 D2007의 업데이트가 필요하며 지금은 발생하지 않습니다. 아마도 내년에.
질문 중 대부분의 코드는 자동으로 테스트되지 않습니다. 그렇다면 오래된 코드의 테스트 가능성을 높이기위한 최선의 경로는 무엇입니까? 아니면 새로운 방법에 대해서만 테스트를 작성하는 것이 가장 좋습니다. 자동 테스트를 늘리는 가장 좋은 방법은 무엇인지 잘 모르겠습니다. 그리고 그에 대한 의견은 환영합니다. D2007 + DUnit을 사용하고 나중에 쉽게 Delphi XE2 + Spring으로 변경할 수 있습니까?
편집 : 수동 테스트를위한 현재의 테스트 방법론은 바로 "파운드를 떼어 놓으려고 시도합니다."라고 말하면서 Chris이라고 부릅니다.
투표를 통해 프로그래머로 마이그레이션하십시오. 그것은 좋은 질문이고 거기에 더 적합하다고 믿습니다. –
+1이 질문에 감사드립니다. – jrodenhi