[정처기 실기] 필수 암기 내용 정리 - 2 (웹, 애플리케이션 테스트)

2025. 7. 2. 19:09·자격증/정보처리기사

3. 웹


3.1 데이터 형식


구분  설명
XML
(eXtensible Markup
Language)
- 원활한 데이터의 연계를 위해 송수신 시스템 간 전송되는 데이터 구조를 동일한 형태로 정의
JSON
(JavaScript Object
Notation)
- 서버 통신(AJAX)을 위해 속성-값 쌍 또는 키-값 쌍으로 이루어진 개방형 표준 포맷
- 숫자, 문자열, 배열, 객체 등의 자료형을 지원
- 중괄호({})로 객체를, 대괄호([])로 배열을 표현하며, 속성명과 값은 큰 따옴표로 감싸야 한다

 

 

3.2 AJAX(Asynchronous JavaScript and XML) 비동기 통신 기법


  • 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지 일부만을 위한 데이터를 로드하는 기법
  • 하이퍼텍스트 표기 언어(HTML)만으로 어려운 다양한 작업을 웹 페이지에서 구현해 이용자가 웹 페이지와 자유롭게 상호작용할 수 있도록 하는 기술

 

 

3.3 웹 서비스 프로토콜


구분 설명
SOAP
(Simple Object Access Protocol)
- HTTP, HTTPS, SMTP 등을 사용하여 XML 기반의 데이터를 주고받는 프로토콜
- 메시지 통신에 사용
WSDL
(Web Services Description Language)
- 웹 서비스의 상세 정보를 XML 형식으로 기술하는 언어이자 형식
- 서비스명, 제공 위치(URL), 메시지 포맷, 사용 프로토콜 등을 정의
- 서비스 구조 및 호출 방법 정의
UDDI
(Universal Description, Discovery, and Integration)
- 웹 서비스의 정보를 등록하고 검색할 수 있는 XML 기반의 레지스트리 (저장소)
- 서비스 검색 및 인프라 관리

 

 

3.4 OSI 7계층과 프로토콜


🤔 OSI 7계층이란?

네트워크 통신을 7개의 계층으로 나누어 설명하는 개념적 프레임 워크이다.

각 계층은 특정한 기능을 수행하고, 상위 계층으로부터 서비스를 제공받고, 하위 계층으로부터 서비스를 제공한다.

 

구분 (응표세 전네 데물) 설명  관련 프로토콜
응용 계층
(Application Layer)
- 사용자와 네트워크 간 응용 서비스 연결
- 사용자가 직접 접하는 인터페이스를 제공
HTTP, FTP, SMTP, POP3,
IMAP, Telnet, SSH
표현 계층
(Presentation Layer)
- 데이터 형식을 변환하고 부호 교환 및 암호화/복호화 JPEG, GIF, MPEG, SSL, TLS
세션 계층
(Session Layer)
- 데이터 교환 및 통신 세션을 설정, 유지 및 해제
- 송수신 간 논리적 연결
NetBIOS, RPC, SQL, NFS
전송 계층
(Transport Layer)
- 송수신 프로세스간 연결
- 신뢰성 있는 데이터 전송을 보장
- 데이터 분할, 재조립, 흐름제어, 오류 제어, 혼잡 제어 등
TCP, UDP
네트워크 계층
(Network Layer)
- 단말기 간 데이터 전송을 위한 최적화된 경로 제공
- 다양한 네트워크 간 데이터를 라우팅하고 패킷 전단
IP, ICMP, ARP, OSPF, BGP
RARP, IGMP, 라우팅 프로토콜
데이터링크 계층
(DataLink Layer)
- 프레임 단위로 데이터를 전송하고 오류를 감지 및 수정
- 인접 시스템 간 데이터 전송 및 전송 오류 제어
- 동기화, 오류 제어, 흐름 제어, 회선 제어
Ethernet, PPP, HDLC,
Frame Relay
물리 계층
(Physical Layer)
- 데이터를 전기적 신호(0,1)로 변환하고 전송 매체를 통해 신호를 전송 Ethernet, Wi-Fi, Bluetooth,
DSL, Fiber

 

 

🤔 프로토콜(protocol)이란?

여러 컴퓨터 사이의 데이터 통신을 원활하게 하기 위한 통신규약이다.

프로토콜의 3요소 (구의타) 설명
구문
(Syntax)
- 시스템 간의 정보 전송을 위한 데이터 형식, 코딩, 신호 레벨 등을 규정
의미
(Semantic)
- 시스템 간의 정보 전송을 위한 제어 정보로 조정과 에러 처리를 위한 규정
타이밍
(Timing)
- 시스템 간의 정보 전송을 위한 속도 조절과 순서 관리 규정

 

 

네트워크 계층(3) 프로토콜 종류 설명
IP
(Internet Protocol)
- 송수신 간의 패킷 단위로 데이터를 교환하는 프로토콜
ARP
(Address Resolution Protocol)
- IP 네트워크 상에서 IP 주소를 MAC 주소(물리적 주소)로 변환하는 프로토콜
RARP
(Reverse Address
Resolution Protocol)
- IP 호스트가 자신의 MAC 주소를 알지만 IP 주소를 모르는 경우 사용
- 서버로부터 IP 주소를 요청하기 위해 사용하는 프로토콜
ICMP
(Internet Control
Message Protocol)
- IP 패킷 처리 중 오류나 상태 정보를 알려주기 위한 제어 메시지를 전달하는 프로토콜
IGMP
(Internet Group
Management Protocol)
- 호스트와 인접 라우터 간에 멀티캐스트 그룹 멤버십을 구성·관리하는 프로토콜
라우팅 프로토콜
(Routing Protocol)
- 데이터 전송을 위해 여러 경로 중 최적의 경로를 설정하는 프로토콜

 

 

 

3.5 URL 구조


구성 요소
설명
스키마
(Scheme)
- 자원에 접근하는데 사용될 프로토콜을 지정
- http, https, ftp 등
호스트
(Host)
- 자원이 위치한 서버의 도메인 이름 또는 IP 주소
포트
(Port)
- (선택 사항) 서버 내에서 자원에 접근할 특정 포트 번호를 지정
- 기본 포트(HTTP : 80, HTTPS : 443)인 경우 생략될 수 있음
경로
(Path)
- 서버 내 자원의 디렉토리 및 파일 이름 등 정확한 위치
쿼리 스트링
(Query String)
- (선택사항) 자원에 추가적으로 전달되는 매개변수
- `?`로 시작하며 이름=값 형태로  `&` 로 연결
프래그먼트
(Fragment)
- HTML 페이지 내 특정 섹션(앵커)를 나타냄
- 서버로 전송 되지 않고 브라우저 내부에서 사용

 

 

 

4.  애플리케이션 테스트


4.1 성능 지표


구분 설명
처리량
(Throughput)
-  애플리케이션이 주어진 시간에 처리할 수 있는 트랜잭션의 수
- 웹 애플리케이션의 경우 시간당 페이지 수로 표현
응답 시간
(Response Time)
- 사용자 입력이 끝난 후, 애플리케이션의 응답 출력이 개시될 때까지의 시간
- 애플리케이션의 경우 메뉴 클릭 시 해당 메뉴가 나타나기까지 걸리는 시간
경과 시간
(Turnaround Time)
- 애플리케이션에 사용자가 요구를 입력한 시점부터 트랜잭션 처리 후 그 결과의 출력이 완료될 때까지 걸리는 시간
자원 사용률
(Resource Usage)
-  애플리케이션이 트랜잭션을 처리하는 동안 사용하는 CPU 사용량 , 메모리 사용량, 네트워크 사용량

 

 

4.2 테스트 기본 원리


구분 설명
완벽한 테스트 불가능 어플리케이션 테스트는 소프트웨어의 잠재적인 테스트를 줄일 수는 있으나,
결함이 없다고 증명할 수는 없다
결함 집중
(Defect Clustering)
개발자의 특성이나 애플리케이션 기능적 특징 때문에 대부분의 결함은 모듈에 집중되어 있다
파레토 법칙
(Pareto Principle)
애플리케이션의 20%의 해당하는 코드에서 전체 결함의 80%가 발견된다
살충제 패러독스
(Pesticide Paradox)
동일한 테스트 케이스로 동일한 테스트를 반복하면 더이상 결함을 발견할 수 없다
테스팅은 정황 의존 소프트웨어 특징, 테스트 환경, 테스터 역량 등 정황(context)에 따라 테스트를 다르게 수행해야 한다
오류-부재의 궤변 결함 없는 프로그램이어도 사용자의 요구사항을 만족하지 못하면 좋은 프로그램이 될 수 없다
브룩스의 법칙
(Brook's law)
SW 개발 일정이 지연된다고 새로운 인력을 투입하면 일정이 더욱 지연된다

 

 

4.3 프로그램 실행 여부에 따른 테스트 분류


구분 설명
정적 테스트 - 소프트웨어를 실행하지 않고 구조를 분석
- 방식 : 리뷰나 정적 분석 도구를 사용
- 종류 : 워크스루, 인스펙션, 코드 검사 등
동적 테스트 - 소프트웨어를 실행하여 실제 동작을 확인하는 테스트
- 종류 : 화이트박스 테스트, 블랙 박스 테스트, 경험 기반 테스트 등

 

 

4.4 화이트박스 테스트


화이트 박스 테스트 커버리지

구분 설명
구문 커버리지 (문장)
(SC, Statement Coverage)
- 코드의 모든 줄이 실행되었는지 확인하는 테스트
- 목표: 프로그램 내 모든 문장(statement) 을 최소 1번은 실행
결정 커버리지 (분기)
(DC, Decision Coverage)
- 조건문의 결과(True/False) 를 각각 한 번 이상 테스트
- 목표: if/while 같은 조건문이 참, 거짓 모두 되도록 테스트
조건 커버리지
(CC, Condition Coverage)
- 복합 조건식 안에 있는 각각의 개별 조건이 True/False가 되도록 테스트
- 목표: AND/OR 조건 안의 각 조건을 따로따로 True/False 해보는 것
조건/결정 커버리지
(C/DC Condition Decisio
Coverage)
- 조건 커버리지 + 결정 커버리지를 합친 테스트
- 목표: 전체 조건식의 결과(True/False)와 각 조건도 True/False 테스트
변경 조건 / 결정 커버리지
(MC/DC, Modified Condition
Decision Coverage)
- 각 조건이 전체 결과에 영향을 미치는지 테스트
- 목표: 한 조건만 바꿨을 때 전체 조건 결과가 바뀌는지 확인
다중 조건 커버리지
(MCC, Multiple Condition
Coverage)
- 모든 조건 조합을 테스트
- 목표: 여러 조건들의 모든 True/False 조합을 테스트

 

 

 

4.5 블랙박스 테스트


구분 (동경 비오 원) 설명
동치 분할 검사
(Equivalence Partitioning Test)
- 입력 자료에 초점을 맞춰 테스트 케이스를 만들고 검사하는 방법
- 동등 분할 기법이라고도 한다
경계값 분석
(Boundary Value Analysis Test)
- 입력 조건의 경계값 (최소값, 최대값, 경계에 가까운 값)을 테스트케이스로 선정하여 테스트
비교 검사
(Comparison Testing)
- 여러 버전의 프로그램에 동일한 테스트 자료를 제공하여 동일한 결과가 출력되는지 테스트
오류 예측 검사
(Error Guessing Test) 
- 과거의 경험이나 테스터의 감각으로 테스트
원인-효과 그래프 검사
(Cause-Effect Graphing Test)
- 입력 데이터 간 관계와 출력에 영향을 미치는 상황을 분석하여 효용성 높은 테스트 케이스를 선정하여 검사

 

 

 

4.6 테스트 오라클


🤔 테스트 오라클(Test Oracle)이란?

테스트 결과가 올바른지 판단하기 위해 사전에 기대되는 참 결과 값을 정의하여 실제 결과와 비교하는 기법이다.

 

구분 설명
참 오라클
(True Oracle)
- 모든 테스트 케이스의 입력 값에 대해 기대하는 결과를 생성할 수 있는 오라클
- 발생된 모든 오류를 검출할 수 있다
샘플링 오라클
(Sampling Oracle)
- 특정한 몇 개의 입력값에 대해서만 기대하는 결과를 제공하는 오라클
추정 오라클
(Heuristic Oracle)
- 특정 테스트 케이스 입력값에 대해 기대하는 결과를 제공하고, 나머지는 추정하여 처리하는 오라클
- 샘플링 오라클을 개선한 것
일관성 오라클
(Consistent Oracle)
- 애플리케이션 변경 전후에 동일한 입력값을 넣었을 때 결과가 일관되게 동일한지 비교하는 오라클

 

 

4.7 개발 단계에 따른 애플리케이션 테스트


구분 (단통 시인) 설명
단위 테스트
(Unit Testing)
- 각 모듈이나 컴포넌트를 개별적으로 검증
- 주로 개발자가 수행하며, 코드의 품질을 높이고 조기 결함 발견에 유용
- 종류 : 정적 테스트, 동적 테스트
통합 테스트
(Integrition Testing)
- 여러 단위의 모듈을 결합하여 상호작용을 검증
- 하향식 통합 테스트 : 스텁(실제 하위 모듈의 기능을 대신하는 임시 모듈) 
- 상향식 통합 테스트 : 테스터 드라이버 (상위 모듈의 기능을 대신하는 임시 모듈로 데이터의 입출력을 확인하기 위함)
시스템 테스트
(System testing)
- 전체 시스템을 통합한 후 요구 사항에 따라 시스템이 동작하는지 검증
- 실제 운영 환경을 가정하여 사용자 관점에서 품질을 평가
- 종류 : 기능 테스트, 비기능 테스트
인수 테스트
(Acceptance Testing)
- 최종 사용자가 소프트웨어를 사용하여 요구사항이 충족 되었는지 확인
- 알파 테스트 :  개발자 앞에서 하는 테스트
- 베타 테스트 : 선정된 최종 사용자가 개발자가 없는 환경에서 테스트

 

 

4.8 테스트 케이스


🤔 테스트 케이스란?

테스트 케이스는 요구사항에 준수하는지를 확인하기 위해 개발된 입력값, 실행조건, 예상 결과의 집합이다.

테스트 케이스 항목: 테스트 조건, 테스트 데이터, 예상결과

 

 

4.9 목적에 따른 테스트 


구분 (회안성 구회병) 설명
회복 테스트
(Recovery Testing)
- 시스템에 고의로 실패를 유도하고, 시스템의 정상적 복귀 여부를 테스트
안전 테스트
(Security Testing)
- 소스 내 보안적인 결함을 미리 점검하는 테스트
성능 테스트
(Performance Testing)
- 응답 시간, 반응 속도, 처리량 등을 측정하는 테스트
구조 테스트
(Structure Testing)
- 시스템의 내부 논리 경로, 소스 코드의 복잡도를 테스트
회귀 테스트
(Regression Testing)
- 오류제거와 수정에 의해 새로 유입된 오류가 없는지 확인하는 일종의 반복 테스트 기법
병행 테스트
(Parallel Testing)
- 변경된 시스템과 기존 시스템에 동일한 데이터 입력 후 결과 비교

 

 

4.10 테스트 자동화 도구


구분 설명
xUnit -  Java(Junit), C++(Cppunit), .Net(Nunit) 등 다양한 언어를 지원하는 단위 테스트 프레임워크
STAF - 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크로 각 테스트 대상 분산 환경에 데몬을 사용해 테스트 대상 프로그램을 통해 테스트를 수행하고 통합해 자동화 하는 검증 도구
FitNess - 웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크
NTAF  - itNess의 협업 기능 + STAF의 재사용 및 확장성을 통합한 NHN(Naver)의 테스트 자동화 프레임워크
Selenium - 다양한 브라우저 및 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임워크
Watir - Ruby를 사용하는 애플리케이션 테스트 프레임워크

 

 

 

728x90
저작자표시 비영리 변경금지 (새창열림)
'자격증/정보처리기사' 카테고리의 다른 글
  • [정처기 실기 내용 정리] CHAP 2. 화면 설계
  • [정처기 실기 내용 정리] CHAP 1. 요구사항 분석
  • [정처기 실기] 4. 애플리케이션 테스트 파트 기출 문제 모음 및 정리
  • [정처기 실기] 3. 웹 파트 기출 문제 모음 및 정리
leonie.
leonie.
  • leonie.
    leveloper
    leonie.
  • 글쓰기 관리
    • 분류 전체보기
      • Language
        • Java
      • Git
      • CS
      • CodingTest
        • [프로그래머스] 자바
      • Information
      • Framework
        • SpringBoot
      • DBMS
        • Redis
        • SQL
      • AWS
      • OS
        • Mac
      • 자격증
        • 정보처리기사
      • 회고
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    알고리즘
    정보처리기사
    스프링
    자바
    Java
    정처기필기
    코딩테스트
    프로그래머스
    springboot
    정처기
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
leonie.
[정처기 실기] 필수 암기 내용 정리 - 2 (웹, 애플리케이션 테스트)
상단으로

티스토리툴바