2013-03-19 3 views
5

서로 다른 구성 요소로 이루어진 복잡한 서비스 지향 아키텍처가 있다고 가정 해보십시오. 구성 요소는 다른 언어 (Java, PHP, Ruby)로 작성되고 서로 다른 방식 (예 : UI, REST API, 경우에 따라 일부 DB 테이블 공유 등)으로 서로 통신합니다.다국어 통합 테스트 프레임 워크

일부 엔드 투 엔드 테스트를 위해 통합 테스트 프레임 워크를 설계하려고합니다. 우리는 이미 단일 구성 요소에 대한 단위 테스트/통합 테스트를 수행하고 있지만 배포 된 시스템 (실제 환경에서)을 철저히 테스트하여 엔드 포인트의 기능이 제대로 작동하는지 확인하고자합니다. 개별 구성 요소)가 올바르게 제공되고 아키텍처가 올바르게 구성되었는지 확인하십시오.

내가 직면 한 첫 번째 문제는 대부분의 UI가 PHP로 작성되었으며 UI 통합 테스트는 오이와 맨 위에 몇 개의 플러그인으로 작성된 것입니다. 필자가 작성한 테스트 프레임 워크 (Java)는 이러한 기능 테스트를 트리거해야하며 나중에 관련 구성 요소의 동작이 예상대로 이루어 지는지 확인해야합니다.

분명히 Selenium과 같은 Java 친화적 인 구성 요소를 사용하여 UI 테스트를 다시 작성할 수는 있지만 노력을 반복하는 것은 의미가 없습니다.

또 다른 해결책은 Java 내에서 exec() 호출로 기존 테스트를 실행하고 결과가 반환 될 때까지 기다렸다가 출력을 구문 분석하고 완료해야하는 다른 작업/검사를 진행하는 것입니다.

Java 내에서 기존 PHP 코드를 임베드하는 것은 프로젝트 작성 방법에 따라 실행 가능한 솔루션으로 보이지 않습니다.

설명 된 해결책 중 어느 것도 나에게 납득이가는 소리가 아닙니다. 이상적으로는, 다른 언어와 다른 환경/구성 요소로 작성된 동일한 테스트 스위트 테스트에서 플러그인 할 수있는 일종의 다중 언어 (및 다중 기술) 통합 프레임 워크를 사용하는 것이 좋습니다.

누구나이 방향으로 나아가는 도구 나 프레임 워크를 아는 사람이 있습니까? 그렇지 않다면 이런 종류의 문제에 대한 좋은 접근 방법이 될 수 있습니까?

답변

0

Jmeter와 같은 것으로 전체 스택 테스트를 고려 했습니까?

당신은

  • 것은 삭제 예상대로 사용자가 성공적으로 생성 screeen가 해당 사용자가 데이터베이스에
  • 확인 주심
  • 확인 사용자를 작성하여 완벽하게 배포 된 소프트웨어

    • 에 대해 실행 테스트를 구축 할 수 있습니다 user
    • confirm user을 (를) 삭제했습니다.

    이 방법을 사용하면 UI, 비즈니스 로직 및 데이터 스토어를 한꺼번에 테스트 할 수 있습니다. 또한로드 테스트를 수행하는 데 사용될 수도 있습니다. 이 도움이하지만 어쩌면 https://github.com/nablex/glue에 모습을 가질 수있는 경우

    Jmeter

  • +0

    감사를 얻기 위해 시작하기에 좋은 장소이지만, JMeter를 채택 기존 테스트를 처음부터 다시 작성하는 것을 의미합니다. 또한 JMeter는 Javascript를 해석하지 않으므로 UI ​​테스트에 큰 한계가 있습니다. – kappolo

    +0

    나는 약간 혼란 스럽다. 기존 유닛 테스트를 호출하는 테스트 스위트 프레임 워크를 만들고 싶다. 이 정보는 기존 검사를 능가하는 정보를 제공합니까? – mconlin

    +0

    내가 명확하지 않으면 죄송합니다. 전체 통합 테스트 (즉, 시스템의 모든 구성 요소 통합)를 작성하려면 이미 존재하는 통합 테스트의 일부를 재사용하고이를 새로운 테스트와 결합/통합하십시오. – kappolo

    1

    확실하지. 그것은 (통합) 테스트에 중점을두고 개발 한 스크립팅 언어입니다.

    https://github.com/nablex/glue-selenese을 연결하고 매우 확장 가능하면 셀렌 스크립트를 즉시 지원합니다. 그들은 단지 활성화되도록

    나는 현재 여우 프로로 작성된 기존 스크립트를 실행하는 일부 사용자 지정 확장과 고객에 그것을 사용하고 있는데 레거시 모드 (사실은 ... 전율을 여우 프로 방법을 재 구현) 기존 스크립트는 새 스크립트가 아닙니다. 필자는 사용자 정의 SOAP 기반 웹 서비스를 플러그인했으며, 그 중 하나는 원격 시스템에서 데이터베이스 호출을 수행하는 데 사용될 수있어 통합 레벨 테스트를위한 광범위한 도구를 제공합니다.

    스크립팅 언어가 완벽하게 작동하지만 기본적으로 사용할 수있는 통합형 테스트 도구로 사용할 수있는 메서드에 대한 요약 정보를 계속 제공하고 있습니다. 그것이 도움이되는지 아니면 알려지지 않은지, 왜 그것이 당신의 요구를 충족시키지 않는지, 항상 피드백에 만족하는지 알려주십시오. :)

    추신 : (! 중단 점 지원) "메인"클래스는 것이라고 생각하기에 위로가 작동 CLI 클라이언트를 포함로 실행