2010-04-28 2 views
4

내 응용 프로그램에 대한 통합 테스트 및 시스템 테스트를하고 싶지만 좋은 통합 및 시스템 테스트를 작성하는 데는 많은 노력이 필요했습니다. 몇 번 시도해 보았을 때마다 맞춤식 애플리케이션 별 테스트 장치를 썼다. 매번 휠을 다시 발명하는 느낌이 들었다. 이것이 잘못된 접근인지 궁금합니다. 통합 및 전체 시스템 테스트에 "표준"접근 방식이 있습니까?고통을 줄이는 통합 및 시스템 테스트

편집 : 명확한 설명을 위해 데스크톱 및 웹 응용 프로그램의 자동화 된 테스트입니다. 응용 프로그램의 모든 기능을 사용하는 이상적인 테스트 스위트입니다.

답변

5

"통합 테스트 및 시스템 테스트"란 자동화 된 테스트를 의미하는 경우 대답은 아니며 표준 접근 방식이 없습니다. 어떤 접근 방식에 따라 달라집니다 선택 : 응용 프로그램의

  • 특성 (예를 들어, 그것은 GUI가 있습니까? 그것은 읽기 전용? 그것은, 등이 있나요 얼마나 많은 외부 종속성) 당신이 시도하고있는 무슨
  • 테스트 (어쩌면 GUI 테스트 만 필요할 수도 있고 아니면 그 반대 일 수도 있고 GUI는 신경 쓰지 않지만 내부 로직은 중요합니다)
  • 얼마나 빨리 결과를보고 싶습니까? 테스트가 빨리 진행됨)
  • 팀의 스킬 셋

저는 개인적으로 JUnit과 통합되는 접근법을 좋아합니다. JUnit은 잘 지원되며 연속적인 통합 서버로 쉽게 묶일 수있는 환상적인 프레임 워크입니다. - 환상적인 도구 웹 응용 프로그램을

  • Concordion
  • 를 구동 - 모든 응용 프로그램 유형의 JUnit과

    • Selenium : 여기에 몇 가지 가능한 방법이다. JUnit과 통합되어 일반 영어 사양의 테스트가 가능합니다. 당신의 'fixture'/ 테스트 코드는 명세에있는 주요 단어에 연결되어 그들에 대한 행동을 주장하거나 수행 할 것입니다. 위의 예는 테스트를위한 상자 도움말 중 엄청난 양의를 제공 (더 많은 선택 here)

    -

  • FEST 스윙 애플리케이션을 위해, 다시는 (? 아직 주제를 참조)의 JUnit과 통합됩니다. 물론, 그들은 여전히 ​​응용 프로그램에 연결하고 유지 보수하는 노력이 필요하지만 이점은 충분히 가치가 있습니다. 위의 내용 외에도 응용 프로그램 영역을 스텁 또는 모방하는 방법을 고려해야 할 수도 있습니다. 아마도 "GUI 아래"또는 "데이터베이스 위"에서 모든 테스트를 수행하려고 할 것입니다. 첫 번째 시나리오에서는 코드가 GUI와 상호 작용할 지점에서 테스트를 시작해야하며 후자에서는 데이터베이스와 상호 작용하는 서비스를 완성해야합니다.

    요점은 여러 가지 방법이 있습니다. 테스트에서 벗어나고 싶은 것을 명확하게 이해하고 시작하는 것이 가장 좋습니다. 그런 다음 테스트 할 내용을 기반으로 기존 프레임 워크가 무엇인지 알아 내고 마지막으로 밤에 세계를 정복하려고하지 마십시오. 몇 가지 테스트를 실행하는 작은 시작합니다. 녹색 막대를 얻으십시오 (언제나 기쁨을 선사합니다!) 테스트를위한 안정된 입증 된 플랫폼을 얻고 만족 스러운지 확인하십시오. 그런 다음 계속 추가하십시오.

  • +0

    감사합니다. 몇 가지 제품에 대한 시스템 테스트를 수행했습니다. 나는 그것이 얼마나 오래 걸리는지, 그리고 그것이 얼마나 어려운지 놀라 울뿐입니다. 예 : 처녀 상태 (VMWare)를 얻고 테스트를 실행합니다. 예를 들어, 설치 프로그램/제거 프로그램이 올바르게 작동하는지 확인하는 방법은 무엇입니까?설치 프로그램은 매우 일반적이지만 예상대로 작동하는지 자동으로 검증 할 수있는 지원은 거의 없습니다. – mdma

    +0

    wrt installer/uninstaller 기능을 사용하면 다른 하나를 수행하고 컴퓨터의 상태가 시작한 곳으로 돌아가는지 확인할 수 있습니다. 그 사이에 파일이 수정되었는지, 디렉토리가 생성되었는지 등을 확인할 수 있습니다. 또한 상호 작용을하는 대신 모든 파일 상호 작용에 대한 텍스트를 출력 한 다음 텍스트가 예상대로 작동하는지 확인하여 설치 프로그램의 기능을 완성 할 수 있습니다. 이것은 빠른 것의 추가 장점을 가지고 있습니다. 그러나 그렇습니다, 이것은 까다로운 상황입니다. –