1. 설계 산출물
1. 인터페이스 구현 검증 도구의 개념
- 구현된 인터페이스의 동작을 검증하기 위해 인터페이스 구현 및 감시 도구를 통해서 인터페이스 동작 상태를 검증하고 모니터링할 수 있다.
- 인터페이스 구현을 검증하기 위해서는 인터페이스 세부 기능을 기능 단위로 테스트하는 단위 테스트와 전체 인터페이스 흐름을 확인할 수 있는 시나리오를 통한 통합 테스트가 필요하다
- 인터페이스 구현 검증도구들을 통해서 테스트의 효율성을 높일 수 있다.
2. 인터페이스 구현 검증도구의 종류
1. xUnit
- java(Junit), C++(Cppunit), .Net(Nunit) 등 다양한 언어를 지원하는 단위 테스트 프레임워크
- 소프트웨어의 함수나 클래스 같은 서로 다른 구성 원소(단위)를 테스트 할 수 있게 해주는 도구
2. STAF
- 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임 워크
- 각 테스트 대상 분산 환경에 데몬을 사용하여 테스트 대상프로그램을 통해 테스트를 수행하고, 통합하며 자동화하는 검증 도구
3. FitNesse
- 웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크
- 사용자가 테스트 케이스 테이블을 작성하면 빠르고 편하게 자동으로 원하는 값에 대한 테스트를 할 수 있는 장점이 있음
4. Selenium
- 다양한 브라우저 지원 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크
- 셀레늄(Selenium)은 테스트 스크립트 언어를 학습할 필요 없이 기능 테스트를 만들기 위한 플레이백 도구를 제공
5. watir
- Ruby 기반 웹 애플리케이션 테스트 프레임워크
- 모든 언어 기반의 웹 어플리케이션 테스트와 브러우저 호환성 테스팅 가능
3. 인터페이스 감시 도구
- 인터페이스의 동작이 잘 진행되는지 지속적으로 확인하기 위해서는 애플리케이션 모니터링 툴(APM: Application Performance Management)을 사용하여 동작 상태를 감시할 수 있다.
- 데이터베이스, 웹 애플리케이션의 트랜잭션과 변숫값, 호출 함수, 로그 및 시스템 부하 등 종합적인 정보를 조회하고, 커넥션 풀(Connection Pools)등 지속적인 모니터링이 필요한 자원을 효과적으로 관리할 수 있다.
- 대표적인 도구인 스카우터(SCOUTER)는 애플리케이션에 대한 모니터링 및 DB Agent를 통해 오픈소스 DB모니터링 기능, 인터페이스 감시 기능을 제공한다.
4. 인터페이스 구현 검증에 필요한 설계 산출물
- 모듈 세부 설계서(컴포넌트 명세서, 인터페이스 명세서), 인터페이스 정의서, 정적/동적 모형설계도, 식별된 인터페이스 기능 목록, 인터페이스 데이터 표준 정의서 등 인터페이스 설계 산출물 분석이 인터페이스 구현 검증에 필요하다.
- 설계 산출물 중에서 인터페이스 명세서를 중심으로 데이터 전송주기, 전송 포맷 등을 확인하여 송.수신 시스템에 데이터가 정확하게 전송되었는지 확인한다.
- 인터페이스 단위 테스트 케이스, 통합 테스트 케이스를 활용하여 최종적으로 인터페이스 구현 검증을 한다.
2. 인터페이스 명세서
1. 인터페이스 명세서를 통한 구현 검증
1. 인터페이스 명세서를 통한 구현 검증에 필요한 요건 분석
- 작성된 인터페이스 명세서의 세부 기능을 참조하여 구현 검증 및 감시에 필요한 기능을 분석한다.
- 각 기능의 특징에 맞게 구현 검증의 요건을 도출한다.
[인터페이스 명세서를 참조하여 구현 검증의 요건 분석]
1. 송신 측에서 인터페이스 대상 선택 전송
[검증 요건] : 입력한 대상과 생성된 인터페이스 객체의 정보가 일치하는지 확인
[감시 요건] : 데이터베이스 SQL 모니터링, 조회 트랜잭션 모니터링, 제이슨(JSON) 생성 객체 모니터링
2. 인터페이스 객체 전송
[검증요건]
- 암호화된 통신으로 올바르게 수신 측에 전달되었는지 확인
- 전달된 정보가 수신된 정보와 일치하는지 확인
- 파싱된 정보가 송신된 정보와 일치하는지 확인
[감시요건]
- 통신 암호화 모니터링
- 패킷정보 모니터링
- 연결된 트랜잭션 변수 모니터링
3. 수신후 수신 측 트랜잭션과 결과 반환
[검증 요건]
- 수신된 데이터와 연관 있는 이후 트랜잭션의 결괏값과 일치 여부
[감시 요건]
- 객체 입력,출력값 모니터링
- 객체 동작 성공, 실패 여부 모니터링
2. 구현 검증에 필요한 감시 및 도구 준비
- 구현 검증 및 감시에 필요한 요건을 확인 후 적절한 감시 및 검증에 필요한 도구를 선택한다.
- 최근에는 오픈소스 기반의 구현 검증 및 감시 도구가 많이 할용되고 있으므로 기능 분석을 통해 가장 적합한 도구를 선택한다.
3. 인터페이스 구현 검증 수행
- 인터페이스 구현 검증을 위하여 외부 시스템(송/수신)과 연계 모듈(수/송신)의 동작 상태를 인터페이스 구현 검증 도구르르 통해서 확인한다.
- 인터페이스 명세서 기반으로 도출된 요건 분석 내용을 토대로 인터페이스 동작 프로세스 상에서 예상되는 결괏값과 검증 값을 비교한다.
- 각 단계별 오류 처리도 적절하게 구현되어 있는지 검증 도구를 통해 확인한다
[인터페이스 명세서 기반의 요건 분석 내용을 통한 구현 검증사례]
1. 최초 데이터 입력
[테스트 시나리오] : 신규 공무원 10명 임용 발령 확정
[예상 되는 결괏값] : 10명의 공무원중 번호가 확정 FLAG를 가지고 저장
2. DB에서 조회
[테스트 시나리오] : 신규 공무원 10명 정보 조회
[예상되는 결괏값] : 10명의 인사 발령 정보, 기본 정보가 DB에 저장
- 인터페이스 구현 검증을 수행하는 동안 인터페이스 동작이 정상적으로 수행되는지는 감시 고두를 통해 확인할 수 있다.
- 인터페이스 동작 여부, 오류 발생 여부 등 감시 도구에서 제공해주는 리포트를 활용한다.
2. 인터페이스 오류 처리 및 보고서 작성
1. 인터페이스 오류 처리
- 인터페이스 오류 처리 방법은 사용자 화면에서 오류를 인지하도록 구현하는 방법, 인터페이스 오류 시스템 로그를 별도로 작성하여 파일로 보관하는 방법, 별도 데이터베이스에 인터페이스 관련 오류 사항을 기록하는 방법
가. 사용자 화면에서 오류를 인지하도록 구현
- 사용자 화면에서 인터페이스 오류를 인지하도록 구현하는 방법은 가장 직고나적으로 오류를 인지할 수 있어 많이 쓰이는 방법
- 인터페이스 오류가 발생하였을 경우 알람 형태로 화면에 표시되며, 주로 실시간으로 데이터가 인터페이스 되는 경우에 사용된다.
나. 인터페이스 오류 로그 생성
- 시스템 운영 로그에 인터페이스 오류 시 관련 오류 로그가 생성되도록 할 수 있다.
- 인터페이스 오류의 자세한 내역을 알기 위해 사용되며, 시스템 관리자나 운영자가 오류 로그를 확인할 수 있다.
다. 인터페이스 관련 테이블에 오류 사항 기록