반응형

제목: 소프트웨어 컴포넌트와 컴포넌트 기반 소프트웨어 시스템의 검증 및 확인(Verification and Validation of Software Components and Component Based Software Systems)

저자: Christina Wallin, 스웨덴

문서유형: 기술보고서( 9페이지), 2002

 

컴포넌트 소프트웨어의 V&V 활동을 컴포넌트 생산자와 소비자 관점에서 기술한 자료



컴포넌트 기반 소프트웨어의 검증 및 확인(Verification & Validation: V&V)

  • 전통적인 고객 주문 소프트웨어(custom software) 개발 활동에서는 고객의 특정한 요구사항을 충족시키기 위하여 고객과 긴밀한 협업을 통한 V&V 수행이 가능하지만 소프트웨어 컴포넌트(또는 컴포넌트 기반 소프트웨어 시스템) 개발에서는 V&V가 좀 더 복잡해짐
  • 전통적인 V&V 기법이 컴포넌트 기반 소프트웨어 개발에도 유효하지만, 작업이 컴포넌트 개발(생산)인지 아니면 컴포넌트 사용(소비)인지에 따라 초점이 달라진다.


1. 컴포넌트 생산자 관점에서의 V&V

  • 컴포넌트 시장에 출시할 재사용가능한 소프트웨어 컴포넌트를 생산하는 일은 더 엄격한 V&V를 요구함. 컴포넌트가 (개발에서는 미처 생각하지 못한) 다양한 상황과 구성(configurations)에서 사용될 수 있으므로 고객 맞춤 소프트웨어(custom software) 개발에서 보다 더 많은 노력이 컴포넌트 명세 및 검증에 투자됨
  • 컴포넌트 소프트웨어 개발 활동은 고객 맞춤 소프트웨어 개발 활동과 크게 다르지 않다. , 요구사항이 분석되고, 기능과 품질이 명세되고, 아키텍쳐와 상세 설계가 명세되고, 문서 및 모델 인스펙션을 통해 명세가 검증되고, 코드 작성과 코드 인스펙션이 수행되고, 코드가 설계에 일치하는지 검증하기 위해 화이트박스 테스팅이 수행되고, 컴포넌트의 기능(functionality)과 품질(quality)이 상응하는 명세에 일치하는지 검증하기 위해 블랙박스 테스트가 수행된다. 최종적으로 컴포넌트가 인증되고(certified), 인증서와 외부에서 필요로 하는 명세서가 컴포넌트와 함께 전개된다(deployed).


2. 컴포넌트 소비자 관점에서의 V&V

  • 기성품(Off The Shelf: OTS) 컴포넌트는 소비자에게 블랙박스로 전달됨(, 소스 코드로 디컴파일을 금지하는 라이센스를 가진 실행 파일이 주어짐). 이 경우 소스 코드가 가용하지 않으므로 전통적인 디버깅 기법에 의한 결함 발견/수정이나 화이트박스 테스팅을 통한 검증이 불가능. 대신 컴포넌트 동작을 관측(observation)하고 이 관측에 기반하여 결론을 내린다.
  • 소스 코드가 가용하지 않을 때 가시성을(visibility) 얻기 위한 다른 방법의 사용이 필요함. OTS-컴포넌트의 가시성을 위한 기법으로 probing(개별 컴포넌트의 상태를 관측), snooping(실행 중 컴포넌트 간의 통신을 관측), spoofing(컴포넌트 사이에 observer를 두어 컴포넌트 간의 통신을 관측), 정적 프로그램 분석(static program analysis)이 사용된다.
  • OTS-컴포넌트가 컴포넌트 인증서와 함께 전달되지 않으면(또는 인증서가 신뢰할만하지 않으면) 컴포넌트의 평가와 선택에 있어 유용한 정보를 얻기 위해 여러 블랙박스 테스트를 수행할 필요가 있을 수 있다. OTS-컴포넌트 사용에 관한 품질 문제는 단순히 컴포넌트 각각의 품질 문제만이 아니라 컴포넌트 통합 호환성(component integration compatibility)의 문제로 봐야 함
  • 선정된 컴포넌트를 시스템으로 통합하기 위하여 일부 코드를 작성하고, 이 코드가 시스템의 아키텍쳐와 상세 설계에 일치하는지 검증하기 위한 인스펙션과 화이트박스 테스팅을 수행할 필요가 있을 수 있다.


컴포넌트 소프트웨어 인증(certification)

  • 상용 컴포넌트는 다양한 V&V 활동을 통해 결함을 발견하고 적절한 개발 프로세스를 통해 결함을 예방하는데 그치지 않고 그 기능과 품질이 인증되어야만 한다(, 소비자가 신뢰할 수 있는 방식으로 증명됨).
  • Voas가 제안한 OTS 컴포넌트 인증 프로세스는 3 V&V 기법의 조합을 통해 OTS-컴포넌트 사용(usage)을 인증한다. 1) 시스템 운영 프로파일(operational profile)에 기반한 블랙박스 테스팅, 2) 시스템 레벨 결함 삽입(system-level fault injection), 3) 운용 테스팅(operational testing)
  • 먼저 원하는 기능(functionality)을 가진 컴포넌트가 선택되면 이 컴포넌트의 품질을 검증하기 위한 블랙박스 테스팅이 수행된다. 해당 컴포넌트가 시스템으로 통합되면 컴포넌트 실패로 인한 통합된 시스템의 동작을 확인하기 위해 시스템 레벨 결함 삽입을 수행한다. 최종적으로 해당 컴포넌트(그리고 시스템 전체가)가 정상 시스템 운영 동안에 정확하게 동작하는지를 확인하기 위한 운용 테스팅을 수행한다.


반응형

+ Recent posts