반응형

     정보

    • 업무명     : 정보처리기사 실기 : 15강 인터페이스 구현 (인터페이스 구현 검증하기)

    • 작성자     : 이상호

    • 작성일     : 2020-05-10

    • 설   명      :

    • 수정이력 :

     

     

     내용

    [인터페이스 구현 검증]

    [1] 인터페이스 구현 검증도구, 감시 도구
    • 구현된 인터페이스의 동작을 검증하기 위해 인터페이스 구현 및 감시 도구를 통해서 동작 상태를 검증 및 감시(monitoring)할 수 있다. 

       

    • 1. 인터페이스 구현 검증도구 인터페이스 구현을 검증하기 위해서는 인터페이스 단위 기능 및 시나리오에 기반한 통합 테스트가 필요하다. 테스트 자동화 도구를 이용하여 단위 및 통합 테스트의 효율성을 높일 수 있다

     

    • xUnit

      • 다양한 코드중심 테스트 프레임워크는 xUnit 으로 통칭되는 테스트 프레임워크를 가지고 있다. 

         

      • 이 프레임워크는 소프트웨어의 함수나 클래스 같은 서로 다른 구성 원소(단위)를 테스트 할 수 있게 해준다. 

         

      • xUnit 프레임워크의 주된 장점은 같은 테스트 코드를 여러번 작성하지 않게 해주고, 그 결과가 어떠해야 하는지를 기억할 필요가 없게하는 자동화된 해법을 제공 한다는 것이다. 

         

      • 이러한 프레임워크는 켄트 벡(Kent Beck) 이 고안한 것으로, SUnit이라는 이름으로 Smalltalk 에 처음 적용 되었다. 

         

      • 이후 에릭 감마 (Erich Gamma) 와 켄트 벡(Kent Beck)이 Java에 포팅하여 JUnit이라는 것을 만들어 냈다. 

         

      • 여기서부터 이 프레임워크는 다양한 언어에 포팅, 예를 들어 CppUnit(C++ 용), NUnit(.NET 용), 되었다. 이러한 것을은 xUnit 이라고 불리며 통상 무상의 오픈소스로 사용할 수 있다. 

         

      • 이들은 이제 많은 프로그래밍 언어와 개발 플랫폼에서 사용할 수 있다.(위키)

     

    • STAF(Software Testing Automation Framework)

      • 설명

         

        • 각 테스트 대상 분산환경에 데몬을 사용하여 테스트 대상프로그램을 통해 테스트를 수행하고,통합하며 자동화하는 프레임워크

           

      • 공식 홈페이지

     

    Software Testing Automation Framework (STAF)

    Welcome to STAF The Software Testing Automation Framework (STAF) is an open source, multi-platform, multi-language framework designed around the idea of reusable components, called services (such as process invocation, resource management, logging, and mon

    staf.sourceforge.net

    • License

       

      • EPL

         

    • License 상세

       

      • Eclipse Public License / 무료

         

    • 개발 언어

       

      • Java, Perl, Python, Tcl, C++

         

    • 운영 체제

       

      • Windows, Linux, Mac OS, UNIX

         

    • 특징

       

      • 타 도구와의 테스트 연계

      • 보안과 관련된 Trust Level 기능 제공

      • 원격테스트 자동화

     

    • Selenium이란?

      • Selenium은 주로 웹앱을 테스트하는데 이용하는 프레임워크다. webdriver라는 API를 통해 운영체제에 설치된 Chrome등의 브라우저를 제어하게 된다.

      • 브라우저를 직접 동작시킨다는 것은 JavaScript를 이용해 비동기적으로 혹은 뒤늦게 불러와지는 컨텐츠들을 가져올 수 있다는 것이다. 

      • 즉, ‘눈에 보이는’ 컨텐츠라면 모두 가져올 수 있다는 뜻이다. 

      • 우리가 requests에서 사용했던 .text의 경우 브라우저에서 ‘소스보기’를 한 것과 같이 동작하여, JS등을 통해 동적으로 DOM이 변화한 이후의 HTML을 보여주지 않는다. 

      • 반면 Selenium은 실제 웹 브라우저가 동작하기 때문에 JS로 렌더링이 완료된 후의 DOM결과물에 접근이 가능하다.

     

    • 2. 인터페이스 감시 도구 

      • 인터페이스의 동작이 잘 진행되는지 확인하기 위해서는 애플리케이션 모니터링 툴(APM: Application Performance Management)을 사용하여 동작 상태를 감시할 수 있다. 상용 제 품 및 오픈소스를 이용한 애플리케이션 모니터링 툴이 있다. 데이터베이스, 웹 애플리케이 션의 트랜잭션과 변수값, 호출 함수, 로그 및 시스템 부하 등 종합적인 정보를 조회하고 분석할 수 있다

     

    [수행]

    [1] 구현된 인터페이스 명세서를 참조하여 구현 검증에 필요한 감시 및 도구를 준비한다.
    • 구현된 인터페이스 명세서를 참조하여 구현 검증에 필요한 감시 및 도구의 요건을 분석한다. 

       

    • 1. 구현된 인터페이스 명세서를 참조하여 구현 검증 필요한 감시 및 도구의 요건 분석을 한다. 구현된 인터페이스 명세서의 세부 기능을 참조하여 구현 검증 및 감시에 필요한 기능을 분석한다. 각 기능의 특징에 맞게 요건을 도출한다.

     

    • 2. 구현된 인터페이스 명세서를 참조하여 구현 검증에 필요한 감시 및 도구를 준비한다. 구현 검증 및 감시에 필요한 도구의 요건을 확인 후 시장 조사 및 솔루션 조사를 통해서 적절한 감시 및 검증에 필요한 도구를 선택하여 구매할 수 있다. 최근에는 오픈소스 감시 도구도 많이 활용되고 있으므로 기능을 분석하여 도입을 검토한다.

     

    [2] 인터페이스 구현 검증을 위하여 외부 시스템과의 연계 모듈 상태를 확인한다.
    • 인터페이스 구현 검증을 위해 구현 검증도구를 통해 외부 시스템과 연계 모듈 간의 동작 상태를 확인할 수 있고 감시 도구를 통해 외부 시스템과 연계 모듈의 전반적인 상황을 확인한다. 

       

    • 1. 외부 시스템과 연계 모듈의 동작 상태를 확인하다. 인터페이스 구현 검증을 위하여 외부 시스템(송신 또는 수신)과 연계 모듈(수신 또는 송신)의 동작 상태를 인터페이스 구현 검증도구를 통해서 진행한다. 최초 입력값과 입 력값에 의해 선택되는 데이터와 생성되는 객체의 데이터 등 전반적인 인터페이스 동작 프로세스상에서 예상되는 결과와 검증값을 비교한다. 각 단계별 에러 처리도 적절하게 구현되어 있는지 검증도구를 통해 확인한다. 

    • 2. 외부 시스템과 연계 모듈의 동작 상태를 감시(Monitoring)한다. 외부 모듈이 서비스를 제공하는 동안 정상적으로 동작하는지 감시 도구를 통해 확인할 수 있다. 인터페이스 동작 여부, 에러 발생 여부 등 감시 도구에서 제공해 주는 리포트를 활용한다.

     

    [인터페이스 오류 처리 확인 및 보고서 작성]

    [1] 인터페이스 오류 처리 방법 및 오류 처리 보고서
    • 인터페이스는 이기종 시스템이기 때문에 오류 처리 시 사용자, 관리자에게 오류 처리 상태를 보여 주는 방법이 다소 복잡하고 관리하기 불편할 수 있다. 인터페이스 오류는 중 요한 오류(장애)일 경우가 많으므로 오류 발생 시 오류 처리 보고서를 작성하여 관리 조직 에 보고하여야 한다. 

       

    • 1. 인터페이스 오류 처리 방법 인터페이스 오류 처리 방법은 크게 사용자 화면에서 오류를 인지하게 구현하는 방법, 인터페이스 오류 시스템 로그를 별도로 작성하여 파일로 보관하는 방법, 별도 데이터베이 스에 인터페이스 관련 오류 사항을 기록하는 방법이 있다. 

       

      • (1) 사용자 화면에서 오류를 발생 사용자 화면에서 인터페이스 오류를 인지하는 방법은 가장 직관적으로 오류를 인지 할 수 있어 가장 많이 쓰이는 방법이다. 인터페이스 오류가 발생하였을 경우 알람 형태로 화면에 표시되며, 주로 즉시적으로 데이터가 인터페이스되는 경우에 사용된다. 

      • (2) 인터페이스 오류 로그 생성 시스템 운영 로그에 인터페이스 오류 시 관련 에러 로그가 생성되도록 할 수 있다. 인터페이스 오류의 자세한 내역을 알기 위해 사용되며, 시스템 관리자나 운영자가 오류 로그를 확인할 수 있다.

    • (3) 인터페이스 관련 테이블에 오류 사항 기록 테이블을 통한 인터페이스 기능을 구현할 경우나 인터페이스 트랜잭션 기록을 별도로 보관하는 경우 테이블에 오류 사항을 기록할 수 있다. 이력을 직관적으로 보기 쉬워 운영자가 관리하기 용이한 장점이 있다.

     

    • 2. 인터페이스 오류 처리 보고서 인터페이스에서 오류가 발생 시 관련 사항을 조직에서 정의된 보고 라인으로 인터페이스 오류 처리 보고서를 작성하여 즉각적으로 보고하여야 한다. 

       

      • (1) 인터페이스 오류 처리 보고서 형식 정형화된 형식은 없으며 조직 및 상황에 맞는 보고서를 작성하여 활용한다

     

    [수행]

    [1] 인터페이스 오류 사항을 확인한다.
    • 인터페이스는 이 기종 시스템 간 연계를 위한 기능이고 연계가 필요하다는 것은 꼭 필요한 기능일 경우가 많다. 인터페이스에서 발생하는 오류는 일반적으로 중요한 오류(장애)일 경우가 많으므로 사용자나 관리자는 인터페이스 오류 사항을 잘 확인하고 보고하여야 한다. 

       

    • 1. 인터페이스 오류 발생 시 즉시 확인한다. 인터페이스 오류 발생 시 화면에서 즉시 인지할 수 있거나 시스템 관리자에게 오류 발생 SMS나 이메일을 자동으로 발송하여 오류 발생을 즉시 인지하여 조치한다.

     

    • 2. 주기적으로 인터페이스 오류 발생을 확인한다. 시스템 로그나 인터페이스 오류 관련 테이블 등을 시스템 관리자가 주기적으로 확인하여 오류 발생 여부를 확인하고 원인을 추적할 수 있다. 오류의 이력이 쌓이게 되면 주기적으로 발생하는 오류의 원인을 분석하여 파악하기 용이하므로 이를 통하여 오류의 재 발생을 막는 것이 무엇보다 중요하다

     

    [2] 인터페이스 오류 처리 보고서를 작성한다.
    • 인터페이스 오류는 일반적으로 중요한 장애 등급을 가지고 있으므로 신속하게 인터페이스 오류 처리 보고서를 작성하고 보고 체계에 맞게 보고를 하는 것이 중요하다. 

       

    • 1. 인터페이스 오류 처리 보고서를 작성하고 보고한다. 인터페이스 오류 처리 보고서는 인터페이스 오류 발생 시 상황 인지 및 조치 사항을 시간 경과에 따라 작성한다. 조직과 상황에 따른 보고서 양식을 사용한다. 인터페이스에 대한 오류 보고는 조치가 완료된 후에 보고하면 이미 시기가 늦은 경우가 많으므로 시기에 따 라 조직에서 정의한 프로세스에 의하여 보고한다.

     

    [연습문제]

    • 다음 중 인터페이스 구현 검증 도구가 아닌 것은?

      • xUnit 

      • STAF 

      • FitNesse 

      • eclipse 

     

    • 다음 중 인터페이스 구현 검증 도구인 xUnit에 대한 설명으로 잘못된 것은?

       

      • 이 프레임워크는 소프트웨어의 함수나 클래스 같은 서로 다른 구성 원소(단위)를 테스트 할 수 있게 해준다. 

         

      • xUnit 프레임워크의 주된 장점은 같은 테스트 코드를 여러 번 작성하지 않게 해주고, 그 결과가 어떠해야 하는지를 기억할 필요가 없게 하는 자동화된 해법을 제공 한다는 것이다. 

         

      • 이러한 프레임워크는 에릭 감마 (Erich Gamma) 가 고안한 것으로, SUnit이라는 이름으로 Smalltalk 에 처음 적용 되었다. 

         

      • 여기서부터 이 프레임워크는 다양한 언어에 포팅, 예를 들어 CppUnit(C++ 용), NUnit(.NET 용), 되었다. 이러한 것을은 xUnit 이라고 불리며 통상 무상의 오픈소스로 사용할 수 있다. 

     

     참고 문헌

    [논문]

    • 없음

    [보고서]

    • 없음

    [URL]

    • 없음

     

     문의사항

    [기상학/프로그래밍 언어]

    • sangho.lee.1990@gmail.com

    [해양학/천문학/빅데이터]

    • saimang0804@gmail.com

     

     

     

     

     

     

     

     

     

     

     

    본 블로그는 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기