min8282

[정보처리기사] 메타코드M, 정보처리기사 필기 2주차(소프트웨어 개발) 본문

카테고리 없음

[정보처리기사] 메타코드M, 정보처리기사 필기 2주차(소프트웨어 개발)

min8282 2024. 12. 7. 18:35

안녕하세요! 오늘은 제가 메타코드에서 제공하는 정보처리기사 필기 강의를 수강하면서 2주차 강의 중 소프트웨어 개발부분에서 배운 내용을 정리해 보았습니다.

 

이번 포스팅에서는 정보처리기사_소프트웨어 개발에서 중요한 개념 중 하나인 자료구조, 애플리케이션 테스트 종류와 특성에 대해 정리해 보겠습니다.

💡 메타코드 장학생 혜택
저는 이번에 메타코드 장학생으로 선발되어 필기 강의를 무료로 수강하고 있어요.
메타코드 강의를 통해 정보처리기사 필기를 효율적으로 준비하고 있습니다.


2-1. 논리 데이터 저장소 확인

자료 구조(Data Structure)

자료구조란 데이터를 효율적으로 저장하고 관리하기 위한 체계적인 방법론입니다. 다양한 작업(검색, 삽입, 삭제, 정렬 등)에서 최적의 성능을 보장하기 위해 설계되었습니다.

2-1. 논리 데이터 저장소 확인

자료구조의 분류

1. 선형 구조 (Linear Data Structure)

데이터가 순차적으로 나열된 구조입니다. 각 요소가 인접한 요소와 연결되어 있어 한 번에 한 방향으로 접근 가능합니다.

주요 선형 구조

  1. 리스트 (List)
    • 데이터를 연속적으로 저장.
    • 예: 배열(Array), 연결 리스트(Linked List).
  2. 스택 (Stack)
    • LIFO(Last In, First Out): 마지막으로 들어간 데이터가 가장 먼저 나옴.
    • 예: 함수 호출 스택, 괄호 검사.
  3. 큐 (Queue)
    • FIFO(First In, First Out): 먼저 들어간 데이터가 가장 먼저 나옴.
    • 예: 작업 스케줄링.
    • 원형 큐우선순위 큐 같은 변형도 존재.
  4. 데크 (Deque)
    • Double-Ended Queue: 양쪽 끝에서 삽입과 삭제가 모두 가능한 큐.
    • 예: 슬라이딩 윈도우 알고리즘.

 

2. 비선형 구조 (Non-Linear Data Structure)

데이터가 계층적이거나 망형 구조로 연결되어 있습니다. 요소 간 관계가 복잡하며, 순차적 접근이 아닌 특정 조건에 따라 접근합니다.

주요 비선형 구조

  1. 트리 (Tree)
    • 계층적 데이터 표현.
    • 루트 노드를 중심으로 자식 노드로 확장.
    • 예: 이진 탐색 트리(Binary Search Tree), 힙(Heap), AVL 트리.
    • 활용: 파일 디렉토리 구조, 데이터베이스 인덱스.
  2. 그래프 (Graph)
    • 정점(Vertex)과 간선(Edge)으로 구성된 네트워크 구조.
    • 방향 그래프와 무방향 그래프가 존재.
    • 활용: 네트워크 연결, 소셜 미디어 관계, 최단 경로 탐색.
     

2-4-1. 애플리케이션 테스트 케이스 설계

소프트웨어 테스트

소프트웨어가 예상대로 작동하는지 확인하기 위해 오류를 찾아내고 품질을 보장하는 과정입니다. 테스트는 개발 단계에서 발생할 수 있는 문제를 조기에 발견하여, 시스템의 안정성을 높이는 데 중점을 둡니다.

테스트 케이스

테스트 케이스란 소프트웨어의 특정 기능이나 동작을 검증하기 위해 입력값, 실행 조건, 예상 결과를 정의한 집합입니다. 테스트의 목표와 방법을 정한 후 작성되며, 주요 목적은 결함을 검사하는 것입니다.

  • 구성 요소:
    • 입력값: 테스트 시 사용되는 데이터.
    • 실행 조건: 테스트를 실행하기 위한 환경 및 상황.
    • 예상 결과: 올바른 동작에 따른 출력 결과.

테스트 오라클

테스트 오라클은 테스트 결과가 올바른지 판단하기 위한 기준입니다. 사전에 정의된 참값을 기반으로 결과를 비교합니다.

  • 종류:
    1. 참 오라클: 모든 입력값에 대해 정확한 결과를 제공.
    2. 샘플링 오라클: 특정 입력값에 대해서만 결과를 제공.
    3. 휴리스틱 오라클: 일부 입력값에 대해 추정된 결과를 제공.
    4. 일관성 검사 오라클: 동일한 입력값에 대해 일관된 결과를 도출.

2-4-1. 애플리케이션 테스트 케이스 설계

테스트 레벨

소프트웨어 테스트는 개발 단계에 따라 다음과 같은 레벨로 나뉩니다.

1. 단위 테스트 (Unit Test)

  • 개별 모듈을 시험하여 정확히 구현되었는지 점검.
  • 화이트 박스 테스트블랙 박스 테스트 기법과 연관.
  • 주요 목표:
    • 오류에 따른 예상치 못한 결과 확인.
    • 잘못된 계산식 및 무한 루프 탐지.

2. 통합 테스트 (Integration Test)

  • 개별 모듈이 결합될 때 상호작용의 정확성을 검증.
  • 방식:
    1. 상향식 (Bottom-Up):
      • 하위 모듈부터 상위 모듈로 테스트 진행.
      • Test driver가 상위 모듈을 대신.
    2. 하향식 (Top-Down):
      • 상위 모듈부터 하위 모듈로 테스트 진행.
      • Stub이 하위 모듈을 대신.

3. 시스템 테스트 (System Test)

  • 모든 기능이 통합된 상태에서 시스템이 요구사항을 만족하는지 확인.

4. 인수 테스트 (Acceptance Test)

  • 최종 사용자가 요구사항을 충족하는지 확인.
  • 알파 테스트: 내부 환경에서 진행.
  • 베타 테스트: 실제 사용자가 소프트웨어를 사용해 피드백 제공.

2-4-1. 애플리케이션 테스트 케이스 설계

테스트 기법

1. 화이트 박스 테스트

  • 코드 내부 구조를 기반으로 테스트.
  • 주요 기법:
    • 데이터 흐름 검사.
    • 루프 검사.

2. 블랙 박스 테스트

  • 외부 동작에 초점을 맞춘 테스트.
  • 주요 기법:
    • 경곗값 분석.
    • 동등 분할 기법(동치 클래스 분해).
    • 원인-결과 그래프.

경곗값 분석 예시

점수 성적 범위가 90~100일 때:

  • 올바른 테스트 입력: 89, 90, 100.
  • 잘못된 입력: 101, 60.

추가 테스트 기법

알파 테스트

내부 팀 또는 선택된 사용자가 통제된 개발자 환경에서 진행되는 테스트

베타 테스트

개발자 없이 실제 사용자가 소프트웨어를 사용해 보고 피드백을 제공하는 테스트

강도 테스트(Stress test)

• 시스템에 과다 정보량을 부과하여 과부하 시에도 시스템이 정상적으로 작동되는지 테스트

 


메타코드 정보처리기사 강의링크)

https://www.metacodes.co.kr/edu/read2.nx?EM_IDX=15027&EP_IDX=15203&M2_IDX=31635#study_plan

 

정보처리기사 필기 환급 챌린지ㅣ합격 인증 시 100% 환급 (제세공과금 22% 제외)

 

www.metacodes.co.kr

 

메타코드 카페

https://cafe.naver.com/love3339

 

메타코드M | ADsP, SQLD, ... : 네이버 카페

빅데이터분석기사, 정보처리기사, SQLD, ADsP, AWS 자격증 취득 등 빅데이터 전문가 지식 공유 커뮤니티

cafe.naver.com