2014-01-17 4 views
2

필자는 수용 테스트에 대해 생각해 왔으며 자동 테스트 (예 : Continuous Delivery 파이프 라인에 장착)에 대한 명확한 이해를 얻고 자합니다. 데스크톱 응용 프로그램을 Java 메신저 응용 프로그램으로 작성했습니다. 수락 테스트를 자동화하려면 어떻게해야합니까? "서버가 충돌 할 때 사용자 A는 사용자 B에게 메시지를 보내고 장애 조치 서버로 전환하면 중단 된 위치에서 채팅을 다시 시작할 수 있으며 모든 채팅 기능이 클라이언트에서 예상대로 작동하는지 확인하십시오"데스크톱 Java 응용 프로그램의 자동화 된 수용 테스트 방법

JUnit은 이와 같은 자동 승인 및 시스템 테스트에 사용됩니까? 나는 또한 셀레늄이이라고 들었지만, 웹 애플리케이션에만 사용되었다.

JUnit으로 단위 테스트의 개념을 이해하고 있지만, 데스크톱 애플리케이션 기능의 상위 레벨 테스트를 자동화 할 수있는 방법에 관해서는 분실했습니다. 일부 테스트에는 다른 클라이언트에 메시지를 보내는 것과 같은 GUI와의 상호 작용이 포함될 수 있지만 다른 테스트에는 서버 충돌과 같은 서버 측 작업이 포함됩니다. 필자는 JUnit과 응용 프로그램의 코드를 사용하여이 작업을 수행 할 수 있다고 생각 했었습니다. 아마도 테스트를 시작하는 데 필요한 일부 스크립팅 (Perl, Ruby 등)을 사용했을 것입니다.

+0

이 어려울 수 있습니다 : 당신이 스윙을 사용한다면

또한, 도움이 될 수 있습니다이 스레드를 발견했다. 여러 가지 방법으로 Windows 응용 프로그램을 자동화 할 수 있습니다. AutoIt과 같이 무료로 제공되는 것에서부터 비싼 테스트 자동화 스위트까지 다양합니다. 그렇게 말하면서, 당신이 묘사 한 모든 시나리오를 커버하기 위해 단위 테스트를 할 수 있기를 바랍니다. –

답변

2

비용이 많이 드는 소프트웨어 솔루션이 여러 가지 있습니다. 진지한 것들은 QTP (now UFT), TestComplete, Ranorex, SilkTest입니다. 그들은 모두 평가판 소프트웨어를 사용할 수 있어야합니다. Java 애플리케이션이 Swing/AWT로 작성된 경우 Jemmy는 체크 아웃 할 가치가 있습니다. Tony Hopkinson이 언급했듯이 AutoIt은 적합 할 수 있으며 사용하기가 매우 빠릅니다. 셀렌은 훌륭하지만 내가 아는 한 웹 테스트에만 사용됩니다. UI를 자동화하는 것은 자동 테스트에 매우 중요하며 최종 사용자와의 상호 작용 때문에 수락 테스트를 보완합니다. 단위 테스트는 많이 겹치며 구성 방법에 따라 기능적 통합을 다룰 수 있고 충분할 수도 있지만 두 가지 목적으로 서로 다른 두 가지 접근 방식을 사용합니다. http://www.coderanch.com/t/96035/Testing/Automated-Swing-Testing