반응형

출처: SOFTWARE TESTING AND QUALITY ASSURANCE Theory and Practice, KSHIRASAGAR NAIK, PRIYADARSHI TRIPATHY, 2008, 11 System Test Design, 335~345페이지

 

 

프레임 릴레이(FR)와 비동기 전송 모드(ATM)의 서비스 인터워킹 프로토콜을 예로 들어 요구사항을 분석하고 테스트스위트(계층 구조의 테스트 그룹)를 설계하는 샘플을 제시한다.
통신 프로토콜 테스팅 또는 연계(인터페이스) 테스팅의 테스트케이스 설계에 대한 아이디어를 얻을 수 있다. 

 


 

FR-ATM 서비스 인터워킹 프로토콜

프레임 릴레이 포럼(FRF)은 프레임 릴레이(FR)와 비동기 전송 모드(ATM)에 대해 네트워크 인터워킹서비스 인터워킹의 두 가지 인터워킹 시나리오를 정의한다. 이 두 가지 인터워킹 기능은 ATM FR이라는 두 가지 기술이 상호 운용될 수 있는 수단을 제공한다. 간단히 말해서 네트워크 인터워킹은 두 FR 장치(또는 엔터티) 간의 전송을 제공하고, 서비스 인터워킹은 ATM 사용자가 FR 사용자와 투명하게 연동할 수 있도록 한다(사용자가 상대방이 다른 기술을 사용하는 것을 인지하지 못함)

 

우리의 요구사항 중 하나가 스위치에서 FRF.8에 기술된 대로 서비스 인터워킹을 지원하는 것이라고 가정하자. 마케팅 관리자가 이 요구사항을 승인하면 소프트웨어 엔지니어링 책임자는 기능 명세(functional specification)를 개발한다. 테스트 그룹은 요구사항과 기능 명세를 기반으로 테스트 카테고리를 개발한다. 실제 기능 명세를 사용할 수 없으므로 단순화하여 아래와 같이 가정하였다. 

  • 용어 FrAtm은 FR-ATM 영구 가상 연결(PVC) 서비스 인터워킹 기능을 제공하는 소프트웨어 컴포넌트를 나타낸다.
  • FrAtm은 ATM 측에서 다양한 ATM 셀 기반 물리 인터페이스(OC3, E3, DS3, E1, DS1)를 지원한다.
  • FrAtm은 FR 측에서 다양한 프레임 기반 물리 인터페이스(V.11, V.35, DS1, E1, DS3, E3)를 지원한다.
  • FrAtm의 서브 컴포넌트는 LMI(Local Management Interface)와 DLCI(Data-Link Connection Identifier)이다.
  • FrAtm 소프트웨어 컴포넌트가 FR 스위치와 ATM 스위치에 구현된다. 즉, 동일한 스위치에서 FR 기능과 ATM 기능을 모두 사용할 수 있다.

 

 

서비스 인터워킹 기능 분석

테스트 카테고리 개발에 앞서 서비스 인터워킹 기능을 간략히 분석해보자.

그림 11.3 FR ATM 간의 서비스 인터워킹을 보여준다. B-CPE(브로드밴드 고객 전용 장비)는 원격 장치가 FR 네트워크에 연결되어 있다는 사실을 알지 못한다. FR 사용자가 FR 네트워크를 통해 PVC 트래픽을 IWF(Interworking Function)로 보내면, 이를 ATM PVC에 매핑한다. FR PVC 주소와 ATM PVC 주소의 매핑 및 기타 옵션은 IWF와 연결된 네트워크 관리 시스템이 설정한다. IWF는 그림에서와 같이 네트워크로 확장될 수도 있지만 ATM 네트워크 스위치나 FR 스위치에 통합될 가능성이 더 크다. 서비스 인터네트워킹의 경우 FR PVC 당 항상 하나의 ATM PVC가 있다는 점에 유의한다. IWF는 그림 11.3에 묘사된 프로토콜 스택 모델을 사용하여 설명할 수 있다. 이 프로토콜 스택은 IWF를 설명하기 위해 "(null)" SSCS(service-specific convergence sublayer)를 사용한다. SSCS IWF 내의 한쪽의 Q.922 DL 코어와 다른 쪽의 AAL5 CPCS에 표준 프리미티브를 사용하는 인터페이스를 제공한다. 그림 11.4 FR에서 ATM 셀로의 변환을 보여준다.

 

그림 11.3 FR ATM 서비스 간의 서비스 인터워킹

 

그림 11.4 FR에서 ATM 셀로의 변환

 

프레임 포맷팅 및 구획화(Frame Formatting and Delimiting)

  • FR에서 ATM으로: FR 프레임이 AAL5 PDU로 매핑된다(프레임 플래그, 삽입된 제로 비트, CRC-16을 제거). Q922 프레임 헤더가 제거되고 헤더의 일부 필드가 ATM 셀 헤더 필드로 매핑된다.
  • ATM에서 FR로: AAL5가 제공하는 메시지 도해(message delineation)를 사용하여 프레임 경계를 식별하고, 제로 비트, CRC-16, 플래그를 삽입한다. ATM AAL5 PDU의 프로토콜 필드 및 기능이 FR 프레임의 프로토콜 필드 및 기능으로 변환된다.

 

폐기 자격 및 셀 손실 우선 순위 매핑(Discard Eligibility and Cell Loss Priority Mapping)

  • FR에서 ATM으로: 가입 시 PVC별로 모드 1 또는 모드 2를 선택할 수 있다(디폴트는 모드 1 오퍼레이션).
    - 모드 1: Q.922 코어 프레임의 폐기 자격(DE) 필드는 해당 프레임의 정보를 포함하는 AAL5 PDU의 세그멘테이션 프로세스가 생성한 모든 셀의 ATM CLP 필드에 매핑되어야 한다.
    - 모드 2: 해당 프레임의 정보를 포함하는 AAL5 PDU의 세그멘테이션 프로세스가 생성한 모든 셀의 ATM CLP가 서비스 가입 시에 구성된 상수 값(0 또는 1)으로 설정되어야 한다.
  • ATM에서 FR로: 가입 시 PVC별로 모드 1 또는 2를 선택할 수 있다(디폴트는 모드 1).
    - 모드 1: 프레임의 하나 이상의 셀에 CLP 필드가 설정되어 있으면 IWF는 Q.922 코어 프레임의 DE 필드를 설정해야 한다.
    - 모드 2: Q.922 코어 프레임의 DE 필드는 서비스 가입 시에 구성된 상수 값(0 또는 1)으로 설정되어야 한다.

 

포워드 혼잡 표시 매핑(Forward Congestion Indication Mapping)

  • FR에서 ATM으로: 가입 시 PVC별로 모드 1 또는 2를 선택할 수 있다(디폴트는 모드 1).
    - 모드 1: Q.922 코어 프레임의 FECN(Forward Explicit Congestion Notification) 필드는 해당 프레임의 정보를 포함하는 AAL5 PDU의 세그먼트 프로세스가 생성한 모든 셀의 ATM EFCI(Explicit Forward Congestion Indication) 필드로 매핑되어야 한다.
    - 모드 2: Q.922 코어 프레임의 FECN 필드가 해당 프레임 정보를 포함하는 AAL5 PDU의 세그먼트 프로세스가 생성한 셀의 ATM EFCI 필드로 매핑되지 않는다. EFCI 필드는 항상 "혼잡 없음(congestion not experienced)"으로 설정된다.
  • ATM에서 FR로: 수신된 세그먼트 프레임의 마지막 셀에 있는 EFCI 필드가 "congestion experienced"인 경우라면 IWF는 FECN 코어 프레임을 "congestion experienced"로 설정한다.

 

백워드 혼잡 표시 매핑(Backward Congestion Indication Mapping)

  • FR에서 ATM으로: BECN(Backward Explicit Congestion Notification)을 무시한다.
  • ATM에서 FR로: Q.922 코어 프레임의 BECN이 0으로 설정된다.

 

명령/응답 필드 매핑(Command/Response Field Mapping)

  • FR에서 ATM으로: Q.922 코어 프레임의 C/R 비트는 CPCS PDU의 CPCS_UU(Common part convergence sublayer user-to-user) 필드의 최하위 비트에 매핑된다.
  • ATM에서 FR로: CPCS PDU의 CPCS_UU 필드에서 최하위 비트는 Q.922 코어 프레임의 C/R 비트에 매핑된다.

 

DLCI 필드 매핑(DLCI Field Mapping)

Q.922 DLCI ATM 셀의 VPI/VCI(Virtual Path Identifier/Virtual Circuit Identifier) 필드 사이에 일대일 매핑이 있다. 이 매핑은 PVC가 수립될 때 정의되며, 이 연계가 임의적이거나 또는 체계적일 수 있다.

 

트래픽 관리(Traffic Management)

프레임 릴레이 QoS 패러미터(CIR, Bc, Be)가 표 11.5에 제시된 메쏘드 1을 사용하여 ATM QoS 패러미터(PCR, SCR, MBS)로 매핑된다. 메쏘드 1ATM Forum B-ICI (BISDN-Inter Carrier Interface) 명세의 일대일 매핑이다.

 

PVC 매핑(PVC Mapping)

  • FR에서 ATM으로: FR PVC가 활성에서 비활성으로 상태를 변경한다는 통지를 받으면 IWF는 상응하는 ATM PVC에 AIS(알람 표시 신호) F5 OAM(Operation, Administration, and Management) 셀을 보내기 시작한다. AIS F5 OAM 셀은 PVC 상태가 비활성에서 활성으로 변경될 때까지 초당 한 번씩 전송된다.
  • ATM에서 FR로: ATM PVC가 활성에서 비활성으로 상태를 변경한다는 통지를 받으면 IWF는 FR PVC 상태 비트를 비활성으로 설정한다. 주의: ATM PVC가 비활성화 상태로 간주되는 경우는 (i) AIS 또는 RDI(Remote Defect Indication) OAM 셀을 수신하거나, (ii) ILMI MIB 변수 atmVccOperStatus가 localDown 또는 end2endDown이거나, 또는 (iii) ATM 인터페이스가 다운일 때이다. ATM은 RDI 셀을 전송함으로써 수신된 AIS 셀에 응답한다.

 

상위 계층 사용자 프로토콜 캡슐화(Upper Layer User Protocol Encapsulation)

네트워크 제공자는 상위 프로토콜 캡슐화와 관련하여 상호 운용 가능한 FR 및 ATM PVC의 각 쌍에 대해 다음 두 가지 작동 모드 중 하나를 구성할 수 있다.

  • 모드 1 투명 모드(transparent mode): 상위 계층 캡슐화 방법이 ATM과 FR 표준 간에 매핑되지 않는다.
  • 모드 2 변환 모드(translation mode): FR PVC 및 ATM PVC 상에서 여러 상위 계층 사용자 프로토콜(예: LAN에서 LAN으로)을 전달하는 캡슐화 방법은 각각 RFC 1490 표준과 RFC 1483 표준을 따른다. IWF는 두 방법의 비호환성으로 인해 두 캡슐화 간의 매핑을 수행해야 한다. 이 모드는 인터워킹(라우팅 또는 브리지) 프로토콜의 인터워킹을 지원한다.

 

단편화 및 재조립(Fragmentation and Reassembly)

  • FR에서 ATM으로: IWF가 FR PVC에서 단편화된 패킷을 수신하면 재조립을 수행하여 조립된 프레임을 ATM PVC로 전달(포워딩) 한다.
  • ATM에서 FR로: CPCS PDU가 FR PVC에서 지원되는 최대 프레임 크기보다 큰 경우 FR PVC로 전달하기 전에 수신된 CPCS PDU에 대해 단편화를 수행해야 한다.

 

반응형

 

FR–ATM PVC 서비스인터워킹 테스트 카테고리

FR-ATM PVC 서비스 인터워킹의 테스트 요구사항을 (i) 기능, (ii) 견고성, (iii) 성능, (iv) 스트레스, (v) 부하 및 안정성, (vi) 회귀의 6가지 테스트 그룹으로 나눈다. 그림 11.5는 이 테스트 카테고리(또는 테스트스위트)의 전체 구조를 보여준다.

그림 11.5 FrAtm 테스트스위트 구조

 

기능 테스트(Functionality Tests)

기능 테스트는 FRF.8 문서에 지정된 모든 요구사항에 대해 FrAtm 소프트웨어를 최대한 철저하게 검증하도록 설계한다. 이 카테고리는 6개의 기능 서브그룹으로 더 세분화된다. 식별된 각 기능 서브그룹에서 해당 기능을 적절하게 실행하기 위한 테스트 목표를 수립한다. 각 서브그룹의 테스트 목표는 유효한 값(valid values)을 커버하도록 설계한다. FrAtm의 다음 주요 기능들을 반드시 적절하게 테스트해야 한다.

 

1. 구성 및 모니터링 테스트(Configuration and Monitoring Tests): 이 테스트는 CLI 커맨드를 사용하여 FrAtm 컴포넌트의 모든 구성가능 속성(configurable attributes)을 확인하도록 설계한다. 이 구성가능 속성은 구현에 따라 다르며 기능 명세서에 정의되어야 한다. 구성 테스트는 CLI를 사용하여 FrAtm을 구성하는 것을 확인한다. 모니터링 테스트는 CLI를 사용하여 FrAtm의 상태 및 기능을 확인 가능한지 테스트한다. 통계 카운터(Statistics counters)는 알려진 양의 트래픽을 사용하여 그 정확성을 확인한다.

 

2. 트래픽 관리 테스트(Traffic Management Tests): 이 테스트는 ATM 트래픽 패러미터(PCR0+1, SC0+1, MBS)FR 속도 집행 패러미터(CIR, Bc, Be) 간의 매핑을 확인하도록 설계한다. 이러한 패러미터 간의 매핑은 엔지니어링 고려 사항이며 수용 가능한 손실 확률과 네트워크 비용 간의 균형에 크게 좌우된다.

 

3. 혼잡 테스트(Congestion Tests): FrAtm 혼잡 제어 메커니즘(congestion control mechanism)을 확인하기 위한 다양한 테스트를 설계한다. 각 테스트의 테스트 목표는 다음과 같다.

  • 커밋된 버스트에 대한 장기 최대 속도가 CIR인지 확인한다.
  • 초과 버스트에 대한 장기 최대 속도가 EIR인지 확인한다.
  • DE = 0 및 DE = 1 프레임이 각각 커밋된 버스트 및 초과 버스트로 계산되는지 확인한다.
  • FrAtm이 FR 사용자에게 로컬 혼잡 신호를 보내기 위해 FrAtm의 BECN 비트를 설정하는지 확인한다.

 

4. 서비스 인터워킹 기능 변환 모드 매핑 테스트(Service Interworking Function Translation Mode Mapping Tests): 이 테스트는 아래 목적을 가지고 FR에서 ATM으로 또는 그 반대로 SIWF 변환 모드 매핑을 확인하기 위해 설계한다. 

  • FR에서 ATM으로의 프레임에 대해 IWF가 RFC 1490 캡슐화를 RFC 1483 캡슐화 헤더로 대체하는지 확인한다.
  • ATM에서 FR로의 프레임에 대해 IWF가 RFC 1483 캡슐화를 RFC 1490 캡슐화 헤더로 대체하는지 확인한다.
  • FR-to-ATM 방향에서 EFCI 속성이 "보존(preserve)"으로 설정된 경우 주어진 프레임의 FECN 비트가 프레임을 구성하는 모든 셀의 EFCI 비트에 직접 매핑되는지 확인한다. 그렇지 않은 경우는 생성된 모든 셀의 EFCI 비트가 0으로 설정된다.
  • ATM-to-FR 방향에서 주어진 프레임을 구성하는 마지막 셀의 EFCI 비트가 해당 프레임의 FECN 비트에 직접 매핑되는지 확인한다.
  • FR-to-ATM 방향에서 주어진 프레임의 DE 비트가 해당 프레임을 구성하는 모든 셀의 CLP 비트에 직접 매핑되는지 확인한다.
  • ATM-to-FR 방향에서 CLP-to-DE 매핑이 "보존", "항상 0", "항상 1"으로 구성될 수 있는지 확인한다.
  • FR에서 ATM으로 방향에서 FR 프레임의 명령/응답(C/R) 비트가 AAL5 캡슐화의 CPCS에서 UU 데이터의 최하위 비트에 직접 매핑되는지 확인한다.
  • ATM-to-FR 방향에서 CPCS에 있는 UU 데이터의 최하위 비트가 FR 프레임의 C/R 비트에 직접 매핑되는지 확인한다.
  • FR-to-ATM 방향에서 FR PVC가 활성(active)에서 비활성(inactive)으로 상태를 변경할 때 IWF가 ATM PVC에 AIS F5 OAM 셀을 보내는지 확인한다. 또한 PVC 상태가 비활성에서 활성으로 변경될 때까지 OAM 셀을 초 당 1회씩 전송하는지 확인한다.
  • ATM-to-FR 방향에서 ATM PVC가 활성에서 비활성으로 상태를 변경할 때 IWF가 FR PVC 상태 비트를 비활성으로 설정하는지 확인한다. 수신된 AIS 셀에 상응하는 RDI 셀이 전송되는지 확인한다.
  • FR-to-ATM 방향에서 IWF가 FR PVC에서 수신된 단편화된 패킷을 재조립하고 이를 ATM PVC로 전달(포워딩)하는지 확인한다.
  • ATM-to-FR 방향에서 IWF가 수신된 CPCS PDU에서 ID 단편화를 수행한 후에 이를 FR PVC로 전달하는지 확인한다. CPCS PDU 크기가 FR PVC에서 지원하는 최대 프레임 크기보다 더 큰지 확인한다.

 

5. 알람 테스트(Alarm Tests): 테스트는 FR-ATM 서비스를 위한 다양한 알람이 생성되는지 확인하도록 설계한다. 각 테스트의 테스트 목표는 다음과 같다.

  • FrAtm이 개별 DLCI에 대해 PVC별로 적절한 알람을 생성하는지 확인한다.
  • 작동 상태가 변경될 때 FrAtm이 상태 변경 알림(SCN) 알람을 생성하는지 확인한다. 상태 변경은 링크가 올라가거나 내려갈 때 발생할 수 있다. 또한 상태 변경은 FrAtm을 잠그거나 잠금해제함으로써 발생할 수 있다.
  • FrAtm이 예기치 않은 메시지 수신을 나타내는 알람을 생성하는지 확인한다.
  • 서비스 생성을 위한 또는 DLCI와 같은 서브컴포넌트 생성을 위한 스토리지 할당에 실패한 것을 나타내는 알람이 생성되는지 확인한다.

 

6. 인터페이스 테스트(Interface Tests): FrAtm FR 측에서 V.11, V35, DS1, E1, DS3, E3 인터페이스를 지원하고, ATM 측에서 OC3, E3, DS3 인터페이스를 지원하는지 확인한다.

 

 

견고성 테스트(Robustness Tests)

이 테스트는 에러 상황에 대해 FrAtm 구현의 견고함을 확인한다.

FrAtm 테스트: (i) FrAtm 소프트웨어 컴포넌트가 크래시 없이 연속적인 잠금/잠금해제를 처리할 수 있는지, (ii) DLCI 소프트웨어 컴포넌트가 높은 비율로 생성된 다수의 잠금/잠금해제 커맨드를 처리할 수 있는지, (iii) DLCI 소프트웨어 컴포넌트가 트래픽이 크래시 없이 스위치를 통과하는 동안 잠금/잠금해제를 처리할 수 있는지 확인한다.

경계 값 테스트(Boundary Value Tests): FrAtm이 구성가능 속성의 부분 집합에 대해 경계 값 및 유효 경계를 벗어나는 상/하위 값을 처리하는지 확인한다. 예를 들어, 구성 가능한 DLCI의 최대 개수가 1024개라면 1025개의 DLCI 서브컴포넌트 구성을 시도하고 1025번째 DLCI 서브컴포넌트는 생성되지 않는 것을 확인한다.

 

 

성능 테스트(Performance Tests)

이 테스트는 FR 측과 ATM 측 모두에서 여러 다른 인터페이스를 거치는 동안 데이터 지연(delay) 및 처리량(throughput)을 측정하도록 설계한다. 프레임 크기 64, 128, 256, 512, 1024, 2048, 4096바이트에 대해 전체 범위의 ATM 인터페이스 카드와 FR 인터페이스 카드에서 지연과 처리량을 측정하는 테스트를 수행한다.

 

 

스트레스 테스트(Stress Tests)

이 테스트는 다양한 유형의 부하 프로파일(load profiles)에서 FR-ATM 서비스의 동작을 관찰하고 캡처하도록 설계한다. 각 테스트의 테스트 목표가 다음과 같다.

  • FrAtm이 잠금/잠금해제 활동 및 데이터 전송 활동을 진행하며 48시간 이상 스트레스를 받았을 때 이상 없이 작동하는지 확인한다.
  • 하나의 FR 카드를 사용하는 FR 측에 최대 수의 DLCI가 구성되고 최대 수의 ATM VCC(Virtual Channel Connection)가 구성된 경우 FrAtm이 이상 없이 작동하는지 확인한다.

 

 

부하 및 안정성 테스트(Load and Stability Tests)

이 테스트는 실제 데이터 트래픽을 전송함으로써 실제 고객 구성(real customer configuration)을 시뮬레이션하도록 설계한다. 이 테스트를 위해 실험실에 고객 환경을 설정하는 것이 어렵고 비용이 많이 드는 일이다. 이러한 테스트의 한 예가 FR-ATM PVC 서비스 인터워킹 기능을 사용하여 사용자 파일이 FR 네트워크에서 ATM 네트워크로 올바르게 전송될 수 있는지 확인하는 것이다.

 

 

회귀 테스트(Regression Tests)

새로운 테스트 케이스는 설계하지 않고, 앞서 설명된 테스트 그룹에서 테스트를 선택한다. 각 서브 그룹의 테스트케이스를 일부(subset) 선택하여 회귀 테스트를 수행한다. 또한 이전에 지원되던 기능이 새로운 소프트웨어 컴포넌트 FrAtm에서도 작동하는지 확인하기 위해 반드시 FR ATM의 테스트 케이스를 선택하고 실행해야 한다.

 

반응형

+ Recent posts