본문 바로가기
메모하는 습관

[업무 용어] 테스팅 - 단위테스트, 통합테스트, 시스템 테스트, 인수테스트 용어 정리

by Love of fate 2024. 4. 5.
728x90
반응형

테스트. TEST

 

테스팅 - 단위테스트, 통합테스트, 시스템 테스트, 인수테스트 용어 정리

 

테스팅 : 테스팅은 개발 작업의 결과물이 요구하는 대로 작동하는지 또는 결함이 없는지 시험하는 작업이다.

작성된 코드가 설계 명세와 일치하는지 테스트 데이터를 주입하여 실행시키는 것이 대표적인 작업이다.

프로그램을 실행시키지는 않지만 분석에 의하여 결함을 찾아내는 방법도 있다.

 

테스팅의 단계

 1. 단위 테스트 - 각 단위 모듈에 대하여 잘 작동하는지 확인하는 시험

 2. 통합 테스트 - 모듈 사이의 인터페이스가 잘 작동하여 상호작용하는지를 확인하는 시험

 3. 시스템 테스트 - 전체 시스템의 일부로도 SW가 잘 작동하는지 확인하는 시험

 4. 인수테스트 -  SW가 사용하는 기관의 요구를 잘 만족하는지 확인하는 시험


 

반응형

단위 테스트 

- 구축단계에서 분담하여 작성한 각 모듈의 프로그램은 코드 리뷰를 거쳐 단위테스트를 한다.

단위테스트란 함수나 메서드, 클래스 등 최소단위의 프로그램을 단독으로 ㅅ실행시켜 상세 설계 명세대로 동작하는지를 시험핮는 작업이다.

 

테스트할때는 테스트 항목을 만들고 그 항목에 해당하는 테스트 데이터를 정한다.

 

단위테스트에는 주로 화이트박스 테스트 방법을 사용한다. 화이트박스 테스트는 프로그램의 내부 구조를 알고 있다는 전제의 시험 방법이다. 프로그램의 내부 구조를 보면서 프로그램의 모든과정을 포함하는 테스트 데이터의 집합을 만든다. 테스트 데이터를 하나씩 입력하면서 프로그램을 실행하여 결과가 예상되는 것인지 확인한다. 이런 작업을 반복하여 테스트 전체를 확인한다.

 

화이트 박스 테스트는 프로그램이 실행할 수 있는 모든 경우를 관통하는 테스트 케이스를 준비해야하기 때문에 프로그램을 총체적으로 시험할 때 적합한 방법이다. 

하지만 처리의 흐름이 복잡하고 규모가 커질 수록 테스트 데이터의 작성이 어려워진다는 단점이 있다.

 

[메모하는 습관] - TDD 단위테스트_단위테스트를 해야하는 이유와 방법 (feat. Clean Clode)

 

TDD 단위테스트_단위테스트를 해야하는 이유와 방법 (feat. Clean Clode)

TDD 단위테스트_단위테스트를 해야하는 이유와 방법 내 얘기를 하자면 애자일 프로젝트를 했을때 당시 단위테스트를 진행하지 못했었다. 간단한 API TASK기능을 만들때는 테스트코드를 작성하여

itstart-190126.tistory.com


 

통합테스트

통합테스트는 프로그램이 기본 설계대로 기능을 실현하기 위하여 잘 협력하는지 여부를 확인하기 위한 테스트이다. 단위 테스트에 합격한 모듈을 조합하여 함께 확인한다. 필요한 모든 프로그램을 결합하여 테스트하려면 약간의 테스트용 임시 코딩이 필요하다

 

통합테스트의 가장 중요한 목적을 프로그램 사이의 인터페이스에 문제가 없는지 또한 필요한 기능이 구현되었는지 확인하는 것이다. 

 

728x90

테스트 피라미드

SW를 개발하는 현장에서 보는 테스트는 세가지 단계로 나눌 수 있다.

1. 단위테스트 - 모듈안에 초점을 두고 있어 테스트의 노력이 적게 들며 빠르고 버그가 있는 위치를 정확하게 가려내야한다. 설계에 있는 대로 코딩되어있는지 로직을 테스트하는 데 사용된다. 단위 테스트 작업은 단순한 작은 규모가 여러개 필요한 것이 특징이다.

 

2. 서비스 테스트 - 서비스 테스트는 단위 테스트만큼 쉽고 빠르게 진행되지 않는다 서비스 층에서 인프라 층에 이르는 모든 단위가 잘 작동하고 외부 요소들과 올바르게 통합되었는지 확인하여야 하기 때문이다.

 

3. UI테스트 - UI 테스트는 애플리케이션의 모든 계층을 처음부터 끝까지 테스트하는 생산성이 가장 낮은 테스트이다. 다른 테스트에 비해 실행하는데 수십 배 더 오래 걸리며 작은 테스트들도 시간과 노력이 많이 든다. UI변경으로 인해 중단될 수 있으며 준비가 많이 필요한 작업이다.

 

 

* 테스트 실무 담당자는 세 가지 테스트 작업의 수준과 분포를 피라미드로 연상하여 크기와 개수가 다른 테스트 케이스를 준비해야한다. 

 

 

728x90
반응형