3정처기 - SW 개발 과목

ssssm·2026년 4월 17일

테스트

테스트 커버리지

구문 커버리지 : 구문에 대해 한번 이상 수행
조건 커버리지 : 개별 조건식 / x > 0
결정 커버리지 === 분기 : 결정 포인트 내의 모든 분기문에 대해 수행 / if(x > 0 && y < 15)
조건/결정 커버리지 : 개별 조건식과 결정 포인트 모두 T/F가 나와야 함
변경 조건/결정 커버리지 : 개별 조건식이 결정 전체 결과에 영향을 주는지 확인
다중 조건 커버리지 : 모든 가능한 조합 100 만족

블랙박스 테스트 기법

화이트박스 테스트 : 소스코드 (개발자 위주 테스트)
블랙박스 테스트 : 기능 (사용자 위주 테스트)

  1. 동등 분할 기법(Equivalance Partitioning Testing) : 입력 데이터를 여러 구간으로 나누고, 각 구간의 대표값으로 테스트 케이스 구성하여 검사
  2. 경계값 분석 기법(Boundary Value Analysis) : 경계값 중심으로 테스트 진행
  3. 원인-효과 그래프 검사(Cause-Effect Graphing Test) : 입력 데이터가 출력값에 미치는 영향을 분석해서 가장 효율적인 케이스 선정
  4. 오류 예측 검사(Error Guessing) : 테스터의 직관으로 오류를 찾아내는 기법
  5. 비교 검사(Comparison Testing) : 여러 프로그램으로 돌려서 동일한 결과가 나오는지 테스트
  6. 상태 전이 검사(State Transition Testing) : 다른 상태로 전이되는 경우의 수를 모두 테스트

테스트 레벨

소프트웨어 개발 과정에서 테스트가 수행되는 단계

통합 테스트
상향식 : 드라이버
하향식 : 스텁

인수 테스트
알파 : 개발자
베타 : 사용자

테스트 케이스 구성요소

  1. 식별자 ID
  2. 테스트 항목
  3. 테스트 조건
  4. 테스트 데이터
  5. 예상 결과

인터페이스

인터페이스 보안

EAI

기업내 다양한 애플리케이션을 통합

  • Point-to-Point
    미들웨어 없이 직접 애플리케이션끼리 연결
  • Hub & Spoke
    중앙 허브를 통해 중앙 집중적으로 연결 (데이터 전송 보장 / 확장 용이)
  • Message Bus
    미들웨어를 사용해 애플리케이션 간 메세지 전달하는 방식 (확장성 / 대용량 처리 가능)
  • Hybrid
    내부 - Hub & Spoke / 외부 - Message Bus

인터페이스 통신 기술 4가지

클라이언트와 서버가 데이터를 주고받기 위해 사용하는 다양한 통신 기술

AJAX

  • XMLHttpRequest 객체를 사용하여 서버에 요청보내고 응답 받음
  • 페이지 새로고침 없이 백그라운드에서 서버와 데이터를 비동기적으로 교환하여 동적으로 화면 갱신

Fetch API

  • XMLHttpRequest 객체를 대체하는 현대 브라우저 내장 API
  • Promise 기반으로 설계되어 코드 가독성이 높음
  • 현재 웹 표준으로 자리잡아 AJAX보다 더 많이 사용

WebSockets

  • 클라이언트와 서버 간에 양방향 실시간 통신을 지원하는 프로토콜
  • 한번 연결 수립되면 계속 유지되어 데이터 교환이 자유로움
  • 지연 시간이 매우 낮아서, 채팅, 온라인 게임, 주식 시세 알림 등 사용됨

GraphQL

  • API를 위한 쿼리 언어이자, REST 아키텍처의 대안
  • 클라이언트가 필요한 데이터의 구조를 직접 요청하여 불필요한 데이터 전송이 없음
  • 한번에 여러 종류의 데이터 요청 가능, 강력한 타입 기반 시스템

데이터 표현 형식

시스템 간 데이터를 교환할 때 약속된 형식이 필요함. 대표 3개 데이터 형식

JSON

  • 자바스크립트 객체 기반, 사람이 읽기 쉬운 텍스트 기반 데이터 교환 방식
  • key-value 구조, 웹 환경, 특히 REST API에서 주로 사용

XML

  • <>를 사용하여 데이터 구조를 계층적으로 표현하는 마크업 언어
  • 트리구조로 확장성에 용이하고 복잡한 데이터 표현에 용이
  • 과거 웹 서비스 SOAP에서 사용

YAML

  • 사람이 읽고 쓰기 편한 것에 중점을 둔 데이터 직렬화 형식
  • 주석( #)을 사용하여 설명 추가 가능

웹 서비스 인터페이스 방식

웹 서비스는 서로 다른 시스템이 인터넷을 통해 상호작용하는 방식

SOAP

  • HTTP, SMTP 등 위에서 XML 기반의 메시지를 교환하여 원격 프로시저를 호출하는, 매우 엄격한 규칙을 가진 프로토콜

REST

  • URI를 통해 자원을 식별하고, HTTP 메서드를 통해 해당 자원에 대한 행위를 표현하는 원칙을 기반으로 하는 소프트웨어 아키텍처 스타일

0개의 댓글