Chapter02 인터페이스 기능 구현 (중요도: ★★★)
모듈 세부 설계서
-
컴포넌트 명세서
: 컴포넌트 개요, 내부 클래스의 동작, 인터페이스를 통해 외부와 통신하는 명세 등을 정의한 것
-
인터페이스 명세서
: 컴포넌트 명세서에 명시된 인터페이스 클래스의 세부적인 조건 및 기능을 명시한 명세서
◆ JSON(Javascript Object Notation, JS객체 표기법)
: 속성-값 쌍 또는 “키-값 쌍”으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 테스트를 사용하는 개방형 표준 포맷, AJAX에서 많이 사용되고 XML을 대체하는 주요 데이터 포맷
◆ XML(Extensible Markup Language, 확장가능한 마크업 언어)
: HTML의 단점을 보완한 인터넷 언어로, SGML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어
◆ AJAX(Asynchronous Javascript And XML 비동기식 JS 그리고 XML)
: 자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적으로 XML데이터를 교환하고 조작하는 웹 기술, XMLHttpRequest객체(비동기 통신 담당하는 JS 객체)를 이용해서 필요한 일부 페이지의 데이터만 로드
: 웹과 같은 분산 하이퍼미디어 환경에서 자원의 존재/상태 정보를 표준화된 HTTP메서드로 주고받은 웹 아키텍처
- REST 메서드:
HTTP메서드 중 CRUD메서드만 사용-
CRUD Operation
Create : 생성(POST)
Read : 조회(GET)
Update : 수정(PUT)
Delete : 삭제(DELETE)
◆ 데이터베이스 암호화 알고리즘(대비해)
- 대칭 키 암호화 알고리즘: 암,복호화에 같은 암호 키를 쓰는 알고리즘
- 비대칭 키 암호화 알고리즘: 공개키는 누구나 알 수 있지만, 비밀키는 키 소유자만 알 수 있게 사용하는 알고리즘
- 해시 암호화 알고리즘: 해시값으로 원래 입력값을 찾아낼 수 없는 일방향성의 특성을 가진 알고리즘
◆ 중요 인터페이스 데이터의 암호화 전송을 보안 기술
- IPSec(IP Security): IP계층(3계층 네트워크)에서 무결성과 인증을 보장하는 인증 헤더(AH, Authentication Header)와 기밀성을 보장하는 암호화(ESP, Encapsulating Security Payload)를 이용하여 양 종단 간(End Point) 구간에 보안 서비스를 제공하는 터널링 프로토콜
- SSL(Secure Socket Layer)/TLS(Transport Layer Security): 전송계층(4계층)과 응용계층(7계층) 사이에서 클라이언트와 서버 간의 웹 데이터 암호화(기밀성0, 상호 인증 및 전송 시 데이터 무결성을 보장하는 보안 프로토콜
- S-HTTP(Secure Hypertext Transfer Protocol): 웹상에서 네트워크 트래픽을 암호화하는 주요 방법, 클라이언트와 서버 간에 전송되는 모든 메세지를 암호화하여 전송
Chapter03 인터페이스 구현 검증 (중요도: ★★)
◆ 인터페이스 구현 검증 도구(엑스피엔셀웨)
: 인터페이스 구현을 검증하기 위해서는 인터페이스 단위 기능과 시나리오 등을 기반으로 하는 통합테스트가 필요하다.
통합 테스트를 수행하기 위해 사용하는 테스트 자동화 도구
- xUnit: 자바, C++, .Net 등 다양한 언어를 지원하는 단위테스트 프레임워크
- STAF(Software Testing Automation Framework, 소프트웨어 테스트 자동화 프레임워크): 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
- FitNesse: 웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크
- NTAF: FitNesse(협업기능)+STAF(재사용, 확장성) 통합한 테스트 자동화 프레임워크
- Selenium: 다양한 브라우저 지원 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크
- watir: 루비(Ruby)기반 웹 애플리케이션 테스트 프레임워크
◆ 인터페이스 구현 감시 도구
- 스카우터(SCOUTER): 애플리케이션에 대한 모니터링 및 DB Agent를 통해 오픈 소스 DB 모니터링 기능, 인터페이스 감시 기능을 제공
- 제니퍼(Jennifer): 애플리케이션의 개발부터 테스트, 오픈, 운영, 안정화까지 전 생애주기 단계 동안 성능을 모니터링하고 분석해주는 APM소프트웨어