통합 테스트란 무엇입니까? (예)
통합 테스팅이란 무엇입니까?
통합 테스팅 소프트웨어 모듈을 논리적으로 통합하고 그룹으로 테스트하는 테스트 유형으로 정의됩니다. 일반적인 소프트웨어 프로젝트는 다양한 프로그래머가 코딩한 여러 소프트웨어 모듈로 구성됩니다. 이 수준의 테스트 목적은 이러한 소프트웨어 모듈이 통합될 때 상호 작용의 결함을 노출하는 것입니다.
통합 테스트는 이러한 모듈 간의 데이터 통신을 확인하는 데 중점을 둡니다. 그러므로 라고도 불린다. '그것' (통합 및 테스트), '문자열 테스트' 때로는 '스레드 테스트'.
통합 테스팅을 왜 하는가?
각 소프트웨어 모듈은 단위 테스트를 거쳤지만 다음과 같은 다양한 이유로 결함이 여전히 존재합니다.
- 모듈은 일반적으로 이해와 프로그래밍 논리가 다른 프로그래머와 다를 수 있는 개별 소프트웨어 개발자가 설계합니다. 소프트웨어 모듈이 통합적으로 작동하는지 확인하려면 통합 테스트가 필요합니다.
- 모듈 개발 시 고객의 요구 사항이 변경될 가능성이 큽니다. 이러한 새로운 요구 사항은 단위 테스트가 불가능할 수 있으므로 시스템 통합 테스트가 필요합니다.
- 소프트웨어 모듈과 데이터베이스의 인터페이스가 잘못될 수 있습니다.
- 외부 하드웨어 인터페이스가 있는 경우 오류가 있을 수 있습니다.
- 부적절한 예외 처리로 인해 문제가 발생할 수 있습니다.
LINK 비디오에 접근할 수 없는 경우
통합 테스트 케이스의 예
통합 테스트 케이스 다른 테스트 케이스와는 다른 점에서 주로 모듈 간 데이터/정보의 인터페이스 및 흐름에 중점을 둡니다.. 여기서 우선순위는 다음과 같습니다. 링크 통합 이미 테스트된 단위 기능이 아닌
다음 시나리오에 대한 샘플 통합 테스트 사례: 애플리케이션에는 '로그인 페이지', 'Mail상자'와 '이메일 삭제'가 각각 논리적으로 통합되어 있습니다.
로그인 페이지 테스트는 이미 완료되었으므로 여기에서는 너무 집중하지 마십시오. 단위 테스트. 하지만 그것이 어떻게 연결되어 있는지 확인하십시오. Mail Box 페이지를 참조하십시오.
비슷하게 Mail Box: 삭제와의 통합 확인 Mailn 모듈.
테스트 케이스 ID | 테스트 케이스 목표 | 테스트 케이스 Descript이온 | 예상 결과 |
---|---|---|---|
1 | 로그인과 사이의 인터페이스 링크를 확인하십시오. Mail박스 모듈 | 로그인 정보를 입력하고 로그인 버튼을 클릭하세요 | 으로 안내받으려면 Mail Box |
2 | 사이의 인터페이스 링크를 확인하십시오. Mail상자 및 삭제 Mail모듈 | ~ Mail상자에서 이메일을 선택하고 삭제 버튼을 클릭하세요. | 선택한 이메일은 삭제/휴지통 폴더에 나타납니다. |
통합 테스트의 유형
소프트웨어 엔지니어링은 통합 테스트를 실행하기 위한 다양한 전략을 정의합니다.
- 빅뱅 접근법:
- 증분적 접근 방식: 이는 다음으로 더 세분화됩니다.
- 하향식 접근법
- 상향식 접근 방식
- 샌드위치 접근법 – 하향식과 상향식의 조합
다음은 다양한 전략, 실행 방식, 한계 및 장점입니다.
빅뱅 테스트
빅뱅 테스트 모든 구성 요소 또는 모듈을 한 번에 통합한 다음 하나의 단위로 테스트하는 통합 테스트 접근 방식입니다. 테스트하는 동안 이러한 결합된 구성 요소 집합은 엔터티로 간주됩니다. 장치의 모든 구성 요소가 완료되지 않으면 통합 프로세스가 실행되지 않습니다.
장점:
- 소규모 시스템에 편리합니다.
단점 :
- 결함 위치 파악이 어렵습니다.
- 이 접근 방식에서 테스트해야 하는 인터페이스의 수가 엄청나게 많으면 테스트할 일부 인터페이스 링크를 쉽게 놓칠 수 있습니다.
- 통합 테스트는 "모든" 모듈이 설계된 후에만 시작될 수 있으므로 테스트 팀은 테스트 단계에서 실행하는 데 더 적은 시간을 갖게 됩니다.
- 모든 모듈이 한 번에 테스트되므로 위험도가 높은 중요 모듈은 격리되지 않고 우선적으로 테스트됩니다. 사용자 인터페이스를 다루는 주변 모듈도 우선순위에 따라 격리 및 테스트되지 않습니다.
증분 테스트
. 증분 테스트 접근 방식에서는 논리적으로 서로 관련된 두 개 이상의 모듈을 통합한 다음 애플리케이션이 제대로 작동하는지 테스트하여 테스트를 수행합니다. 그런 다음 다른 관련 모듈이 점진적으로 통합되고 논리적으로 관련된 모든 모듈이 통합되고 성공적으로 테스트될 때까지 프로세스가 계속됩니다.
증분 접근법은 두 가지 다른 방법으로 수행됩니다.
- Bottom Up
- Top Down
스텁 및 드라이버
스텁 및 드라이버 통합 테스팅의 더미 프로그램은 다음을 용이하게 하는 데 사용됩니다. 소프트웨어 테스팅 활동. 이러한 프로그램은 테스트에서 누락된 모델을 대체하는 역할을 합니다. 소프트웨어 모듈의 전체 프로그래밍 로직을 구현하지는 않지만 테스트하는 동안 호출 모듈과의 데이터 통신을 시뮬레이션합니다.
그루터기: 테스트 중인 모듈에 의해 호출됩니다.
운전기사: 테스트할 모듈을 호출합니다.
상향식 통합 테스트
상향식 통합 테스트 낮은 수준의 모듈을 먼저 테스트하는 전략입니다. 이렇게 테스트된 모듈은 더 높은 수준의 모듈 테스트를 용이하게 하는 데 사용됩니다. 최상위 수준의 모든 모듈이 테스트될 때까지 프로세스가 계속됩니다. 하위 수준 모듈이 테스트되고 통합되면 다음 수준의 모듈이 형성됩니다.
도식적 표현:
장점:
- 결함 위치 파악이 더 쉽습니다.
- 빅뱅 접근 방식과 달리 모든 모듈이 개발될 때까지 기다리는 시간이 낭비되지 않습니다.
단점 :
- 애플리케이션의 흐름을 제어하는 중요 모듈(소프트웨어 아키텍처의 최상위 수준)은 마지막으로 테스트되므로 결함이 발생할 가능성이 있습니다.
- 초기 프로토타입은 불가능
하향식 통합 테스트
하향식 통합 테스트 소프트웨어 시스템의 제어 흐름을 따라 위에서 아래로 통합 테스트를 수행하는 방법입니다. 상위 레벨 모듈을 먼저 테스트한 다음 하위 레벨 모듈을 테스트하고 통합하여 소프트웨어 기능을 확인합니다. 일부 모듈이 준비되지 않은 경우 스텁을 사용하여 테스트합니다.
도식적 표현:
장점:
- 결함 위치 파악이 더 쉽습니다.
- 초기 프로토타입 획득 가능성.
- 중요 모듈은 우선순위에 따라 테스트됩니다. 주요 설계 결함을 먼저 찾아서 수정할 수 있습니다.
단점 :
- 많은 스텁이 필요합니다.
- 낮은 수준의 모듈은 제대로 테스트되지 않았습니다.
샌드위치 테스트
샌드위치 테스트 최상위 모듈은 하위 모듈로 테스트하고, 동시에 하위 모듈은 최상위 모듈과 통합하여 하나의 시스템으로 테스트하는 전략입니다. 하향식 접근방식과 상향식 접근방식을 결합한 방식이므로 이를 상향식 접근방식이라고 합니다. 하이브리드 통합 테스트. 스텁과 드라이버를 모두 사용합니다.
통합 테스트를 수행하는 방법은 무엇입니까?
소프트웨어 테스팅 전략(위에서 논의)과 관계없는 통합 테스트 절차:
- 통합 준비 테스트 계획
- 테스트 시나리오, 사례 및 스크립트를 디자인합니다.
- 테스트 케이스를 실행한 후 결함을 보고합니다.
- 결함을 추적하고 다시 테스트합니다.
- 통합이 성공적으로 완료될 때까지 3단계와 4단계를 반복합니다.
간결한 Descript통합 테스트 계획의 이온
여기에는 다음과 같은 속성이 포함됩니다.
- 테스트 방법/접근 방식(위에서 논의한 바와 같음)
- 통합 테스트의 범위 및 범위 외 항목.
- 역할과 책임.
- 통합 테스트를 위한 전제 조건.
- 테스트 환경.
- 위험 및 완화 계획.
통합 테스팅의 진입 및 퇴출 기준
모든 소프트웨어 개발 모델의 통합 테스트 단계에 대한 시작 및 종료 기준
진입 기준 :
- 단위 테스트를 거친 구성요소/모듈
- 우선순위가 높은 모든 버그가 수정되어 종료되었습니다.
- 모든 모듈은 코드가 완성되고 성공적으로 통합됩니다.
- 통합 테스트 계획, 테스트 사례, 시나리오를 승인하고 문서화합니다.
- 필수 테스트 환경 통합 테스트를 위해 설정
종료 기준 :
- 통합 애플리케이션의 성공적인 테스트.
- 실행된 테스트 케이스가 문서화됩니다.
- 우선순위가 높은 모든 버그가 수정되어 종료되었습니다.
- 기술 문서를 제출한 후 릴리스 노트를 제출해야 합니다.
통합 테스트를 위한 모범 사례/지침
- 먼저 통합을 결정합니다. Test Strategy 이를 채택하고 나중에 테스트 사례와 테스트 데이터를 적절히 준비할 수 있습니다.
- 공부 Archi응용 프로그램의 구조 설계 및 중요 모듈을 식별합니다. 우선순위에 따라 테스트해야 합니다.
- 다음에서 인터페이스 디자인을 얻습니다. Archi기술팀을 구성하고 테스트 케이스를 생성하여 모든 인터페이스를 자세히 검증합니다. 데이터베이스/외부 하드웨어/소프트웨어 애플리케이션에 대한 인터페이스를 자세히 테스트해야 합니다.
- 테스트 케이스 다음으로 중요한 역할을 하는 것은 테스트 데이터입니다.
- 실행하기 전에 항상 모의 데이터를 준비하십시오. 테스트 케이스를 실행하는 동안 테스트 데이터를 선택하지 마십시오.