Swing 기반 애플리케이션을 위한 최고의 테스트 도구는 무엇입니까?[닫은]

StackOverflow https://stackoverflow.com/questions/79891

  •  09-06-2019
  •  | 
  •  

문제

시간이 허락하는 한 애플리케이션에 대해 많은 단위 테스트를 설정하려고 노력하지만 항상 UI 수준 테스트의 양이 부족하다는 것을 알게 됩니다.많은 옵션이 있지만 무엇부터 시작하는 것이 좋은지 잘 모르겠습니다.

Swing 애플리케이션 테스트를 위해 선호하는 단위 테스트 도구는 무엇입니까?왜 당신이 그것을 좋아합니까?

도움이 되었습니까?

해결책

우리 쪽에서는 SWING GUI를 테스트하는데 사용합니다. 페스트.이것은 전통적인 스윙 로봇의 어댑터이지만 사용이 매우 쉽습니다.

TestNG와 결합하여 GUI를 통해 "인간" 동작을 시뮬레이션하는 쉬운 방법이라는 것을 알았습니다.

다른 팁

대상 애플리케이션에 맞춤 구성요소, 꼭 추천하고 싶습니다 마라톤 테스트를 자동화합니다.

나는 여러 가지 도구를 사용하여 응용 프로그램을 자동화하는 작업을 맡았습니다. 극도로 처음부터 자체적으로 작성된 복잡한 사용자 정의 구성요소입니다.저는 두 달 동안 지속된 검토 과정을 거쳤고, 그 과정에서 상용 및 FOSS 모두에서 사용 가능한 30개에 가까운 테스트 도구 목록 중에서 어떤 테스트 도구를 사용할지 결정했습니다.

그것은 오직 특정 사용자 정의 구성 요소를 성공적으로 자동화할 수 있는 테스트 도구IBM의 Rational Functional Tester, Microfocus의 TestPartner, QF-Test, Abbot & FEST 실패한.

이후 저는 애플리케이션의 각 빌드가 완료될 때마다 테스트가 실행되도록 Cruise Control과 테스트를 성공적으로 통합할 수 있었습니다.

경고의 말씀하지만:
1) JTable을 처리하는 방식으로 가장자리가 다소 거칠습니다.나는 그들을 위해 내 자신의 프록시 클래스를 작성하여 이 문제를 해결했습니다.
2) 아직 드래그 앤 드롭 동작의 기록/재생을 지원하지 않습니다.

마라톤을 고려해보세요(http://www.marathontesting.com/Home.html)--테스트 Jython으로 작성되었으므로 객체 상태에 따라 모든 종류의 조건자를 쉽게 작성할 수 있습니다.

QF-TEST를 한번 시도해 볼 기회가 있었습니다.상업용이지만 많은 기능을 제공합니다.어쩌면 당신은 그것을 살펴 볼 수 있습니다 : http://www.qftest.de/en/index.html

당신은 사용해 볼 수 있습니다 오이 그리고 스윙어 Swing GUI 애플리케이션에 대한 기능 승인 테스트를 일반 영어로 작성합니다.Swinger는 Netbeans를 사용합니다. 조립식 쇠 지렛대 앱을 구동하기 위한 내부 라이브러리입니다.

Cucumber를 사용하면 다음과 같은 테스트를 작성할 수 있습니다.

 Scenario: Dialog manipulation
    Given the frame "SwingSet" is visible
      And the frame "SwingSet" is the container
    When I click the menu "File/About"
    Then I should see the dialog "About Swing!"
    Given the dialog "About Swing!" is the container
    When I click the button "OK"
    Then I should not see the dialog "About Swing!"

이것 좀 보세요 스윙어 비디오 데모 실제로 작동하는 모습을 확인하세요.

QFTest를 강력히 추천합니다.나는 이것을 상업용 제품에 사용했고 거의 코드가 전혀 없는 상태에서도 매우 잘 작동합니다(내 앱에서는 어떤 경우에는 Java 클라이언트 API를 사용해야 합니다).스윙 구성 요소 식별을 잘 처리하고 GUI 업데이트에 매우 관대합니다. 구성 요소 크기 조정, 위치 변경 및 추가로 인해 기존 테스트가 중단되지 않습니다.기능에 대한 주요 업데이트를 수행했으며 테스트가 계속 작동합니다.

비용이 많이 들지만 몇 달 안에 돈을 갚을 것이라고 생각합니다.

QFTest 전에 나는 다음을 시도했습니다.

1) Automatedqa - 좋은 도구이지만 창 중심이며 Swing을 이해하지 못합니다.Quick test Pro와 유사합니다.

2)UISpec4J - 일주일에 50시간을 이 작업에 투자한 후 취약성과 이로 인해 생성된 난해한 Java 코드 문제가 발생했습니다.그것을 사용하는 것은 너무 힘들었습니다. 일련의 수십 가지 GUI 작업을 수행하는 수백 줄의 Java를 디버깅/업데이트하려고 시도하는 것은 내 두뇌에 작동하지 않았습니다.실제로 앱 자체를 작성하는 것보다 훨씬 더 복잡하기 때문에 테스트 작성을 피하게 되었습니다!

파운더를 사용해 보세요: http://pounder.sourceforge.net/

저는 Netbeans를 테스트하기 위해 작성된 라이브러리인 Jemmy를 좋아합니다.

답변이 아니라 개선입니다.

녹음 및 재생을 원하는 것은 잘못된 것입니다.팀에는 코드가 작성되기 전에 테스트를 작성할 수 있는 능력이 필요합니다.그렇지 않으면 코더는 작업을 마치고 테스터가 테스트를 기록하기 위해 분주히 움직이는 동안 기다립니다(문제를 발견하면 수정 사항으로 인해 중단됨).

BDD/TDD/ATDD 종류의 설정에서는 UI 요소 이름 등을 지정하여 아직 작성되지 않은 코드에 대한 테스트를 스크립트로 작성할 수 있는 일종의 도구가 실제로 필요합니다.

비폭포식 테스트에 작동하는 도구가 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top