2) 애플리케이션 통합 테스트하기
•통합 테스트
소프트웨어 각 모듈간의 인터페이스 관련 오류 및 결함을 찾아내기 위한 체계적인 테스트 기법
-> 목적 : 단위 테스트가 끝난 모듈 또는 컴포넌트 단위의 프로그램이 실제 단계에서 제시한 애플리케이션과 동일한 구조와 기능으로 구현된 것인지 확인하는 것
-> 수행방법 : 비점증적인 빅뱅방식은 모든 컴포넌트를 사전에 통합하여 전체 프로그램을 한꺼번에 테스트 하는 것
-> 점증적인 방법은 상향적 통합과 하향식 통합 방식으로 구분
- 하향식 통합(Top Down) : 메인 제어 모듈(프로그램)로부터 아래 방향으로 제어의 경로를 따라 이동, 통합되는 하위 모듈과 최하위 모듈은 '깊이-우선' 또는 '너비-우선' 방식으로 통합
-> 아직 완성되지 않은 하위 제어모듈 및 모든 하위 컴포넌트를 대신하여 더미 모듈인 스텁(stub)을 개발
-> 하위 모듈인 스텁이 한 번에 하나씩 실제 모듈로 대채됨
- 상향식 통합(Bottom Up) : 최하위 레벨의 모듈 또는 컴포넌트로부터 위쪽 방향으로 제어의 경로를 따라 이동하면서 구축과 테스트를 시작
-> 최하위 레벨의 모듈 또는 컴포넌트들이 하위 모듈이 기능을 수행하는 클러스터로 결합
-> 상위의 모듈에서 데이터의 입력과 출력을 확인하기 위해 더미 모듈인 드라이버(Driver) 작성
- 회귀테스트 : 통합테스트가 완료된 후에 변경된 모듈이나 컴포넌트가 있다면 새로운 오류 여부를 확인하기 위해 수행
-> 모듈이나 컴포넌트의 변화로 인해 의도하지 않은 오류가 생기지 않았음을 보증하기 위해 반복테스트 하는 것
-> 케이스 선정 방법
- 모든 애플리케이션의 기능을 수행할 테스트 케이스의 대표적인 샘플 도출
- 변경에 의한 영향도가 가장 높은 애플리케이션 기능에 집중한 추가적인 테스트 케이스 도출
- 실제 수정이 발생한 모듈 또는 컴포넌트에서부터 시행하는 케이스 도출
•테스트 자동화 도구
- 테스트 자동화 : 테스트 도구를 활용하여 반복적인 테스트 작업을 스크립트 형태로 구현함
-> 시간 단축과 인력 투입 비용을 최소화
-> 장점 : 테스트 데이터 재입력 작업의 자동화
-> 단점 : 도구 도입 후 도구 사용 방법에 대한 교육 및 학습이 필요
- 테스트 자동화 도구 유형
- 정적 분석 도구 : 만들어진 애플리케이션을 실행 하지 않고 분석하는 방법
-> 작성된 소스코드에 대한 이해를 바탕으로 도구를 이용
- 테스트 실행 도구 : 테스트를 위해 작성된 스크립트를 실행
-> 각 스크립트는 특징 데이터와 테스트 수행 방법을 포함
- 키워드 주도 접근 방식 : 테스트를 수행할 동작을 나타내는 키워드와 테스트 데이터를 스프레드 시트에 저장
-> 키워드 이용하여 테스트 수행 동작 정의
-> 테스트 대상 애플리케이션의 특성에 맞추어 키워드에 대해 테일러링
- 성능 테스트 도구
애플리케이션의 처리량, 응답시간, 경과시간, 자원사용률에 대해 가상의 사용자를 생성하고 테스트를 수행함
- 테스트 통제 도구
테스트 계획 및 관리를 위한 테스트 관리 도구, 테스트 수행에 필요한 데이터와 도구를 관리하는 형상 관리 도구, 테스트에서 발생한 결함에 대해 관리하거나 협업을 지원하기 위한 결함/추적/관리도구
- 테스트 장치
애플리케이선 컴포넌트 및 모듈을 테스트 하는 환경의 일부분 -> 테스트를 지원하기 위한 코드와 데이터
* 테스트 더블(Test-double) : 실제 객체를 대신해서 테스팅에 사용하는 모든 방법을 일컬어 호칭하는 것
-> Dummuy, Fake, Stub, Spy, Mock ... 등
•애플리케이션 테스트 결과 분석
- 테스트 결과 분석
- 에러/오류 : 결함의 원인이 되는 것, 사람에 의해 생성된 실수
- 결함/결점/버그 : 에러 또는 오류가 원인이 되어 소프트웨어 제품에 포함되어 있는 결함
- 실패/문제 : 소프트웨어 제품에 포함된 결함이 실행될 때 발생되는 현상
- 테스트 완료 조건
- 테스트 리포팅
- 테스트 결과 정리
- 테스트 요약 문서 : 판단 가능한 대상 소프트웨어의 품질 상태를 포함한 문서
- 품질 상태 : 테스트 성공률, 테스트 커버리지, 발생할 결함의 수와 결함의 중요도 등
- 테스트 결과서 : 결함과 관련된 사항을 중점적으로 기록
- 테스트 실행 절차 및 평가
- 결함 관리
- 테스트 결함 관리
각 단계별 테스트 수행 후 발생한 결함의 재발 방지를 위해, 유사 결함 발견 시 처리시간 단축을 위해 결함을 추적하고 관리하는 활동
- 에러 등록 : 결함 관리 대장에 발견된 에러를 등록
- 에러 분석
- 결함 확정 : 등록된 에러가 실제 결함으로 확정될 경우, 결함 확정 상태를 설정
- 결함 조치
- 결함 조치 검토 및 승인 : 정상적으로 결함 조치가 완료된 경우 결함 조치 완료 상태로 설정
- 결함 추이 분석
테스트 완료 후 발견된 결함의 관리 측정 지표의 속성 값들을 분석하고 , 향후 애플리케이션의 어떤 모듈 또는 컴포넌트에서 결함이 발생할 지를 추정하는 작업
- 결함 관리 측정 지표
- 결함 분포 : 각 애플리케이션 모듈 또는 컴포넌트의 특정 속성에 해당하는 결함ㅡ로세스의 수를 측정하여 결함의 분포를 분석
- 결함 추세 : 테스트 진행 시간의 흐름에 따른 결함의 수를 측정하여 결함 추세를 분석
- 결함 에이징 : 등록된 결함에 대해 특정한 결함 상태의 지속시간을 측정하여 분석
- 결함 분류
- 시스템 결함
- 비정상적인 종료/중단
- 응답시간 지연
- 데이터베이스 에러
- 기능 결함
- 요구사항 미반영/불일치
- 부정확한 비즈니스 프로세스
- 스크립트 에러
- 타시스템 연동 시 오류
- GUi 결함
- 응용 프로그램 UI 비일관성
- 부정확한 커서/메세지
- 데이터 타입의 표시 오류
- 문서 결함 : 기록자, 사용자, 개발자 간의 의사소통과 기록이 원활하지 않은 경우에 발생하는 결함
- 결함 심각도
전체 시스템에 결함이 미치는 영향을 레벨별로 나타내고, 우선순위를 High, Medium, Low 등으로 정하는 것
- High : 시스템이 중단(또는 다운)되어 더 이상 프로세스를 진행 할 수 없게 만드를 결함
- Medium : 시스템의 흐름에 영향을 미치는 결함
- Low : 시스템의 흐름에는 영향을 미치지 않는 결함이나 상황에 맞이 않은 용도와 화면 구성 결함
'전공 > 정보처리기사 실기' 카테고리의 다른 글
정보처리기사 실기 - 7. SQL 응용(1) /DCL/DML/DDL (0) | 2021.04.27 |
---|---|
정보처리기사 실기 - 6. 애플리케이션 테스트 관리(3) /성능분석도구/코드리팩토링 (0) | 2021.04.25 |
정보처리기사 실기 - 6. 애플리케이션 테스트 관리(1) /테스트케이스/정적•동적테스트/화이트박스/블랙박스 (0) | 2021.04.24 |
정보처리기사 실기 - 5. 화면 설계(2) /흐름설계/스토리보드/고객여정지도/HTML5 (0) | 2021.04.23 |
정보처리기사 실기 - 5. 화면 설계(1) /스타일가이드/프로토타입 (0) | 2021.04.18 |