본문 바로가기

IT기반지식/소프트웨어공학

테스팅 도구의 효과적인 사용 : 잠재적인 혜택 및 위험

6.2.1 테스팅에 대한 도구 지원의 잠재적인 혜택과 위험 (모든 도구에 대하여)

단순히 도구를 구입하거나 임대하는 것은 도구를 사용한 성공을 보증하지 않는다. 도구의 각 종류는 실질적이고 최종적인 혜택을 이루기 위한 추가적인 노력을 요구할 수 있다. 테스팅에 도구를 사용하는 것은 잠잭적인 혜택의 기회들 뿐 아니라. 위험 역시 가지고 있다.

 

도구를 사용하는 잠재적인 혜택은 다음을 포함한다.

 

• 반복적인 작업이 줄어든다. (e.g 회귀 테스티의 실행, 같은 테스트 데이터의 재입력, 그리고 코딩

  표준에 대한 검사)
• 더 많은 일관성과 반복 가능성 (e.g 도구에 의하여 실행된 테스트, 요구사항으로부터 유도된

  테스트들)
• 객관적인 평가(e.g 정적인 측정값, 커버리지와 시스템 행위)
• 테스트와 테스팅의 정보에 대한 쉬운 접근 (e.g 테스트 진행사항, 부대사건 비율과 성능에 대한

  통계와 그래프)

 

도구를 사용하는 위험은 다음을 포함한다.

 

• 도구에 대한 비현실적인 예상들 (쉬운 사용과 기능을 포함해서)
• 도구의 초기 소개에 대한 시간, 비용 그리고 노력에 대한 과소평가
• 도구로부터 의미있고 연속적인 혜택을 얻기 위해 필요한 노력과 시간의 과소평가(테스팅

   프로세스에 대한 변경 요청과 사용되는 도구의 계속되는 향상 방법을 포함해서)
• 도구에 의하여 생성된 테스트 자산의 유지에 필요한 노력의 과소평가
• 도구에 대한 과도한 신뢰(테스트 디자인의 교체 혹은 수동 테스팅이 더 좋은 경우)

 

6.2.2 일부 도구 종류에 대한 특별한 고려사항들 (K1)

 

테스트 실행 도구 (Test execution tools)

 

테스트 실행 도구는 전기적으로 저장된 테스트를 구현하기 위하여 디자인된 스크립트를 재연한다. 이것은 때때로 중요한 혜택을 얻기 위해 많은 노력을 요구하는 도구의 종류이다.

 

수작업 테스터의 행위들을 기록함으로써 테스트를 추출하는 것은 매력적으로 보일수 있지만, 이러한 접근 방법은 많은 수의 테스트에게까지 규모가 확장되지 않는다. 추출된 스크립트는 각각 스크립트의 부분으로 특정 테이터와 액션을 선형적으로 표현한다. 이러한 종류의 스크립트는 예상되지 못한 이벤트가 일어날 때 불안정하게 될 수도 있다.

 

데이터 유도 방식(data-driven approach)은 테스트 입력(데이터)를 일반적으로 스프레드 쉬트로 분리한다. 그리고 테스트 데이터를 읽을 수 있는 더욱 일반적인 스크립트를 사용하고 여러가지 데이터를 가지고 동일한 테스트를 수행한다. 스크립트 언어에 익숙하지 않은 테스터들은 미리 정의된 스크립트에 대한 테스트 테이터를 입력 할 수 있다. 핵심어 유도 방식(keyworkd-driven approach)에서는  스프레드 쉬트는 처리해야 하는 액션을 설명하는 핵심어(실행어라 불린다.)와 테스트 데이터를 포함한다. 테스터들은(심지어 스크립트 언어에 친숙하지 않다고 하더라도) 핵심어를 이용하여 테스트를 정의할 수 있으며, 테스트 되어야 하는 응용 프로그램에 대하여 맞출 수 있다.

 

스크립팅 언어에 대한 기술적인 전문 지식은 (테스터나 전문가에 의한 테스트 자동화에 있어서 모두) 모든 접근 방법에 대하여 필요하다.

 

어떠한 스크립팅 기법이 사용되었던간에, 각각의 테스트에 대한 예상 결과는 나중의 비교를 위하여 저장되는 것이 필요하다.

 

성능 테스팅 도구

 

성능 테스팅 도구는 테스트를 디자인하고 결과를 해석하는 것을 돕기 위해 성능 테스팅에 전문적 기술을 가진 사람이 필요하다.

 

정적 분석 도구

소스 코드에 적용된 정적 분석 도구는 코딩 표준을 강제할 수 있지만, 기존 코드에 적용하게 된다면 많은 수의 메시지를 생성 할 수도 있다. 경고 메세지는 코드로 부터 실행 가능한 프로그램을 생성하는 것을 중단시키지 않지만, 이상적으로 처리된다면, 코드의 유지보수는 미래에도 더욱 쉬워질 것이다. 일부 메시지를 제외한 초기 필터를 가지고 하는 점차적인 구현은 효과적인 접근 방법이 될 수 있다.

 

테스트 관리 도구

테스트 관리 도구는 조직의 현재 필요한 가장 최적의 형식으로 정보를 생성하기 위하여 스프레드 쉬트나 다른 도구와 인터페이스하는 것이 필요하다. 보고서는 혜택을 제공하기 이하여 설계되고 모니터되는 것이 필요하다.