1. 통합 테스트 Integration Test단위 테스트가 끝난 모듈을 통합하는 과정에서 발생하는 오류 및 결함을 찾는 테스트 기법종류비점진적 통합 방식단계적으로 통합하는 절차 없이 모든 모듈이 미리 결합되어 있는 프로그램 전체를 테스트하는 방법규모가 작은 소프트웨어에 유리하며 단시간 내에 테스트가 가능전체 프로그램을 대상으로 하기 때문에 오류 발견 및 장애 위치 파악 및 수정이 어려움빅뱅 통합 테스트모듈 간의 상호 인터페이스를 고려하지 않고 단위 테스터가 끝난 모듈을 한꺼번에 결합시켜 테스트하는 방법소규모 프로그램이나 프로그램의 일부만을 대상으로 테스트할 때 사용점진적 통합 방식모듈 단위로 단계적으로 통합하면서 테스트하는 방법오류 수정이 용이, 인터페이스와 연관된 오류를 완전히 테스트할 가능성이 높음..
1. 개발 단계에 따른 애플리케이션 테스트 소프트웨어의 개발 단계에 따라 분류테스트 레벨 : 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트소프트웨어의 개발 단계에서부터 테스트를 수행하므로 단순히 소프트웨어에 포함된 코드 상의 오류 뿐만 아니라 요구 분석의 오류, 설계 인터페이스 오류 등도 발견할 수 있음V-모델 : 애플리케이션 테스트와 소프트웨어 개발 단계를 연결하여 표현한 것2. 단위 테스트 Unit Test코딩 직후 소프트웨어 설계의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 테스트하는 것인터페이스, 외부적 I/O, 자료 구조, 독립적 기초 경로, 오류 처리 경로, 경계 조건 등을 검사사용자의 요구사항을 기반으로 한 기능성 테스트를 최우선으로 수행단위 테스트로 발견 가능한 오류 : 알고리..
1. 화이트박스 테스트 White Box Test모듈의 원시 코드를 오픈시킨 상태에서 원시 코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법설계된 절차에 초점을 둔 구조적 테스트프로시저 설계의 제어 구조를 사용하여 테스트 케이스를 설계, 테스트 과정의 초기에 적용모듈 안의 작동을 직접 관찰원시 코드(모듈)의 모든 문장을 한 번 이상 실행함으로써 수행프로그램의 제어 구조에 따라 선택, 반복 등의 분기점 부분들을 수행함으로써 논리적 경로를 제어2. 화이트박스 테스트의 종류기초 경로 검사 Base Path Testing기초 경로 : 수행 가능한 모든 경로대표적인 화이트박스 테스트 기법테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주는 테스트 기법테스트 측정 결과는 ..
1. 프로그램 실행 여부에 따른 테스트정적 테스트프로그램을 실행하지 않고 명세서나 소스 코드를 대상으로 분석하는 테스트소프트웨어 개발 초기에 결함을 발견할 수 있어 소프트웨어의 개발 비용을 낮추는데 도움종류 : 워크스루, 인스펙션, 코드검사 등워크스루 (검토회의) Walkthrough소프트웨어 개발자의 작업 내역을 개발자가 모집한 전문가들이 검토하는 것소프트웨어 검토를 위해 미리 준비된 자료를 바탕으로 정해진 절차에 따라 평가오류의 조기 검출을 목적으로 하며 발견된 오류는 문서화인스렉션 Inspaction워크스루를 발전시킨 형태소프트웨어 개발 단계에서 산출된 결과물의 품질을 평가하여 이를 개선하기 위한 방법 등을 제시동적 테스트프로그램을 실행하여 오류를 찾는 테스트소프트웨어 개발의 모든 단계에서 테스트를..
1. 애플리케이션 테스트의 개요애플리케이션에 잠재되어 있는 결함을 찾아내는 일련의 행위, 절차개발된 소프트웨어가 고객의 요구사항을 만족시키는지 확인, 소프트웨어가 기능을 정확히 수행하는지 검증확인 Validation사용자의 입장에서 개발한 소프트웨어가 고객의 요구사항에 맞게 구현되었는지를 확인하는 것검증 Verification개발자의 입장에서 개발한 소프트웨어가 명세서에 맞게 만들어졌는지를 점검하는 것애플리케이션 테스트를 실행하기 전에 개발한 소프트웨어의 유형을 분류하고 특성을 정리해서 중점적으로 테스트할 사항을 정리해야 함항목 예시 : 소프트웨어명, 제공 유형, 기능 유형, 사용 환경, 개발 유형, 중점 사항 등소프트웨어의 분류소프트웨어 : 하드웨어를 동작시켜 사용자가 작업을 편리하게 수행하도록 하는 ..
1. 빌드 자동화 도구의 개요빌드 : 소스 코드 파일들을 컴파일한 후 여러 개의 모듈을 묶어 실행 파일로 만드는 과정빌드 자동화 도구 : 빌드를 포함하여 테스트 및 배포를 자동화하는 도구지속적인 통합 개발 환경에서 빌드 자동화 도구가 유용하게 활용 됨지속적인 통합 개발 환경 : 애자일 환경에서 하나의 작업이 마무리될 때마다 모듈 단위로 나눠서 개발된 코드들이 지속적으로 통합되는 것빌드 자동화 도구의 종류 : Jenkins, Gradle, Ant, Make, Maven 등2. JenkinsJAVA 기반의 오픈 소스 형태가장 많이 사용되는 빌드 자동화 도구서블릿 컨테이너에서 실행되는 서버 기반 도구서블릿 컨테이너 : 클라이언트의 요청을 처리해주기 위해 서버 측에서 실행되는 작은 프로그램인 서블릿을 실행하고 ..