Skip to content
난이도 문제은행 3

인터페이스 보안과 구현 검증 2 ​

인터페이스에 보안 기능을 넣었다면, 다음은 인터페이스가 요구대로 동작하는지 검증할 차례다. 이 검증은 사람이 손으로 반복하기 어려워 테스트 자동화 도구를 쓴다. 실기 시험은 설명을 주고 도구 이름(xUnit·STAF·FitNesse·NTAF·Selenium·watir)을 쓰게 한다.

인터페이스 구현 검증 도구 ​

인터페이스가 제대로 동작하는지 보려면 단위 기능과 시나리오를 바탕으로 통합 테스트를 해야 하고, 이를 자동화하는 도구를 쓴다.

도구역할
xUnit여러 언어용 단위 테스트 프레임워크 묶음
STAF분산·크로스 플랫폼(cross-platform) 테스트 환경 지원
FitNesse위키 기반 테스트 작성·실행
NTAFFitNesse와 STAF 장점 결합
Selenium여러 브라우저·언어로 웹 테스트
watirRuby로 쓰는 웹 테스트 프레임워크

xUnit은 켄트 벡(Kent Beck)이 초기 객체지향 언어인 Smalltalk용으로 만든 SUnit에서 시작해, Java용 JUnit, C++용 CppUnit, .NET용 NUnit으로 퍼진 테스트 프레임워크 계열의 이름이다. 테스트마다 준비·실행·결과 비교 코드를 새로 짜지 않도록 공통 구조를 주고, 기대값과 실제값을 자동으로 비교해 준다. STAF(Software Testing Automation Framework, 소프트웨어 테스트 자동화 프레임워크)는 IBM이 만든 도구로, 분산 환경의 각 컴퓨터에 설치한 데몬(daemon)이 테스트 요청에 응답해 크로스 플랫폼 테스트 환경을 만든다. 프로세스 실행·로그·자원 관리 같은 기능을 재사용할 수 있는 서비스 부품으로 제공하는 것이 특징이다. FitNesse는 위키 페이지에 표로 테스트를 적고 그 페이지를 바로 테스트로 실행하는 인수 테스트(acceptance test) 프레임워크다. 위키라서 여러 사람이 같은 테스트 문서를 함께 고칠 수 있다. NTAF는 공개 자료가 거의 없는 도구로, 시험에서는 FitNesse의 협업 기능과 STAF의 재사용·확장성을 합친 테스트 자동화 프레임워크로 설명한다. Selenium은 브라우저를 자동으로 조작해 웹 애플리케이션을 시험하며 Java·Python 등 여러 언어로 테스트를 쓸 수 있고, watir(Web Application Testing in Ruby, 루비 기반 웹 애플리케이션 테스트)는 같은 일을 Ruby 라이브러리로 한다.

시험 포인트 ​

  • "SUnit에서 시작한 단위 테스트 프레임워크" → xUnit. "분산 환경에 데몬을 설치해 테스트" → STAF.
  • "웹(위키) 기반 테스트 케이스(test case) 설계·실행" → FitNesse. "FitNesse와 STAF의 장점을 합침" → NTAF.
  • "여러 브라우저의 웹 테스트" → Selenium. "Ruby 기반 웹 테스트" → watir.

관련 문서