2012-06-28 3 views
2

최대 절전 모드를 사용하여 Java Swing 기반 응용 프로그램을 작성 중입니다. 그리고 NetBeans IDE를 사용하여 응용 프로그램을 구축했습니다.스윙 응용 프로그램 테스트

약 13 개의 하위 모듈이 있습니다. 나는 서브 모듈을 빌드하는데 JInternalFrames을 사용했다. JasperViewer를 사용하는 4 가지 보고서.

내 응용 프로그램을로드하는 데 약 2 - 3 분이 소요됩니다. 그리고 한 모듈에서 다른 모듈로 전환 할 때 각 모듈을로드하는 데 많은 시간이 걸립니다.

지금 난 내 전체 스윙 응용 프로그램의 메모리 및 CPU를 확인하는 방법 다음과 같은 일

  1. 을 확인해야하고 어떤 클래스는 많은 CPU 및 메모리 사용량을한다?

  2. 간단한 접근법을 사용하여 응용 프로그램을 테스트하는 방법은 무엇입니까?

  3. 내 스윙 어플 리케이션의 성능을 향상시키는 방법은 무엇입니까?

답변

3

시작 시간은 단순히 가진-A-큰 GUI 애플리케이션을 발생하지 않습니다. 문제는 데이터베이스 액세스라고 생각합니다. 질문이 올라옵니다 :

  • 최대 절전 모드의 지연로드 기능을 사용합니까? 이것은 좋은 기능이지만 책임지지 않은 경우에는 몇 가지 문제가 발생할 수 있습니다. this을 읽으십시오.
  • 응용 프로그램에서 데이터베이스의 데이터를 캐시합니까 아니면 모든 작업에서 데이터베이스에서 데이터를 가져 옵니까? 로드 시간을 줄이는 좋은 방법은 데이터를 HashMap에 저장하는 것입니다. Hibernate는 자신도 caches입니다.
  • 전체 데이터베이스의 대부분을 가져 오시겠습니까? 이것은 원하지 않습니다. 더 나은 db 스키마 디자인은 이것을 방지 할 수 있습니다. 또한 느린 로딩입니다.
  • 응용 프로그램이 다중 스레드입니까? 이벤트 발송 스레드에서 데이터를로드하면 큰 이점이 있습니다. 질문에 대한

는 :

  1. simpliest 도구는 모든 JDK와 함께 제공 : jVisualVM 당신은 파일을 .hprof 저장하고 또한 다른 도구를 분석 할 수 있습니다. 메모리 분석 도구 또는 Netbeans profiler도 좋은 선택입니다. 자세한 내용은 this을 참조하십시오.
  2. 테스트하려는 항목에 따라 다릅니다. 그냥 클래스 (JUnit), GUI (UISpec4J) 또는 테스트 대신 프로파일 링을 의미합니까?
  3. 위에서 설명한 것처럼 데이터를 캐싱하거나 지연로드를 사용하거나 응용 프로그램을 다중 스레드로 만들어 성능을 향상시킬 수 있습니다.또한 달성 방법은 here입니다. 귀하의 질문에 대해서는
0

3. 첫 번째 측정을 위해, 다음 잘라

. 대부분의 경우 간단한 변경으로 80 %의 성능 향상을 얻을 수 있습니다.

(1의 경우) VisualVM은 CPU 및 메모리 소비량을 측정하는 데 도움이되는 유용한 도구입니다. 그에 따라 코드를 정확하게 (그리고 오직) 변경하십시오.

(2) ReTest을 살펴 보시기 바랍니다. 그것은 ai 기반 원숭이 테스트와 결합 된 기능적 회귀 테스트에 대한 혁신적인 접근 방식을 구현하는 비교적 새로운 도구입니다.

면책 조항 : 저는 ReTest의 설립자 중의 한 사람입니다.

+0

특정 제품/리소스를 과도하게 홍보하는 것은 커뮤니티에서 ** 스팸 **으로 인식 될 수 있습니다. [도움말], 특히 [어떤 종류의 사용자에게 예상되는 동작입니까?] (http://stackoverflow.com/help/behavior)의 마지막 섹션 : _ 명백한 자기 승격 _을 피하십시오. 또한 [스택 오버플로에 광고하려면 어떻게합니까?] (http://stackoverflow.com/help/advertising)에 관심이있을 수 있습니다. –

+0

나는 지난 10 시간 이내에 (1 시간 이내에) 귀하의 제품을 홍보하고 있다고 생각합니다. –

+0

별로는 아니지만 충분히 가깝습니다. 링크 주셔서 대단히 감사합니다! – roesslerj