1. 하향식 통합 테스트 ( Top Down Integration Test )
- 깊이 우선 통합법, 넓이 우선 통합법 사용
- 테스트 초기 부터 사용자에게 시스템 구조 보여줄 수 있다.
- 상위 모듈에서는 tc를 사용하기 어렵다.
- 상위 모듈에서 하위 모듈 방향으로 통합하면서 테스트하는 기법
- 절차
- 주요 제어 모듈은 작성된 프로그램을 사용하고, 주요 제어 모듈의 종속 모듈들은 스텁 ( stub )로 대체 한다.
- 깊이우선 or 넓이 우선 등의 통합방식에 따라, 하위 모듈인 스텁들이 한 번에 하나씩 실제모듈로 교체된다.
- 모듈이 통합될 때마다 테스트 실시
- 새로운 오류가 발생하지 않음을 보증 하기 위해 회귀 테스트 실시
2. 상향식 통합 테스트 ( Bottom Up Integration Test )
- 하위 모듈에서 상위 모듈 방향으로 통합하면서 테스트 하는 방법
- 가장 하위 단계의 모듈부터 통합 및 테스트가 수행되므로 스텁은 필요하지 않다.
- 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터( cluster )는 필요하다.
- 절차
- 하위 모듈을 클러스터로 결합
- 상위 모듈에서 데이터의 입출력을 확인하기 위해, 모듈인 드라이버 작성
- 통합된 클러스터 단위로 테스터
- 테스트가 완료되면 클러스터는 프로그램 구조의 상위로 이동 하여 결합하고, 드라이버는 실제 모듈로 대체
- 스토리보드 : 디자이너와 개발자가 최종적으로 참고하는 작업지침서
상단이나 우측에 제목,작성자등을 입력하고 좌측에는 UI화면,우측엔 디스크립션을 기입한다.- 프로토타입 : 와이어프레임이나 스토리보드등에 인터랙션을 적용함으로써 실제 구현된 것처럼 테스트가 가능한 동적인 형태의 모형
- 유스케이스 : 사용자 측면에서의 요구사항으로, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술한다.
- 목업 : 디자인, 사용방법설명, 평가 등을 위해 실제 화면과 유사하게 만든 정적인 형태의 모형
- 설계 목표 설정 -> 2. 시스템 타입 결정 -> 3. 아키텍처 패턴 적용 -> 4. 서브시스템 구체화 -> 5. 아키텍처 설계 검토
- EAI(Enterprise Application Integration): 기업 응용 프로그램 통합으로 기업용 응용 프로그램의 구조적 통합 방안을 가리킴
- FEP(Front-End Processor): 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 차지하는 시간을 줄여주는 프로그램이나 하드웨어
- GPL(General Public License): 자유 소프트웨어 재단(OSF)에서 만든 자유 소프트웨어 라이선스
- Duplexing: 이중화(데이터베이스의 회복 기법 중 가장 간단한 것)
정형기술검토(FTR)의 지침
- 오류 검출에 초점을 두고 해결책을 나중으로 미룸(제품 검토의 집중성)
- 검토를 위한 자료를 사전에 배포하여 검토하도록 한다(사전 준비성)
- 의견을 제한하되 충분히 받아들인다(의제의 제한성)
- 안건을 세우면 고수한다(안건 고수성)
- 논쟁과 반박을 제한한다(논쟁 반박의 제한성)
- 문제 영역을 공개한다(문제 공개성)
- 참가자의 수를 제한한다(참가 인원의 제한성)
- 발견된 오류는 문서화한다(문서성)
NS-Chart(Nassi-Schneiderman Chart)
- 3가지 기본구조만으로 논리를 표현(표준화 가능)
- Flow Chart의 최대 단점인 화살표가 표시되지 않음
- 기본구조의 입구와 출구는 각 하나씩
- 전체적인 알고리즘을 일목요연하게 볼 수 있음
Selection Sort
배열 내에서 최소값을 찾은 다음 정렬 되지 않은 맨 앞 값과 교환을 하며 정렬을 해 나아가는 방법 (정렬 시간 복잡도 모두 O(n^2))
Bubble Sort
왼쪽에서 부터 두 데이터를 비교해서 앞에 있는 데이터가 뒤에 있는 데이터 보다 크면 자리를 바꾸는 정렬 알고리즘(정렬 시간 복잡도 모두 O(n^2))
Insert Sort
한 개의 값을 추출한 다음 앞쪽으로 비교해서 본인의 자리를 알맞게 찾아가게끔 하는 정렬 방법. 정렬 시간 복잡도는 최상일 경우 O(n), 평균과 최악일 경우 O(n^2)
병합 정렬
또한 분할 정복에 기반한 알고리즘으로 리스트를 1 이하인 상태까지 절반으로 자른 다음 재귀적으로 합병 정렬을 이용해서 전체적인 리스트를 합병하는 정렬 과정. O(n log n)
※ n(n-1)/2 = O(n^2)
ISO/IEC 25000
- SW 품질 평가 통합 모델
- SQuaRE로도 불림
- ISO/IEC 9126, ISO/IEC 12119, ISO/IEC 14598의 3개 표준을 통합한 모델
- 제1정규형 : 릴레이션에 속한 모든 속성의 도메인이 원자값으로만 구성되어 있으면 제 1 정규형에 속한다.
- 제2정규형 : 제1 정규형에 속하고, 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속되면 제2 정규형에 속한다.(부분 함수 종속 제거)
- 제3정규형 : 제2 정규형에 속하고, 기본키가 아닌 모든 속성이 기본키에 이행적 함수 종속이 되지 않으면 제3 정규형에 속한다.
- BCNF(보이스/코드) 정규형 : 릴레이션의 함수 종속 관계에서 모든 결정자가 후보키이면 보이스/코드 정규형에 속한다.
- 제4정규형 : BCNF 정규형을 만족하면서 함수 종속이 아닌 다치 종속을 제거해야 만족할 수 있다.
- 제5정규형 : 제4 정규형을 만족하면서 후보키를 통하지 않는 조인 종속을 제거해야 만족할 수 있다.
- ∃: 존재한다(There exist)
- ∈: t가 r에 속함( t ∈ r )
- ∀: 모든 것에 대하여(for all)
- ∪: 합집합
1) IPv4
ㄱ. 32비트 주소
ㄴ. 유니캐스트/멀티캐스트/브로드캐스트 사용2) IPv6
ㄱ. 128비트 주소
ㄴ. 기존 IPv4의 주소 부족 문제를 해결하기 개발
ㄷ. 인증성/기밀성/무결성 지원 (=보안성 강화)
ㄹ. 유니캐스트, 애니캐스트, 멀티캐스트 사용
1) 직관성(Intuitiveness)
누구나 쉽게 이해하고, 쉽게 사용할 수 있어야 함.
2) 유효성(Effectiveness)
정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작해야 함.
학습성(Learnablilty)
초보와 숙련자 모두가 쉽게 배우고 사용할 수 있게 제작해야 함.
유연성(Flexibility)
사용자의 인터랙션을 최대한 포용하고, 실수를 방지할 수 있도록 제작해야 함.
도출 - 분석 - 명세 - 확인
- 정형 기술 검토 활용
- 동료 검토 : 2-3명이서 리뷰
- 인스펙션 : 전문가 또는 팀이 검사해 오류 검토
- 워크스루 : 오류를 조기에 검출
- 처리 Process : 원
- 자료흐름 Data Flow : 화살표
- 자료저장소 Data Store : 평행선
- 단말 Terminal : 사각형
- 비선형 구조 : 트리, 그래프
- 선형 구조 : 스택, 큐, 데크, 리스트
- 파일 구조 : 순차파일, 색인파일, 직접파일
화이트박스 테스트의 종류
- 기초경로 검사
- 제어구조 검사
화이트박스 테스트 검증 기준- 문장 검증 기준
- 분기 검증 기준
- 조건 검증기준
- 분기/조건 기준
블랙박스 테스트의 종류
- 동치(동등)분할 검사
- 경계값 분석
- 원인-효과 검사
- 오류 예측 검사
- 비교검사
1계층 - 물리계층(Physical Layer)
Coax, Fiber, Wireless
2계층 - 데이터 링크계층(DataLink Layer)
Ethernet, SLIP, PPP, FDDI, HDLC
3계층 - 네트워크 계층(Network Layer)
IP, IPSec, ICMP, IGMP
4계층 - 전송 계층(Transport Layer)
TCP, UDP, ECN, SCTP, DCCP
5계층 - 세션 계층(Session Layer)
VARIOUS API;S, SOCKETS
6계층 - 표현 계층(Presentation Layer)
SSL, FTP, IMAP, SSH
7계층 - 응용 계층(Application Layer)
HTTP, FTP, IRC, SSH, DNS