2009-05-11 4 views
23

우리는 "GenerateOrders"와 같은 여러 "작업"또는 테스트를 작성할 수있는 자체 통합 테스트 도구를 작성했습니다. 테스트를 구성하는 데 사용할 수있는 여러 가지 매개 변수 (예 : 주문 수)가 있습니다. 그런 다음 테스트가 통과/실패 (즉, (nt) 주문이 있음)를 확인하는 두 번째 작업을 작성합니다.통합 테스트를 수행하는 가장 좋은 방법은 무엇입니까?

도구는

그것은 것 (혼합 테스트들을 매칭함으로써)

  • 통합 테스트
  • 데이터 생성
  • 종단 간 테스트를 위해 사용 그러나 새로운 테스트를 유지하고 작성하기 위해서는 개발 경험이 필요합니다. 우리의 테스트 팀은 C# 개발 경험이 거의없는 사람들에게 참여하고 싶습니다.

    새로운 Greenfield 프로젝트를 막 시작하고 통합 테스트를 작성하고 유지 관리하는 최적의 방법에 대해 조사하고 있습니다.

    • 가 어떻게 통합 테스트를 수행 할 다음과 같이

      질문

      은?
    • 어떤 도구를 사용합니까 (FitNess?, Custom ?, NUnit)?

    나는 사람들의 제안/의견을 기다리고 있습니다. 사전에

    감사합니다,

    데이비드

+0

연속 통합 테스트를 사용 하시겠습니까? –

+0

질문을하는 것이 내 의도는 아니지만 최소한 개발/C# 경험이 테스터에게 매우 유용 할 수 있다고 생각합니다. 이것은 그들이 dev't 부서에서 약간의 기술을 픽업하는 시간이 될 수 있습니다. –

+0

@McWaffletix - 우리가 작성한 커스텀 툴은 코드가 CC.NET에 의해 체크 인되었을 때 실행 중이므로 계속 실행될 것입니다. :) @Greg D - 전적으로 동의합니다 :) 그러나 우리의 테스터들은 그렇지 않습니다! 문제는 C#이 재미 있다는 것을 설득하는 것입니다. 그것은 완전한 마인드 변화입니다. 우리는 계속해서 "우리는 개발자가 아닙니다"라고 말합니다 ... –

답변

12

-AFT) 또는 service/api 인터페이스 수준.

몇 가지 도구는 두 경우가 있습니다

이클립스 리치의 AFT 성공적으로 .NET의 WPF 또는 윈폼 애플 리케이션을위한 AFT에 대한 웹 응용 프로그램의 AFT, white에 대한 Sahi 또는 Selenium을 사용하는 프로젝트 swtBot에 일한

클라이언트 애플 리케이션 및 frankenstein 자바 스윙 애플 리케이션의 AFT.

피트니스는 서비스/API 수준 테스트 또는 UI 바로 아래에서 실행되는 테스트에 유용합니다. 올바르게 완료되면 비즈니스가 읽을 수있는 테스트를 수행 할 수있는 이점이 있습니다. 즉 개발자가 아닌 개발자는 테스트를 읽고 이해할 수 있습니다. NUnit과 같은 도구는이 목적에 덜 유용합니다. SOAPUI은 특히 SOAP 웹 서비스를 테스트하는 데 적합합니다.

고려할 요인 :

  • 기간 : 당신이 8 개 시간의 테스트 실행을 허용 할 수 있습니까?
  • 취성 : AFT는 진화하는 애플리케이션 (예 : ID 및 위젯의 위치가 변경 될 수 있음)에 대해 매우 취약 할 수 있습니다.변화하는 부분을 하드 코딩하지 않으려면 적절한 기술과 노력이 필요합니다.
  • 피델리티 : 현실 세계와 얼마나 가깝습니까? 예 : 공급자가 테스트 환경을 제공하지 않는 한 지불 게이트웨이와의 상호 작용을 조롱해야 할 수도 있습니다.

일부 뉘앙스는 here입니다.

전체 공개 : 저자는 위의 무료 및 오픈 소스 도구 대부분 (전부는 아님)과 관련된 조직과 관련이 있습니다.

+0

이것은 결국 우리가 간 것입니다. WCFTestClient.exe와 같은 역할을하는 웹 응용 프로그램을 만들었지 만 복잡한 형식을 허용하므로 UI ​​수준에서 통합 테스트를 수행하기 위해 셀레늄을 사용할 수 있습니다. :) –

1

그것은 아니에요 베타 중 아직하지만 StoryTeller 유망 같습니다

통합 테스트는 자동화 된 기능 테스트를 통해 사용자 인터페이스 수준 (에서 수행 할 수 있습니다
2

사용자 동의 테스트를 HTML 파일로 작성하기 위해 Concordion 프레임 워크를 사용해보십시오. BDD 스타일의 접근 방식을 취합니다. .Net port도 있습니다.

관련 문제