[소프트웨어개발] 테스트의 분류

thingzoo·2024년 2월 4일
0
post-thumbnail

프로그램 실행 여부

정적 테스트

프로그램을 실행하지 않고, 명세서나 소스코드를 대상으로 분석하는 테스트

  • 코드검사, 워크스루, 인스펙션

동적 테스트

프로그램을 실행하여 오류를 찾는 테스트

  • 화이트박스테스트, 블랙박스테스트

시각에 따른 테스트

검증(Verification)

  • 작업 제품이 요구 명세의 기능/비기능 요구사항을 얼마나 잘 준수하는지 측정
  • 소프트웨어 개발 과정을 테스트

확인(Validation)

  • 작업 제품이 사용자의 요구를 충족시키는지 측정
  • 소프트웨어 결과를 테스트

목적에 따른 테스트

회복(Recovery) 테스트

시스템에 고의로 실패를 유도하고 시스템이 정상적으로 복귀하는지 확인하는 테스트

안전(Security) 테스트

시스템 보호 도구가 불법적인 침입으로부터 시스템을 보호할 수 있는지 확인하는 테스트

강도(Stress) 테스트⭐️

과부하 시에도 시스템이 정상적으로 실행되는지 확인하는 테스트

성능(Performance) 테스트

시스템의 응답시간, 처리량, 반응속도 등 실시간 성능이나 효율성을 진단하는 테스트

구조(Structure) 테스트

시스템 내부의 논리적인 경로, 소스코드의 복잡도 등을 평가하는 테스트

회귀(Regression) 테스트⭐️

변경 또는 수정된 코드에 새로운 결함이 없음을 확인하는 테스트

병행(Parallel) 테스트

변경된 시스템과 기존 시스템에 동일한 데이터를 입력하여 결과를 비교하는 테스트

테스트 기반에 따른 테스트

명세 기반 테스트

사용자의 요구사항에 대한 명세를 빠짐없이 테스트케이스로 만들어 구현하고 있는지 확인하는 테스트

  • 동등분할, 경계값 분석(블랙박스 테스트), 원인결과그래프기법, 의사결정테이블, 상태전이 테스트 등

구조 기반 테스트

소프트웨어 내부 논리 흐름에 따라 테스트케이스를 작성하고 확인하는 테스트

  • 구문기반, 결정기반, 조건기반(화이트박스 테스트)

경험 기반 테스트

테스터의 경험을 기반을 수행하는 테스트

  • 에러추정, 체크리스트, 탐색적 테스팅

테스트 커버리지(검증 기준)

기능 기반 커버리지

테스트 대상 애플리케이션의 전체 기능을 모수로 설정하고, 실제테스트가 수행된 기능의 수를 측정

라인 커버리지

애플리케이션 전체 소스코드의 라인(Line) 수를 모수로 테스트시나리오가 수행한 소스코드의 라인수를 측정

코드 커버리지

소프트웨어 테스트 충분성 지표중 하나로 소스코드의 구문, 조건, 결정 등의 구조코드 자체가 얼마나 테스트 되었는지 측정

문장(구문) 커버리지(Statement Coverage)

코드 구조내 모든 문장(구문)에 대해 한 번이상 수행

조건 커버리지

전체조건식 결과와 관계없이 각 개별 조건식이 참/거짓 한번씩 모두 갖도록 개별조건식을 조합

결정 커버리지

결정 조건 내 전체 조건식이 최소한 참/거짓 한번씩 가지도록 측정

조건/결정 커버리지

전체 조건식이 참/거짓 한번씩 가지면서, 개별 조건식이 참/거짓 한번씩 갖도록 조합

변경/조건 결정 커버리지

개별조건식이 적어도 참/거짓을 한번이상 갖도록 조합

다중조건 커버리지

결정 조건 내 모든 개별 조건식의 모든 가능한 조합을 100% 보장하도록 조합

profile
공부한 내용은 바로바로 기록하자!

0개의 댓글