[01 모듈간 공통 기능 및 데이터 인터페이스 확인] ★
01-1 모듈간 공통 기능 및 데이터 인터페이스의 개요
- 데이터 인터페이스 : 모듈 간 교환되는 데이터가 저장될 파라미터
- 인터페이스 설계서에서 정의한 모듈의 기능을 기반으로 확인 -> 모듈 간 연계가 필요한 인터페이스 식별에 사용
1) 인터페이스 설계서로 모듈별 기능 확인
2) 외부 및 내부 모듈을 기반으로 공통으로 제공되는 기능과 각 데이터의 인터페이스 확인
01-2 인터페이스 설계서(정의서)
: 시스템 사이의 데이터 교환 및 처리 위해 교환 데이터 및 관련 업무, 송수신 시스템 등을 정의한 문서
- 일반적인 인터페이스 설계서
- 시스템 인터페이스 설계서 : 시스템 인터페이스 목록과 상세 데이터 명세 정의
- 상세 기능별 인터페이스 명세서 : 각 기능의 세부 인터페이스 정보 정의한 문서
- 정적/동적 모형을 통한 인터페이스 설계서
: 시스템 구성 요소를 다이어그램으로 표현. 주요 구성 요소 간의 트랜잭션으로 인터페이스의 소속과 상호 교환되는 트랜잭션 종류 확인 가능
01-3 인터페이스 설계서별 모듈 기능 확인
1) 시스템 인터페이스
- 시스템 인터페이스 목록의 송신, 전달 부분 = 외부 모듈 / 수신 = 내부 모듈
- 데이터 송신 시스템 부분 = 외부 / 데이터 수신 시스템 부분 = 내부
2) 상세 기능 인터페이스
- 오퍼레이션, 사전 조건 = 외부 / 사후 조건 = 내부
3) 정적/동적 모형 인터페이스
- 인터페이스 영역 = 내부 / 나머지 = 외부
01-4 모듈 간 공통 기능 및 데이터 인터페이스 확인
: 내/외부 모듈 기능을 통해 공통적으로 제공되는 기능 확인, 그를 기반으로 필요한 인터페이스 항목 확인
[02 모듈 연계를 위한 인터페이스 기능 식별] ★★★
02-1 모듈 연계의 개요
: 내부와 외부 모듈, 내부 모듈끼리의 데이터 교환 위해 관계를 설정함
1) EAI(Enterprise Application Integration)
: 기업 내 애플리케이션 및 플랫폼 간의 정보 전달, 연계, 통합 등 상호 연동이 가능하도록 하는 솔루션 / 비즈니스 간 통합 및 연계성 ↑, 효율성↑, 시스템 간의 확정성(Determinacy)↑
- Point-to-Point : 애플리케이션을 1;1로 연결, 변경 및 재사용 어려움
- Hub & Spoke : 허브 시스템을 이용해 데이터 전송하는 중앙 집중형 방식, 확장 및 유지 보수 용이, 허브 장애 발생 -> 전체 장애
- Message Bus (ESB) : 애플리케이션 사이에 미들웨어를 둠, 확장성 뛰어나 대용량 처리 가능
- Hybrid : Hub & Spoke와 Message Bus 혼합 / 그룹 내에서는 Hub, 그룹끼리는 Message Bus 사용 / 데이터 병목 현상 최소화
2) ESB(Enterprise Service Bus)
- 애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스 제공
- EAI와 유사하지만 서버 중심의 통합
- 특정 서비스에 국한 X, 애플리케이션과의 결합도(Coupling)을 약하게 유지
- 관리, 보안 유지 쉬움, 높은 수준의 품질 지원
02-2 모듈 간 연계 기능 식별
: 모듈과 연계된 기능을 시나리오 형태로 구체화 -> 인터페이스 기능 식별
02-3 모듈 간 인터페이스 기능 식별
: 인터페이스 동작에 필요한 기능 식별
- 외부 및 인터페이스 모듈 간 동작하는 기능으로 인터페이스 기능 식별 -> 내부 모듈은 외부 모듈에서 호출된 인터페이스에 의해 수행되므로 해당 업무에 대한 시나리오 통해 내부 모듈과 관련된 인터페이스 기능 식별 -> 식별된 인터페이스 중 실제적으로 필요한 것 선별 -> 인터페이스 기능 구현 정의에 사용
[03 모듈 간 인터페이스 데이터 표준 확인] ★
03-1 인터페이스 데이터 표준의 개요
: 모듈 간 인터페이스에 사용되는 데이터의 형식을 표준화 / 기존의 데이터 중 공통 영역 추출 또는 한 쪽의 데이터 변환해 정의 => 인터페이스 기능 구현 정의에 사용
1) 데이터 인터페이스로 인터페이스 데이터 표준 확인
2) 인터페이스 기능으로 인터페이스 표준 확인
3) 데이터 인터페이스와 인터페이스 기능으로 확인된 인터페이스 표준 검토 -> 최종적인 인터페이스 데이터 표준 확인
03-2 데이터 인터페이스 확인
: 식별된 데이터 인터페이스에서 입/출력값의 의미와 데이터의 특성 확인
03-3 인터페이스 기능 확인
: 식별된 데이터 인터페이스 기능을 기반으로 그 기능을 구현하는 데에 필요한 데이터 항목 확인
03-4 인터페이스 데이터 표준 확인
: 확인된 데이터 표준과 인터페이스 기능으로 확인된 데이터 항목들 검토 -> 최종 데이터 표준 확인
[04 인터페이스 기능 구현 정의] ★
04-1 인터페이스 기능 구현의 정의에 대한 개요
: 인터페이스를 실제로 구현 위해 인터페이스 기능에 대한 구현 방법을 기술한 것
1) 컴포넌트 명세서 확인
2) 인터페이스 명세서 확인
3) 일관된 인터페이스 기능 구현 정의
4) 정의된 인터페이스 기능 정형화
04-2 모듈 세부 설계서
: 모듈의 구성 요소와 세부적인 동작 정의한 설계서
1) 컴포턴트 명세서
: 컴포넌트의 개요 및 내부 클래스의 동작, 인터페이스로 외부와 통신하는 명세 정의 (컴포넌트ID, 컴포넌트명, 컴포넌트 개요, 내부 클래스, 인터페이스 클래스 등)
2) 인터페이스 명세서
: 컴포넌트 명세서의 항목 중 인터페이스 클래스의 세부 조건 및 기능에 대해 정의 (인터페이스ID, 인터페이스명, 오퍼레이션명 사전/사후조건, 파라미터, 반환값 등)
04-3 모듈 세부 설계서 확인
- 컴포넌트 명세서와 인터페이스 명세서로 인터페이스에 필요한 기능이 뭔지 확인
- 컴포넌트 명세서의 주요 기능 확인 / 인터페이스 명세서로 인터페이스의 주요 기능 확인
04-4 인터페이스 기능 구현 정의
: 인터페이스의 기능, 인터페이스 데이터 표준, 모듈 세부 설계서로 일관성있고 정형화된 인터페이스 기능 구현
- 일관성 있는 인터페이스 기능 구현 : 위에서 정의한 인터페이스 기능 구현에 대해 송수신 측에서 진행해야 할 절차까지 다시 세부적으로 정의
- 정의된 인터페이스 기능 구현 정형화
: 특정 하드웨어나 소프트웨어에 의존적이지 않도록 보기 쉽게 정형화 / 가독성을 위해 프로세스 형태나 유스케이스 다이어그램 형태로
[05 인터페이스 구현] ★★
05-1 인터페이스 구현
: 송수신 시스템 간의 데이터 교환 및 처리를 실현해주는 작업
- 정의된 인터페이스 기능 구현 -> 구현 방법 및 범위 고려해 인터페이스 구현 방법 분석 -> 이 정의를 기반으로 인터페이스 구현
05-2 데이터 통신을 이용한 인터페이스 구현
: 애플리케이션 영역에서 인터페이스 형식에 맞춘 데이터 포맷을 인터페이스 대상으로 전송 -> 이를 수신 측에서 파싱(Parsing)해서 해석함
*파싱(Parsing) : 주어진 문장이 정의된 문법 구조에 따라 완전한 문장으로 사용될 수 있는지 확인
- 주로 JSON이나 XML 형식의 데이터 포맷 사용해 인터페이스 구현함
*JSON(JavaScript Object Notation) : 속성-값 쌍으로 이루어진 데이터 객체 전달 위해 사람이 읽을 수 있는 텍스트 이용하는 개방형 표준 포맷
*XML(eXtensible Markup Language) : 특수한 목적을 갖는 마크업 언어를 만드는데 사용되는 다목적 마크업 언어
*AJAX : 자바스크립트를 사용한 비동기 통신 기술로 클라이언트와 서버간에 XML 데이터 주고 받는 기술
05-3 인터페이스 엔티티를 이용한 인터페이스 구현
: 인터페이스가 필요한 시스템 사이에 별도의 인터페이스 엔티티를 두어 상호 연계하는 방식
- 인터페이스 테이블을 주로 엔티티로 활용 (한 개 또는 송/수신용으로 각각 두어 활용)
- 송수신 인터페이스 테이블 구조는 유사, 상황에 따라 다를 수 있음
[06 인터페이스 예외 처리] ★
06-1 인터페이스 예외 처리의 개요
: 구현된 인터페이스가 동작 중 예외 상황이 발생했을 때
(인터페이스 구현 방식과 유사)
06-2 데이터 통신을 이용한 인터페이스 예외 처리
: JSON, XML 등 인터페이스 객체를 이용해 구현한 인터페이스의 동작이 실패할 경우 대비, 인터페이스 객체의 송수신 시 발생할 수 있는 예외 케이스를 모두 정의하고 각각에 처리방법 기술 / 시스템 환경, 송수신 데이터, 프로그램 자체 원인 등
<인터페이스 객체 송신 실패 시 예외 처리>
|
구분 |
예외 상황 |
예외 처리 방안 |
|
시스템 환경 |
네트워크 불안정 |
POST 이후 오류 메시지 확인 / 404 오류의 경우 네트워크나 서버 상태 확인 |
|
송신 데이터 |
송신 데이터 크기, 데이터 정합성(모순 없는 정확한 특성) 체크 오류 발생 |
송신 데이터의 원활한 전송 위해 미리 데이터 정제 데이터 송신 시 데이터 크기 먼저 체크하도록 함 |
|
프로그램 자체 원인 |
송신 데이터 생성 시 프로세스의 논리적 결함 |
논리적 결함 수정 충분한 테스트로 사전 예방 프로세스에 따라 예상되는 예외를 사용자에게 알림 |
<인터페이스 객체 수신 실패 시 예외 처리>
|
구분 |
예외 상황 |
예외 처리 방안 |
|
시스템 환경 |
네트워크 및 서버 불안정 |
입력 대기 큐에 요청 적재 -> 순차적으로 처리해 서버가 정상적으로 가동될 때 동작할 수 있도록 함 |
|
수신 데이터 |
특수 문자 등으로 파싱 시 오류 발생 |
특수문자 입력 케이스를 미리 파악, 다음 파싱 시 오류가 발생하지 않는 문자로 우선 대치, 이후 다시 처리 |
|
프로그램 자체 원인 |
수신 데이터 처리 시 프로그램의 논리적 결함 |
논리적 결함 수정 충분한 테스트로 사전 예방 프로세스에 따라 예상되는 예외를 사용자에게 알림 예외 사항이 수신되지 않도록 송신측 프로그램 수정 |
06-3 인터페이스 엔티티를 이용한 인터페이스 예외 처리
: 인터페이스 동작이 실패할 경우를 대비해 해당 엔티티에 인터페이스의 실패 상황과 원인 기재하도록 함 -> 이에 대한 조치 취할 수 있도록 사용자 및 관리자에게 알려주는 방식
<송신 인터페이스 테이블 이용한 인터페이스 기능 실패 시 예외 처리>
|
구분 |
예외 상황 |
예외 처리 방안 |
|
인터페이스 데이터 생성 |
선택 SQL, 프로그램 오류 / 데이터 객체 생성 오류 |
오류 발생 시 사용자에게 알림 예외 케이스와 재발 방지 위해 프로그램 개선 |
|
인터페이스 테이블에 입력 |
입력 SQL 오류 / 데이터 정합성 오류 |
입력 실패 결과와 원인을 인터페이스 테이블에 기록 입력실패 결과를 사용자에게 알림 예외 케이스와 재발 방지 위해 프로그램 개선 |
|
인터페이스 데이터 전송 |
DB connection 오류 |
통신 결과를 통해 인터페이스 실패 결과와 원인을 테이블에 기록, 관리자에게 이메일로 전송 |
|
데이터 전송 주체의 논리적 오류 |
인터페이스 실패 결과와 원인을 테이블에 기록, 관리자에게 이메일로 전송 예외 케이스와 재발 방지 위해 프로그램 개선 |
<수신 인터페이스 테이블 이용한 인터페이스 기능 실패 시 예외 처리>
|
구분 |
예외 상황 |
예외 처리 방안 |
|
인터페이스 데이터 읽기 |
데이터 선택 시 오류 |
수신 측 사용자에게 예외 사항 알림 인터페이스 테이블에 예외사항 기록 재발 없도록 프로그램 개선 |
|
데이터 트랜잭션 |
데이터 트랜잭션 시 프로그램의 논리상 오류 |
사용자에게 예외 사항 알림 인터페이스 테이블에 예외사항 기록 재발 없도록 프로그램 개선 |
|
처리 결과 응답 |
DB connection 오류 |
인터페이스 테이블에 예외사항 기록 송수신자에게 이메일 전송 |
[07 인터페이스 보안] ★★
07-1 인터페이스 보안의 개요
: 인터페이스는 시스템 모듈 간 통신 및 정보 교환을 위한 통로로 사용 -> 보안 기능이 충분하지 않다면 시스템 모듈 전체에 악영향
07-2 인터페이스 보안 취약점 분석
- 인터페이스 기능이 수행되는 각 구간들의 구현 현황 확인(송수신 영역의 구현 기술 및 특징), 보안 취약점 분석
- 영역별로 발생할 수 있는 보안 취약점을 시나리오 형태로 작성 (송신 데이터 선택, 송신 객체 생성, 인터페이스의 송수신 및 데이터 처리 결과 전송 등)
07-3 인터페이스 보안 기능 적용
: 분석한 인터페이스 기능과 보안 취약점 기반으로 인터페이스 보안 기능 적용
네트워크 영역 : 인터페이스 송/수신 간 스니핑 등을 이용한 데이터 탈취 및 변조 위협을 방지 위해 네트워크 트래픽에 대한 암호화 설정 (IPSec, SSL, S-HTTP 등의 방식 적용)
애플리케이션 영역 : 소프트웨어 개발 보안 가이드 참조, 코드 상의 보안 취약점 보완
데이터베이스 영역 : 데이터베이스, 스키마, 엔티티의 접근 권한과 프로시저(Procedure), 트리거 등 데이터베이스 동작 객체의 보안 취약점에 보안 적용
*IPsec(IP security) : IP패킷 단위의 데이터 변조 방지 및 은닉 기능 제공하는 프로토콜
*SSL(Secure Sockets Layer) : TCP/IP 계층과 애플리케이션 계층 사이에서 인증, 암호화, 무결성 보장하는 프로토콜
*S-HTTP(Secure Hypertext Transfer Protocol) : 클랄이언트와 서버 간에 전송되는 모든 메시지 암호화 하는 프로토콜
[08 연계 테스트] ★
08-1 연계 테스트의 개요
: 구축된 연계 시스템과 연계 시스템의 구성 요소(송/수신 모듈, 연계 서버, 모니터링 현황)가 정상적으로 잘 동작 하는지 확인
연계 테스트 케이스 작성 -> 연계 테스트 환경 구축 -> 연계 테스트 수행 -> 연계 테스트 수행 결과 검증
08-2 연계 테스트 케이스 작성
: 연계 시스템 간의 데이터 및 프로세스 흐름 분석해 필요한 테스트 항목 도출
송수신용 연계 응용 프로그램 단위 테스트 케이스
: 송수신 시스템에서 확인해야 할 항목 도출 (단순 개별 데이터 유효값을 확인하는 경우의 수 / 데이터 간의 연관 관계 확인하는 경우의 수)
연계 테스트 케이스
: 송수신용 연계 응용 프로그램의 기능상 결함을 확인하는 단위 테스트 케이스(연계 테이블 간 송수신 절차의 앞뒤로 연결해 흐름 확인 가능하도록) 형태로 작성
08-3 연계 테스트 환경 구축
: 테스트의 일정, 방법, 절차, 소요 시간 등을 송수신 기관과의 협의 통해 결정
송수신용 어댑터 설치, 연계 위한 IP 및 포트 허용 신청, 연계를 위한 DB 개정 및 테이블과 데이터 생성
08-4 연계 테스트 수행
: 연계 응용 프로그램 실행해 연계 테스트 케이스의 시험 항목 및 처리 절차를 실제로 진행
송수신용 연계 응용 프로그램의 단위 테스트 먼저 수행 -> 연계 테스트 케이스에 따라 데이터 추출, 데이터 송수신, 데이터 반영 과정 등의 연계 테스트 수행
08-5 연계 테스트 수행 결과 검증
: 연계 테스트 케이스의 시험 항목 및 처리 절차를 수행한 결과 = 예상 결과 인지 확인
테스트 케이스 항목별 검증 방법
1) 운영 DB 테이블의 건수 확인
2) 테이블 또는 파일을 열어 데이터 확인
3) 파일 생성 위치에서 파일 생성 여부 및 파일 크기 확인
4) 연계 서버에서 제공하는 모니터링 현황 확인
5) 시스템에서 기록하는 로그 확인
[09 인터페이스 구현 검증] ★★
09-1 인터페이스 구현 검증의 개요
: 인터페이스가 정상적으로 문제 없이 작동하는지 확인
인터페이스 구현 검증 도구와 감시 도구 이용해 인터페이스의 동작 상태 확인
09-2 인터페이스 구현 검증 도구
인터페이스 단위 기능
시나리오 등을 기반으로 하는 통합 테스트(테스트 자동화 도구 주로 이용)
- xUnit : 자바, C++, 닷넷 등의 언어를 지원하는 단위 테스트 프레임워크
- STAF : 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
- FitNesse : 웹 기반 테스트케이스 설계, 실행, 결과 확인
- NTAF : FitNesse의 협업 기능 + STAF의 재사용 및 확장성 = NHN(Naver)의 테스트 자동화 프레임워크
- Selenium : 다양한 브라우저 및 개발 언어 지원하는 웹 애플리케이션 테스트 프레임워크
- watir : Ruby(인터프리터 방식의 객체지향 스크립트 언어)를 사용하는 애플리케이션 테스트 프레임워크
09-3 인터페이스 구현 감시 도구
: APM을 사용해 감시(Monitoring)
애플리케이션 성능 관리 도구로 DB, 웹 애플리케이션의 트랜잭션, 변수값, 호출 함수, 로그 및 시스템 부하 등 조회 및 분석 가능 (ex 스카우터, 제니퍼)
*스카우터 : 애플리케이션 및 OS 자원에 대한 모니터링 기능 제공하는 오픈소스 APM
*제니퍼 : 애플리케이션의 개발부터 테스트, 오픈, 운영, 안정화까지 전 단계의 성능을 모니터링하고 분석 해주는 APM
09-4 인터페이스 구현 검증 도구 및 감시 도구 선택
인터페이스 명세서의 세부 기능을 참조 -> 인터페이스의 정상적 동작 여부 확인 위한 검증 도구와 감시 도구 요건 분석 -> 시장 및 솔루션 조사로 적절한 도구 선택
09-5 인터페이스 구현 검증 확인
구현 검증 도구로 외부 시스템과 연계 모듈의 동작 상태 확인
전반적인 인터페이스 동작 프로세스상에서 예상되는 결과값이 실제 검증값과 동일한지 비교
09-6 인터페이스 구현 감시 확인
구현 감시 도구로 외부 시스템과 연계 모듈의 정상 동작 확인
인터페이스 동작 여부, 에러 발생 여부 등 감시 도구에서 제공해 주는 리포트 활용
[10 인터페이스 오류 확인 및 처리 보고서 작성] ★
10-1 인터페이스 오류 확인 및 처리 보고서의 개요
: 인터페이스는 독립적으로 떨어진 시스템 간의 연계를 담당하기에 인터페이스에서 발생하는 오류는 중요한 오류 -> 사용자 또는 관리자는 이를 확인하고 오류 처리 보고서를 작성해야함
10-2 인터페이스 오류 발생 즉시 확인
: 화면에 오류 메시지를 표시하고 SMS, 이메일을 발송함
10-3 주기적인 인터페이스 오류 발생 확인
: 시스템 로그나 인터페이스 오류 관련 테이블을 주기적으로 확인
발생하는 오류에 대한 정보가 주기적으로 축적될 시 오류의 원인 파악 용이 -> 오류의 재발 방지
10-4 인터페이스 오류 처리 보고서 작성
: 인터페이스 작동 시 발생하는 오류의 발생 및 종료 시점, 원인 및 증상, 처리사항 등을 정리한 문서 자성
신속히 작성, 조직의 보고 체계를 따름
일반적인 정형화된 형식 X
오류 관련 사항을 시간 경과에 따라 기록
'정처기' 카테고리의 다른 글
| [2과목] 4. 애플리케이션 테스트 관리 (0) | 2021.02.02 |
|---|