ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [테스트] 소프트웨어 테스팅 기초
    IT 발자취.../소프트웨어 공학 2018. 12. 12. 20:00

    소프트웨어 테스팅
    첫번째로는 테스트의 단계에 대해 알아보겠습니다.

    소프트웨어 테스팅은
    블라인드 테스트와 같이 사용자가 화면을 눌러 결함을 찾아내는
    작업만이 테스트라고 생각하지만 이것만이 테스트는 아닙니다.

    요구사항 리뷰
    컴파일 오류를 잡는것과 같은 디버그
    성능 측정
    보안 점검
    등 도 테스트의 일부분입니다.

    테스트는 시스템을 개발하는 일정에 문제가 없도록,
    고객이 원하는 시스템이 될 수 있도록,
    개발자를 포함한 프로젝트와 관련된 모든 인원이 편할 수 있도록
    지원해주는 작업입니다.

    그럼 테스트의 단계는 어떻게 될까요?
    테스트는 일반적으로 다음과 같이 네 단계로 나뉩니다.

    ● 컴포넌트 테스트
    ● 통합 테스트
    ● 시스템 테스트
    ● 인수 테스트
    (ISTQB라는 테스트 인증기관에서 사용하는 표준)

    · 컴포넌트 테스트
    컴포넌트 테스트는 우리나라에서는 보통 단위 테스트 혹은 유닛 테스트라고 부릅니다. 모듈이나 객체, 프로그램과 같이 개별적으로 테스트가 가능한 단위에 대해서 테스트를 수행하는 것을 말합니다. 

    · 통합 테스트
    통합 테스트는 각 컴포넌트 사이의 인터페이스를 테스트하는 것을 의미합니다. 즉 UI 부분과 서버 부분을 묶어서 테스트하거나 각 기능 사이의 연결관계를 테스트하는 것을 말합니다. 통합 테스트는 다시 컴포넌트 통합 테스트와 시스템 통합 테스트로 나뉩니다. 
       1. 컴포넌트 통합 테스트는 한 시스템 내에서 컴포넌트 사이의 관계를 테스트하는 것을 의미
       2. 시스템 통합 테스트는 두 개 이상의 시스템 사이의 관계를 테스트 하는 것을 의미

    · 시스템 테스트
    시스템 테스트는 개발된 시스템이 제대로 동작하는지를 테스트하는 것을 의미한다. (Verification)
    우리나라에서는 시스템 테스트라고 하면 보통 성능 테스트와 보안 테스트를 이야기하는데 이는 잘 못 알려진 것이다.

    · 인수 테스트
    인수 테스트는 시스템이 고객이 원하는대로 만들어 졌는지 확인하는 작업이다.(Validation)

    참고. Validation vs Verification
    Verification = 검증
    Validation = 확인
    예를 들어 고객이 1부터 10까지 곱하는 프로그램을 원하였는데 , 1부터 10까지 더하는 프로그램을 만들게 되었습니다.
    1부터 10까지 더해서 55가 정확히 나온다고 하였을 때, Verification은 성공하였지만, 고객 요구와 다른 프로그램이기 때문에 Validation은 실패한 프로그램일 것입니다.

    참고서적 . 자바개발자도 쉽게 즐기는 테스팅 이야기


    댓글

Designed by Gintire