티스토리 뷰
프로그램의 실행 여부에 따라 Static 또는 Dynamic Testing으로 구분합니다.
Static Testing은 작성한 코드를 직접 검토하여 오류를 유발할 가능성이 있는 코드를 사전에 검출해 내는 것을 의미합니다. 코드 작성자 입장에서의 테스트이며, 빌드 이전의 코드 상태에서 검사를 수행합니다.
Dynamic Testing은 프로그램의 실제 동작을 확인함으로써, 원하는 동작을 정상적으로 수행하는지를 검토합니다. 사용자 입장에서의 테스트이며, 빌드 이후 바이너리 코드를 실행시켜 검사를 수행합니다.
작성한 프로그래밍 언어의 동작 방식으로 인해 발생하는 문제를 Runtime Error라고 하는데 Static Test로 검출할 수 있습니다. 소프트웨어의 동작에 의해서 발생하는 문제를 Logical Error라고 하며 이는 Dynamic Test로 검출할 수 있습니다.
Static Testing의 목적
테스트를 통해 위험 요소를 미리 제거하고, 유지보수가 용이한 코드를 작성하는데 그 목적이 있습니다.
Static Testing의 특징
소스 코드를 분석하여 문제점을 검출하는 방식으로 하드웨어 장치가 필요하지 않습니다. 대부분 White Box Testing만 지원하며, 비교적 간편하게 테스트가 가능합니다. 하지만 라이브러리나 실행가능한 형태의 바이너리는 테스트할 수 없고, 시스템 의존도가 높은 코드나 동작도 테스트가 불가능합니다.
Dynamic Testing의 목적
제품에 오류가 없는 것을 증명하고 일반 사용자 입장에서 제품을 사용할 경우 발생가능한 소프트웨어 동작을 검증합니다.
Dynamic Testing의 특징
타겟 하드웨어 장치가 필요하며, 하드웨어에서 동작하는 프로그램 위주로 테스트를 진행합니다. 제품의 문제점을 파악하기에 적합합니다. 타겟과 커넥션이 필요하며, Test Case 작성이 필요합니다. Test Case로 정의되지 않은 부분은 테스트가 불가능하며, Dead Code도 테스트가 불가능합니다. Dead Code의 경우 Static Test에서 충분히 줄여주는 것이 필요합니다.
문제가 발생하는 Case는 검출이 가능하지만 원인이 되는 사항(코드)을 파악하기는 힘들며, Static Test에 비해 유지보수 비용의 감소효과가 적습니다. 테스트방식으로는 Black Box Test, White Box Test, Gray Box Test 모두 이용됩니다.
'SW Test | 기획 | 개발' 카테고리의 다른 글
SW Test - 기능적 테스트 기법 (0) | 2020.05.28 |
---|---|
SW Test - 검증방식에 따른 분류(2) (0) | 2020.05.26 |
SW Test - 검증방식에 따른 분류(1) (0) | 2020.05.24 |
SW Test - Black & White & Gray Box Testing 소개 (0) | 2020.05.22 |
SW Test - Testing이란? (0) | 2020.05.18 |
- Total
- Today
- Yesterday