* 키워드 : 파티셔닝 유형, 테스트 커버리지, 형상관리, DRM, 소프트웨어 메뉴얼, 애플리케이션 테스트 관리, 테스트케이스/시나리오/오라클/하네스, AJAX/JSON
1. 파티셔닝 ( 레해리컴 )
- 유형 : 레인지 파티셔닝, 해시 파티셔닝, 리스트 파티셔닝, 컴포지트 파티셔닝
- 해시 파티셔닝
: 해시 함수에 따라 데이터를 분할,
- 컴포지트 파티셔닝
: 범위 분할 이후 해시 함수를 적용하여 재분할하는 파티셔닝
2. 테스트 커버리지
- 유형 : 구문, 결정, 조건, 조건-결정, 변경조건-결정, 다중 조건
- 결정 커버리지
: 프로그램 내의 전체조건식이 적어도 한 번은 참과 거짓의 결과를 수행하는 테스트 케이스
- 조건 커버리지
: 전체 조건식과 결과와 관계없이 각 개별 조건식이 참/거짓 한 번만 모두 갖도록 개별 조건식을 조합하는 테스트 커버리지
- 조건-결정 커버리지
: 결정 명령문 내의 각 조건(개별조건)과 전체조건식이 적어도 한 번은 참과 거짓의 결과를 수행하는 테스트 케이스
3. 형상관리 ( SCM; Sortware Configuration Management )
- 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동
- 형상관리 도구의 기능 : 체크인, 체크아웃, 커밋
- 체크인
: 개발자가 수정한 소스를 형상관리 저장소로 업로드하는 기능
- 커밋
: 개발자가 소스를 형상관리 저장소에 업로드 후 최종적으로 업데이트가 되었을 때 형상관리 서버에 반영하도록 하는 기능
* 소프트웨어 버전 관리 도구
- 공유 폴더 방식
- 버전 관리 자료가 로컬 컴퓨터의 공유 폴더에 저장되어 관리되는 방식
- 파일의 변경 사항을 데이터베이스에 기록하여 관리
- 종류 : SCCS, RCS, PVCS, QVCS 등
- 클라이언트/서버 방식
- 버전 관리 자료가 중앙 시스템(서버)에 저장되어 관리되는 방식
- 모든 버전 관리는 서버에서 수행
- 서버에 문제가 생기면, 서버가 복구되기 전가지 다른 개발자와의 협업 및 버전 관리 작업은 중단
- 종류 : CVS, SVN(Subversion), CVSNT, Clear Case, CMVC, Perforce 등
* Subversion(서브버전, SVN)
- CVS를 개선한 것, 아파치 소프트웨어 재단에서 발표
- 모든 개발 작업은 trunk 디렉터리에서 수행
- commit 할 때마다 revision이 1씩 증가 ( 커밋 실패 시 롤백 지원 가능 )
- 클라이언트는 대부분의 운영체제에서 사용되지만, 서버는 주로 유닉스를 사용
- 디렉토리 파일을 자유롭게 이동 가능
- add, commit, update, checkout, lock/unlock, import, export, info, diff, merge
- 분산 저장소 방식
- 버전 관리 자료가 하나의 원격 저장소와 분산된 개발자 PC의 로컬 저장소에 함께 저장되어 관리되는 방식
- 로컬 저장소에서 버전 관리가 가능하므로 원격 저장소에 문제가 생겨도 로컬 저장소의 자료를 이용하여 작업 가능
- 종류 : Git, GNU arch, DCVS, Bazaar 등
* Git(깃)
- 지역 저장소는 개발자들이 실제 개발을 진행하는 장소, 버전 관리가 수행
- 원격 저장소는 여러 사람들이 협업을 위해 버전을 공동으로 관리하는 곳
- branch를 이용하면 기본 버전 관리 틀에 영향을 주지 않으면서 다양한 형태의 기능 테스팅이 가능
- 파일의 변화를 스냅샷으로 저장
- SVN 저장소에 대한 이관 기능
- add, commit, branch, checkout, merge, init, remote add, push, fetch, clone, fork
- branch, check-out, commit 등 로컬 환경에서의 형상관리 기능
- push, fetch, pull 등 원격 환경에서의 변경 전송 기능
4. 디지털 저작권 관리 ( DRM; Digital Rights Management )
- 디지털 콘텐츠를 관리 및 보호하는 기술
- 원본 콘텐츠가 디지털이 아닌 아날로그일 경우 디지털로 변환 후 패키지에 의해 DRM 패키징 수행
- 구성요소 : 패키저, DRM 콘텐츠, 클리어링 하우스
- 크기가 작은 경우 실시간 패키징
- 패키징 수행 시 암호화된 전자 서명 포함
- 라이선스 정보가 Clearing House에 등록
- DRM 컨테이너
: 원본 콘텐츠를 안전하게 유통하기 위한 전자적 보안 장치
- DRM 컨트롤러
: 배포된 디지털 콘텐츠의 이용 권한을 통제
5. 제품 소프트웨어 메뉴얼
- 설치 메뉴얼 프로세스 ( 개유설삭이최 )
: 개요 및 기능 식별 > UI 분류 > 설치파일 > 백업 파일 확인 > 삭제 절차 확인 > 이상 유형 확인 > 최종 메뉴얼 적용
- 사용자 메뉴얼 프로세스
: 작성 지침 정의 > 사용자 메뉴얼 구성요소 정의 > 구성 요소 별 내용 작성 > 사용자 메뉴얼 검토
6. 애플리케이션 테스트 관리
* 시각에 따른 테스트
- 검증(Verification) 테스트 : 개발자의 시각에서 명세서대로 완성됐는지 테스트
- 확인(Validation) 테스트 : 사용자의 시각에서 요구한대로 제품이 완성됐는지 테스트
* 테스트 목적에 따른 분류
- 강도 테스트
: 소프트웨어에 과도한 정보량을 입력하여 과부하 상태에도 소프트웨어가 정상적으로 실행되는지를 확인
- 병행 테스트
: 변경 소프트웨어와 기존 소프트웨어가 동일 데이터를 입력한 결과를 비교
- 안전 테스트
: 시스템 내 설치된 보호 도구가 비인가 된 침입으로부터 시스템을 보호할 수 있는지 확인
- 회귀 테스트
: 소프트웨어 변경 또는 수정된 코드에 새로운 결함이 없음을 확인
7. 테스트 케이스, 테스트 시나리오, 테스트 오라클, 테스트 하네스
* 테스트 케이스
- 테스트를 위한 설계 산출물
- SW가 사용자의 요구사항을 얼마나 준수했는지 확인하기 위해 입력값, 실행 조건, 기대 결과 등으로 만들어진 테스트 항목의 명세서
* 테스트 시나리오
- 테스트 수행을 위한 여러 개의 테스트 케이스 집합
* 테스트 오라클
- 테스트 결과가 올바른지 판단하기 위해 사전에 정의된 참 값을 대입해 비교하는 기법 및 활동
- 종류 : 참, 샘플링, 추정, 일관성 검사 오라클
* 테스트 하네스
- 테스트 케이스 예상 결과로 테스트 결과가 올바른지 판단하기 위한 근거
- 애플리케이션 컴포넌트 및 모듈을 테스트하는 환경의 일부분
- 테스트를 지원하기 위한 코드와 데이트를 의미
* 살충제 패러독스의 원리
- 동일한 테스트 케이스로 동일한 절차를 반복 수행하면 새로운 결함을 찾을 수 없다는 테스트의 원리
* 애플리케이션의 성능 측정 지표 ( 처응경자 )
- 처리량(Throughput) : 일정 시간 내 애플리케이션이 처리하는 작업의 양
- 응답시간(Response Time) : 애플리케이션에 작업을 요청해서 응답 도착까지 걸린 시간
- 경과시간(Tun Around Time) : 애플리케이션에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
- 자원사용률 : 애플리케이션이 작업을 처리할 동안의 CPU, MEM, DISK 등의 사용랑
8. AJAX, JSON
- AJAX ( Asynchronous Javascript And XML )
: 자바스크립트를 사용한 비동기 통신기술로 클라이언트와 서버간에 XML 데이터를 주고받는 기술
- JSON ( JavaScript Object Notation )
: 비동기 브라우저/서버통신(AJAX)을 위해 "속성-값" 쌍, "키-값" 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷
* 릴리즈 노트 작성 프로세스
: 모듈 식별 > 패키지 정보 확인 > 패키지 노트 개요 작성 > 영향도 체크 > 정식 패키지 노트 작성 > 추가 개선 항목 식별
* 애플리케이션 패키징 프로세스 ( 기모빌 환패변 )
: 기능 식별 > 모듈화 > 빌드 진행 > 사용자 환경 분석 > 패키징 적용 시험 > 패키징 변경 개선
* 크랙 방지 기술 : 난독화, SecureDB
* 저작권 표현 기술 : XrML, MPEG-21
* 국제 제품 품질 표준 : 9126, 14598, 12119, 25000
- ISO/IEC 9126 품질 특성 : 기신사효유이
- ISO/IEC 14598 품질 특성 : 반재공객 ( 반복성, 재현성, 공정성, 객관성 )
- ISO/IEC 25000
: SQuaRE로 불리며 국제 제품 품질 표준을 통합하고,
ISO/IEC 15288을 참고한 소프트웨어 제품 품질에 대한 통합적인 국제 표준
* 국제 프로세스 품질 표준 : 9001, 12007, 15504, CMMi
- CMMI
: ISO15504(SPICE)를 준수하는 소프트웨어 개발 능력/성숙도 평가 및 프로세스 개선 활동의 지속적인 품질 개선 모델
적용 및 평가 방식은 단계별 표현과 연속적 표현이 존재
9. 인터페이서 기능 구현 정의
- 일관성있는 인터페이스 기능 구현을 위해 송수신 단에서 진행하는 절차까지 세부적으로 재정의한다.
- 정의된 인터페이스 기능 구현은 표준화되고 알기 쉽게 정형화한다.
- 인터페이스 기능, 인터페이스 데이터 표준, 설계서를 기반으로 기능 구현을 정의한다.
- 인터페이스 명세서를 통해 컴포넌트 명세서에서 명시된 인터페이스 세부 기능을 확인한다.
* 협업 도구
- 다른 개발자와 유대감을 형성하거나 유지하기 위해서 지속적으로 커뮤니케이션을 수행하기 위한 도구
- 통합 구현 관리를 위해 개발자간 상호 소통을 위한 협업도구가 필요
- 프로젝트 관리를 위한 협업도구로 트렐로, 레드마인, 지라등을 활용
- 팀원 간 아이디어 공유를 위한 협업도구로 소스 공유를 위한 협업도구는 깃허브이다.
* 인터페이스 오류 발생 처리 방법
- 인터페이스 감시 도구를 활용 시 인터페이스의 전체 상황을 모두 확인 가능
- 오류이력이 누적되면 발생하는 오류원인 분석이 가능하여 오류의 재발방지가 가능
- 시스템 로그 및 인터페이스 오류 테이블을 관리자가 확인해 오류 발생 여부를 확인 가능
* 이 게시물은 수제비 카페 - 페코페코 예상문제 OX 게시글을 참고로 작성되었습니다.
https://cafe.naver.com/soojebi
* 과목별 정리
2020/08/13 - [정보처리기사/1과목 소프트웨어 설계] - 정보처리기사 필기 ) 1과목 소프트웨어 설계 정리
2020/08/13 - [정보처리기사/2과목 소프트웨어 개발] - 정보처리기사 필기 ) 2과목 소프트웨어 개발 정리
2020/08/14 - [정보처리기사/4과목 프로그래밍언어 활용] - 정보처리기사 필기 ) 4과목 프로그래밍 언어 활용 정리
2020/08/14 - [정보처리기사/5과목 정보시스템 구축관리] - 정보처리기사 필기 ) 5과목 정보시스템 구축 관리 정리 1
2020/08/14 - [정보처리기사/5과목 정보시스템 구축관리] - 정보처리기사 필기 ) 5과목 정보시스템 구축 관리 정리 2
2020/08/17 - [정보처리기사/2과목 소프트웨어 개발] - 정보처리기사 필기) 수제비 모의고사 정리 - 2과목 소프트웨어개발
2020/08/18 - [정보처리기사/2과목 소프트웨어 개발] - 정보처리기사 필기) 시나공 모의고사 정리 - 2과목 소프트웨어 개발
'정보처리기사 > 정보처리기사 필기' 카테고리의 다른 글
정보처리기사 필기 ) 5과목 정보시스템 구축 관리 정리 1 (0) | 2020.08.14 |
---|---|
정보처리기사 필기 ) 4과목 프로그래밍 언어 활용 정리 (0) | 2020.08.14 |
정보처리기사 필기 ) 1과목 소프트웨어 설계 정리 (0) | 2020.08.13 |
정보처리기사 필기 ) 선점 스케줄링 (0) | 2020.08.12 |
정보처리기사 필기 ) 비선점 스케줄링 (0) | 2020.08.12 |
댓글