소프트웨어 테스트
- 화이트 박스 테스트 : 코드를 오픈한 상태에서 진행해 모든 경로를 테스트하고, 논리적 경로를 제어한다. 기초 경로 검사, 제어구조 검사(조건 검사, 루프 검사, 데이터 흐름 검사)
- 블랙 박스 테스트 : 각 기능이 완전히 작동 되는 것을 입증하는 테스트로 기능 테스트, 요구나 명세를 기초로 한다. S/W 인터페이스에서 진행되며 테스트 후반부에 적용한다. 동치 분할 검사, 경계값 분석, 원인-효과 그래프 검사, 오류 예측 검사, 비교 검사
이진 트리 운행 : Root를 언제 찾는지에 따라 방식이 나뉜다.
- Preorder : Root -> Left -> Right
- Inorder : Left -> Root -> Right
- Postorder : Left -> Right -> Root
EAI : Enterprise Application Integration, 기업 내 각종 어플리케이션 및 플랫폼 간 정보전달, 연계 등 상호 연동 솔루션이다. Point to Point, Hub & Spoke, Message Bus, Hybrid 방식이 있다.
해싱 함수 : 제산법, 제곱법, 폴딩법, 기수 변환법, 대수적 코딩법, 계수 분석법, 무작위법
인터페이스 구현 검증 도구 : xUnit, STAF, Fitness, NTAF, Selenium, watir
소스코드 품질 분석 도구 : 정적 분석 도구 (pmd, cppcheck, SonarQube, checkstyle, ccm, cobertura)
테스트 드라이버 : Driver, 데스트 대상의 하위 모듈을 호출하는 도구로 매개 변수를 전달하고 결과를 도출한다. 상향식 테스트에 사용한다.
테스트 스텁 : Stub, 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구이다. 일시적으로 필요한 조건만 가지는 시험용 모듈로 하향식 테스트에 사용한다.
빅오 표기법
- O(1) : push, pop
- O(log n) : 이진 트리, 이진 검색
- O(n) : for 문
- O(n log n) : 힙 정렬, 2-way 합병 정렬
- O(n^2) : 삽입 정렬, 쉘 정렬, 선택 정렬, 버블 정렬, 퀵 정렬
- O(2^n) : 피보나치 수열
버블 정렬 : 인접한 두 값을 비교해 위치를 서로 교환한다.
삽입 정렬 : 두번째부터 시작해 앞의 값과 비교해 삽입할 위치를 정하고, 자료를 뒤로 옮겨 지정한 자리에 삽입
선택 정렬 : 최소값을 찾아 첫번째에 놓고 나머지에서 다시 최소값을 찾아 두번째에 놓는 것을 반복
자료 구조
- 선형 구조 : 배열, 선형 리스트, 스택 큐, 데크
- Stack : 순서가 있는 리스트에서 데이터의 삽입, 삭제가 한쪽 끝에서 일어나는 자료 구조이다. LIFO, 인터럽트 처리, 수식계산, 복귀 주소 저장
- Queue : 한쪽 끝에선 삽입, 다른 한쪽에선 삭제가 이뤄지는 자료 구조이다. FIFO, 운영체제 작업 스케쥴링
- 비선형 구조 : 트리, 그래프
소프트웨어 품질 표준
- ISO/IEC 9126 : S/W의 품질 특성과 평가
- ISO/IEC 12116 : 9126을 준수한 품질 표준 + 테스트 절차 규정
- ISO/IEC 14598 : S/W 품질 측정, 평가 필요 절차를 규정한 표준, 개발자, 구매자, 평가자 별로 제품 평가를 규정
- ISO/IEC 25010 : 9126을 개정한 것으로, S/W 국제 표준이다. 호환성과 보안성을 강화
알고리즘 설계 기법
- 분할 정복(Divide and Conquer) : 큰 문제를 보다 작은 문제로 분할해 해결
- 동적 계획(Dynamic Programming) : 아래 단계의 문제부터 해결해 점차 상위로 나아가는 상향식 접근 방식
- 탐욕 알고리즘(Greedy Algorithm) : 완벽함보다 차선책을 목표로, 상황에 맞는 해결책을 즉석에서 모색
- 백트래킹(Backtracking) : 깊이 우선 탐색 알고리즘을 이용한 기법으로, 문제 해결을 위한 모든 가능성을 트리로 구축
파티셔닝
- 범위 분할 : 지정한 열의 값을 기준으로 범위를 지정해 분할 ex) 일별, 월별
- 해시 분할 : 해시 함수를 적용한 결과값에 따라 분할, 특정 파티션에 집중되는 단점을 보완 ex) 고객 번호, 주민번호
- 조합 분할 : 범위 분할로 분할 후 해시 함수를 적용해 다시 분할, 파티셔니 너무 클 때 유용함
- 목록 분할 : 지정한 열 값에 대한 목록을 만들어 이를 기준으로 분할 ex) 국가(한국, 미국, 캐나다) -> 북아메리카(미국, 캐나다)
- 라운드 로빈 분할 : 레코드를 균일하게 분배, 순차적으로 분배되며 기본키가 없다.
'정보처리기사' 카테고리의 다른 글
| [필기] 제 4과목 - 프로그래밍 언어 활용 요점 정리 (0) | 2023.02.26 | 
|---|---|
| [필기] 제 3과목 - 데이터 베이스 설계 요점 정리 (1) | 2023.02.26 | 
| [필기] 제 1과목 - 소프트웨어 설계 요점 정리 (0) | 2023.02.26 | 
| 정보처리기사 실기 - 통합 구현 (2) (0) | 2022.01.17 | 
| 정보처리기사 실기 - 통합 구현 (1) (0) | 2022.01.16 |