logo
Published on

정보처리기사 2과목 소프트웨어 개발 요약 정리

Authors
  • avatar
    Name
    Bora Choi
    Twitter

2과목 소프트웨어 개발

블랙박스 테스트 유형

  • 동치 분할 검사(equivalence Paritioning testing)
  • 경계값 분석(boundary value analysis)
  • 원인-효과 그래프 검사(cause-effect graphing testing)
  • 오류 예측 검사(Error Guessing)
  • 비교 검사(comparison testing)

화이트박스 테스트 유형

  • 기초 경로 검사
  • 제어 구조검사
    • 조건 검사(condition testing)
    • 루프 검사(loop testing)
    • 데이터 흐름 검사(data flow testing)
  • 모듈 안의 작동을 직접 관찰할 수 있다.
  • 산출물의 각 기능별로 적절한 프로그램의 제어구조에 따라 선택, 반복 등의 부분들을 수행함으로써 논리적 경로를 점검

McCabe의 cyclomatic 수

  • V(G) = Edge - Node + 2

파티션 유형

  • 범위분할 ( range partitioning) : 지정한 열의 값을 기준으로 분할
  • 해시분할 (Hash partitioning) : 해시 함수를 적용한 결과 값에 따라 데이터를 분할
  • 조합분할 (Composite Partitioning): 범위 분할 수 해시 함수를 적용하여 다시 분할

인터페이스 구현 검증 도구

  • xUnit: Java, C++ 등 다양한 언어 지원하는 단위 테스트 프레임 워크
  • STAF: 서비스 호출 및 컴포넌트 재사용 등 환경 지원하는 테스트 프레임 워크
  • FitNesse : 웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임 워크
  • NTAF : FitNesse의 장점인 협업 기능과 STAF의 장점인 재사용 및 확장성을 통합한 네이버의 테스트 자동화 프레임워크이다.
  • Selenium: 다양한 브라우저 및 개발 언어 지원하는 웹 어플리케이션 테스트 프레임 워크
  • Watir: Ruby를 사용하는 애플리케이션 테스트 프레임 워크

알고리즘

힙정렬(Heap Sort)

  • 정렬할 입력 레코드들로 힙을 구성하고 가장 큰 키 값을 갖는 루트 노드를 제거하는 과정을 반복하여 정렬하는 기법
  • 평균 수행 시간은 O(nlog2n)
  • 완전 이진트리 (complete binary tree)로 입력자료의 레코드를 구성
  • 최악의 수행 시간은 O(nlog n)