테스트

원래벌레·2022년 5월 18일
0
post-custom-banner

💎 테스트란?

  • 오류를 발견 하기 위한 것이 테스트이다. 즉 좋은 테스트란 오류가 많이 발생하는 테스트이다.

  • 테스트를 통해서 모르는 것을 알 수 있게 된다.

💍 테스트 관련 용어

1) 테스트 대상 컴포넌트(subject under test) :
- 분리하여 시험할 수 있는 시스템의 요소
- 컴포넌트는 클래스, 패키지, 서브시스템등이 될 수 있다.
2) 결함(defect) :
- 소프트웨어가 이상 동작을 하게 만드는 설계 또는 코딩 상의 잘못
- 버그
3) 오류(error) :
- 시스템을 실행하는 동안 나타나는 결함의 표시
4) 고장(failure) :
- 컴포넌트의 명세와 실행 동작의 차이를 말함
- 고장은 하나 이상의 오류에 의해 발생
cf) 테스트 하네스 :
- 자동화된 테스트 지원도구이며 프로그램을 유닛단위로 테스팅하고 여러가지 조건에 따른 프로그램의 행동과 결과를 모니터링하기위해 말들어진 소프트웨어의 구성이다.
5) 테스트 케이스 :
- 고장을 일으키고 결함을 발견할 목적으로 컴포넌트를 검사하기 위한 입력과 예상결과의 집합
- 테스트케이스는 유지보수내내 바꾸지말고 유지해야 한다. 재사용이 많이 된다.
- 테스트 케이스는 코딩을 하기 전에 만들어야 한다.
- 테스트 케이스의 구조
1)테스트 슈트 : 테스트 케이스의 모임
2)테스트 절차 : 테스트 케이스를 어떤 순서로 수행시킬 것인지 차례로 적은 것
3)테스트 스텝 : 테스트 케이스를 실행하기 위한 최소의 단위

6) 테스트 스터브 :
- 테스트될 컴포넌트가 호출하는 컴포넌트가 부분적으로 구현된 것
7) 테스트 드라이버 :
- 테스트될 컴포넌트를 호출하는 컴포넌트의 부분적인 구현
- 테스트 스터브와 테스트 드라이버는 시스템이 테스트된 후 컴포넌트에서 분리됨
8) 오류 수정 :
- 결함을 고치기 위하여 컴포넌트를 변경, 결함을 발견하는 방법
- 버그 트래킹 고장,오류,결함 오류 수정 작업의 기록/형상 관리 작업의 일부
- 리그레션 테스트(회귀 테스트) : 수정 후 영향도 평가 및 side-effect 테스트
- 문서화 : 변경 이유와 관계를 기록
출처 : 한빛아카데미, 소프트웨어공학설계

💍 테스트 단계

앞쪽 컴포넌트 테스트를 거쳐서 통합테스트를 하게 된다. 통합테스트 부터해서 뒤에 있는 기능 테스트, 성능테스트, 인수 테스트, 설치 테스트는 모두 통합테스트이다.

  • 통합테스트 - 모듈간의 설계 즉 설계명세서에 통합 테스트가 명세 되어야 함
    - 컴포넌트 들 사이의 인터페이스를 테스트 하는 것
    - 시스템을 이루는 컴포넌트들이 시스템 구조 설계 명세에 나타난 것처럼 작동하는지 확인하는 과정

  • 시스템 테스트 - 요구사항을 명세 할 때 시스템 테스트가 명세 되어야 함
    - 컴포넌트들을 통합하여 하나의 시스템으로 빌드한 후 잘 작동하는지 테스트하는 것
    1) 기능테스트 : 요구명세에 기술된 기능이 통합된 시스템에서 잘 수행되는지 테스트
    2) 성능테스트 : 시스템의 기능 외적인 요구가 설계목표에 잘 들어맞는지 테스트

  • 인수테스트
    - 알파테스트 : 개발자가 개발자에게 이거해봐라 저거 해봐라 하는 테스트
    - 베타테스트 : 사용자가 사용환경에서 소프트웨어를 사용해보는 테스트
    베타버전부터 사용자 환경에 소프트웨어가 설치됨

💎 블랙박스 테스트

- 테스트하려는 대상을 블랙박스로 보고, 그 기능이 올바른지 확인하는 작업
- 프로그램의 내부 구조를 고려하지 않고, 대신 모듈의 명세를 기반으로 테스트 케이스를 결정
- 방법

💍 동등분할 테스트 :

  • 입력의 결과가 동등한 클래스를 분할하여 각 클래스의 대푯값을 주는 방법 / 테스트의 범위 ex) x<=5, x>=10, 5<x<10, test의 결과가 동일한 경우를 하나로

  • 선택할 때 고려 유형
    1) 공통 사례를 조사하는 전형적인 입력 데이터
    2) 컴포넌트의 예외, 사례를 처리하는 비정상적인 입력 데이터

💍 경곗값 분석 :

  • 오류가 많이 발생하는 경곗값을 분석하여 이 부분을 집중 테스트
    ex) x=5,6,10 과 같은 경계로 파악

💍 원인 결과 분석 :

  • 원인과 결과의 관계를 파악하여 테스트 케이스를 찾음

  • 의사결정표
    - 입력 : 원인
    - 출력 : 결과

  • 원인 결과 분석의 테스트 케이스 만드는 과정
    1) 원인과 결과를 찾아냄
    2) 원인과 결과의 관계를 그래프로 나타냄
    3) 원인과 결과 사이에 제약조건을 추가하여 그래프를 완성
    4) 그래프를 의사결정표로 전환
    5) 테스트 케이스를 생성

업로드중..

출처 ) 한빛아카데미, 소프트웨어공학설계

profile
학습한 내용을 담은 블로그 입니다.
post-custom-banner

0개의 댓글