반응형

제목: 소프트웨어 테스팅에서의 테스트 커버리지(Test Coverage in Software Testing)

저자: softwaretestingclass.com

문서유형: 웹문서

 

출처: http://www.softwaretestingclass.com/test-coverage-in-software-testing/

 

소프트웨어 테스팅에서 테스트 커버지리란?

  • 한 집합의 테스트 케이스들에 의해 수행된 테스팅의 양(, 하나의 테스트 스위트를 돌렸을 때 애플리케이션 프로그램의 어떤 부분들 실행되었는지)
  • 우리 테스트 케이스가 실제로 애플리케이션 코드를 커버하고 있는지 그리고 이 테스트 케이스들을 돌렸을 때 얼마나 많은 코드가 실행되는지를 결정하는 기법
  • 우리가 애플리케이션에서 뭔가를 집계할 수 있고 또한 테스트 케이스가 애플리케이션의 이것을 커버하는지 알 수 있는 경우, 커버리지를 측정한다고 말할 수 있음(, 커버리지 항목들을 집계할 수 있고 또한 어떤 항목이 테스트에 의해 커버되었는지를 알 수 있어야 함)

 

테스트 커버리지를 어떻게 측정할 수 있는가?

테스트 커버리지가 다음 세 가지에 의해서 측정될 수 있음:

  • 요구사항을 테스트 케이스로 매핑함으로써
  • 테스트 케이스 상태에 의해서
  • 코드 커버리지 분석에 의해서

 

테스트 커버리지 분석을 하는 이유

    명세된 요구사항에서 테스트 시나리오와 케이스에 의해 커버되지 않는 부분을 찾기 위해서

    테스트 커버리지를 결정함으로써 우리의 테스트 커버리지를 높이기 위한 더 많은 테스트 케이스들을 생성할 수 있음

    테스트 커버리지를 수행함으로써 얼마나 많은 테스팅이 커버되는지를 측정할 수 있음(이는 애플리케이션의 품질에 대한 간접적 체크를 의미함)

    실행의 의미가 없는(따라서 생략될 수 있는) 일부 쓸모 없는 테스트 케이스를 식별할 수 있음

    리스크 기반 테스팅 접근방법을 관리함으로써 테스팅이 원할해짐

    요구사항과 테스트 케이스 간의 추적성(Traceability)이 달성될 수 있음

    적절한 테스트 커버리지를 갖게 되면 영향 분석(Impact analysis) 및 변경 추적(change tracking)을 할 수 있게됨

 

 

테스트 커버리지 분석을 어떻게 수행할 수 있는가?

  • 테스트 커버리지가 정적 테스팅 기법(, 동료 검토, 코드 인스펙션, 코드 워크쓰루)에 의해 실현될 수 있다.
  • 임의 결함(ad-hoc defects)을 실행가능한 테스트 케이스로 전환하고 테스트 커버리지를 분석할 수 있다.
  • 단위 수준에서 테스트 커버리지를 달성하기 위해 코드 수준 도구와 자동화를 사용할 수 있다
  • 요구사항, 결함, 테스트 케이스 간의 추적성을 확립하는 기능적 테스트 커버리지를 수행하기 위해 테스트 관리 도구를 사용할 수 있다.
  • 테스트 커버리지를 달성하기 위해 양방향 추적 매트릭스를 사용할 수 있다.

 

 

반응형

+ Recent posts