반응형

출처: Software Testing: Testing Across the Entire Software Development Life Cycle, by G. D. Everett and R. McLeod, Jr., 2007

8Structural (Non-functional) Testing, 123페이지

 

 

8.2 인터페이스 테스트(INTERFACE TESTING)

인터페이스 테스팅은 테스트 중인 애플리케이션과 다른 소프트웨어 플랫폼 컴포넌트 간에 전송되는 데이터에 중점을 둔다. 테스트가 필요한 데이터 전송 메커니즘(data transfer mechanisms)의 예로는 데이터 파일, API, 데이터베이스 요청(requests), 네트워크 데이터 전송이 있다. 인터페이스 테스팅을 개발하는 데 유용한 방법 중 하나는 다음 4단계 접근 방식을 고려하는 것이다. 

 

    먼저, 애플리케이션이 전송할 데이터를 생성하지만 전송 자체는 금지되도록 하는 테스트를 작성한다. 이를 통해 테스터는 애플리케이션이 수신 소프트웨어 플랫폼 컴포넌트에서 사용할 수 있는 올바른 포맷의 올바른 데이터를 생성하고 있는지 확인할 수 있다.

 

    둘째, 데이터 전송을 막고 있던 억제제를 제거하고 수신 소프트웨어 플랫폼 컴포넌트가 애플리케이션에서 들어오는 데이터를 올바르게 처리하는지 관찰한다. 이를 통해 테스터는 소프트웨어 플랫폼이 이미 검증된 애플리케이션 데이터를 올바르게 처리하고 있는지 검증할 수 있다. 이 데이터 전송에서 문제가 발견되면 벤더의 인터페이스 컴포넌트나 그 데이터 사양에 문제가 있음을 특정한 것이다.

 

    셋째, 애플리케이션이 다른 소프트웨어 플랫폼 컴포넌트의 데이터를 요청하도록 하는 테스트를 작성하지만, 관련 소프트웨어 플랫폼에서 들어온 "라이브" 데이터 대신 수동으로 요청 데이터를 대체한다. 이 기법을 입력 "스터빙(stubbing)"이라고 한다. 수동 데이터는 소프트웨어 플랫폼 컴포넌트 벤더의 인터페이스 사양을 사용하여 생성 및 검증한다. 이를 통해 테스터는 애플리케이션이 소프트웨어 플랫폼의 데이터를 올바르게 받아들이고 있는지 확인할 수 있다.

 

    넷째, 애플리케이션을 소프트웨어 플랫폼 컴포넌트에 연결하고 "라이브" 데이터 피드를 통해 데이터 요청을 다시 실행한다. 이를 통해 테스터는 소프트웨어 플랫폼이 데이터 사양에 따라 데이터를 생성하고 있는지 확인할 수 있다. 이러한 데이터에서 문제가 발견되면 벤더의 인터페이스 컴포넌트(광고된 대로 작동하지 않음) 또는 그 데이터 사양에 문제가 있음을 집어낼 수 있다.

 

다음은 이 네 단계를 그림으로 나타낸 것이다.

1: 테스트 중인 애플리케이션데이터(검증)

2: 테스트 중인 애플리케이션데이터지원 플랫폼(검증)

3: 테스트 중인 애플리케이션(검증) ← 데이터수동 대체

4: 테스트 중인 애플리케이션데이터(검증) ← 지원 플랫폼

 

 

반응형

+ Recent posts