반응형

     정보

    • 업무명     : 정보처리기사 필기 : 제2과목 소프트웨어 개발 (애플리케이션 테스트 관리)

    • 작성자     : 이상호

    • 작성일     : 2021-03-01

    • 설   명      :

    • 수정이력 :

     

     

     내용

    [애플리케이션 테스트]

    • 애플리케이션 테스트의 개념

    • 애플리케이션 테스트의 필요성

    • 애플리케이션 테스트의 기본 원리

     

    [애플리케이션 테스트의 분류]

    • 프로그램 실행 여부에 따른 테스트

      • 정적 테스트

      • 동적 테스트

    • 테스트 기반(Test Bases)에 따른 테스트

      • 명세 기반 테스트

      • 구조 기반 테스트

      • 경험 기반 테스트

    • 시각에 따른 테스트

      • 검증 테스트

      • 확인 테스트

    • 목적에 따른 테스트

      • 회복 테스트, 안전 테스트, 강도 테스트

      • 성능 테스트, 구조 테스트, 회귀 테스트

         

      • 병행 테스트

     

    [테스트 기법에 따른 에플리케이션 테스트]

    • 화이트박스 테스트(White Box Test)

    • 블랙박스 테스트(Black Box Test)

     

     

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

    • 단위 테스트(Unit Test)

    • 통합 테스트(Integation Test)

      • 비점진적 통합방식

        • 빅뱅 통합검사

      • 점진적 통합방식

        • 하향식 통합 검사

        • 상향식 통합검사

        • 혼합식 통합검사

    • 검증 테스트

      • 형상 검사

      • 알파 검사

      • 베타 검사

    • 시스템 테스트

      • 복구 검사

      • 보안 검사

      • 강도 검사

      • 성능 검사

     

    [애플리케이션 테스트 프로세스]

    • 애플리케이션 테스트 프로세스

      • 테스트 계획 → 테스트 분석 및 디자인 → 테스트 케이스 및 시나리오 작성 →  테스트 수행-테스트 결과 평가 및 리포팅 → 결함추적 및 관리

      • 테스트 계획서, 테스트 케이스, 테스트 시나리오, 테스트 결과서

    • 테스트 계획

      • 테스트 시작 조건

      • 테스트 종료조건

    • 테스트 분석 및 디자인

    • 테스트 케이스 및 시나리오 작성

    • 테스트 수행

    • 테스트 결과 평가 및 리포팅

    • 결함 추적 및 관리

      • 에러 발견, 에러 등록, 에러 분석, 결함 확정, 결함 할당, 결함 조치, 결함 조치 검토 및 승인

     

    [테스트 케이스/테스트 시나리오/테스트 오라클]

    • 테스트 케이스(Test Case)

    • 테스트 케이스 작성 순서

      • ① 테스트 계획 검토 및 우선순위 결정

      • ② 위험 평가 및 우선 순위 결정

      • ③ 테스트 요구사항 정의

      • ④ 테스트 구조 설계 및 테스트 방법결정

      • ⑤ 테스트 케이스 정의

      • ⑥ 테스트 케이스 타당성 확인및 유지보수

    • 테스트 시나리오(Test Scenario)

    • 테스트 시나리오 작성 시 유의 사항

    • 테스트 오라클(Test Oracle)

      • 제한된 검증, 수학적 기법, 자동화 가능

    • 테스트 오라클의 종류

      • 참 오라클, 샘플링 오라클, 추정 오라클, 일관성 검사 오라클

     

    [테스트 자동화 도구]

    • 테스트 자동화의 개념

    • 테스트 자동화 도구의 장점/단점

      • 장점

      • 단점

    • 테스트 자동화 수행 시 고려사항

    • 테스트 자동화 도구의 유형

      • 정적 분석 도구, 테스트 실행 도구, 성능 테스트 도구

      • 테스트 통제 도구, 테스트 하네스 도구

    • 테스트 수행 단계별 테스트 자동화 도구

      • 테스트 계획 – 요구사항 관리

      • 테스트 분석/설계 – 테스트 케이스 생성

      • 테스트 수행 – 테스트 자동화, 정적 분석, 동적 분석, 성능 테스트, 모니터링

      • 테스트 관리 – 커버리지 분석, 형상 관리, 결함 추적/관리

     

    [결함 관리]

    • 결함(Fault)의 정의

    • 결함 관리 프로세스

      • 결함 관리 계획 → 결함 기록 → 결함 검토 → 결함 수정 → 결함 재확인 → 결함 상태 추적 및 모니터링 활동 → 최종 결함 분석 및 보고서 작성

    • 결함 상태 추적

      • 결함 분포, 결함 추세, 결함 에이징

    • 결함 추적 순서

      • 결함 등록 → 결함 검토 → 결함 할당 → 결함 수정 → 결함 조치 보류 → 결함 종료 →  결함 해제

    • 결함 분류

      • 시스템 결함, 기능결함, GUI결함, 문서결함

    • 결함 심각도

      • High, Medium, Low

    • 결함 우선순위

    • 결함 관리 도구

      • Mantis, Trac, Redmine, Bugzilla

     

    [애플리케이션 성능 분석]

    • 애플리케이션 성능

      • 처리량

      • 응답시간

      • 경과시간

      • 자원 사용률

    • 성능 테스트 도구

      • Jmeter

      • LoadUI

      • OpenSTA

    • 시스템 모니터링(Monitoring) 도구

      • Scouter

      • Zabbix

    • 애플리케이션 성능 저하 원인 분석

     

    [애플리케이션 성능 개선]

    • 소스 코드 최적화

      • 클린코드, 나쁜코드

      • 클린코드 작성원칙 : 가독성, 단순성, 의존성 배제, 중복성 최소화,추상화

    • 소스 코드 최적화 유형

      • 클래스 분할 배치, 느슨한 결합, 코딩 형식 준수

    • 소스 코드 품질 분석 도구

      • 정적 분석도구

      • 동적 분석도구

    • 소스 코드 품질 분석 도구의 종류

      • Pmd, cppcheck, sonarQube,

      • checkstyle, ccm, cobertura,

      • avalanche, valgrind

     

    [연습문제]

    • 블랙 박스 테스트로 발견하기 어려운 오류는?

      • ① 인터페이스 오류

      • ② 행위나 성능 오류

      • ③ 잘못되거나 누락된 기능

      • ④ 모듈 내의 논리 구조상의 오류

     

    • 다음 중 테스트 오라클의 종류가 아닌 것은?

      • ① 참 오라클

      • ② 거짓 오라클

      • ③ 샘플링 오라클

      • ④ 추정 오라클

     

    • 다음 테스트 케이스 작성 절차에 대한 설명 중 가장 적합하지 않은 것은?

      • ① 테스트 계획 검토 및 자료를 확보한다.

      • ② 결함 해결에 있어 상대적 중요성을 지니며 위험 평가를 통하여 테스트 우선순위 결정  을 한다.

      • ③ 테스트 절차, 장비, 도구 및 문서화 방법은 개발자가 결정한다.

      • ④ 요구사항을 테스트할 수 있는 테스트 케이스 도출을 한다.

     

    • 다음은 애플리케이션 통합 테스트 종료 기준이다. 가장 적합하지 않은 것은?

      • ① 통합 테스트 수행율

      • ② 통합 테스트 합격율

      • ③ 통합 테스트 결함 조치율

      • ④ 통합 테스트 환경 구축 완료율

     

    • 다음 중 테스트 자동화에 대한 설명으로 틀린것은?

      • ① 테스트 자동화는 사람이 하던 반복적인 테스트 절차를 자동화 하는 것이다.

      • ② 테스트 자동화를 수행하면 휴먼 에러를 줄일 수 있다.

      • ③ 자동화를 수행하면 테스트 인력 및 시간을 단축할 수 있다.

      • ④ 테스트 자동화 도구는 모두 무료이므로 추가 비용이 들지 않는다.

     

    • 클린코드 작성 원칙에 대한 설명으로 틀린 것은?

      • ① 중복이 최대화된 코드를 작성한다.

      • ② 누구든지 쉽게 이해하는 코드를 작성한다.

      • ③ 다른 모듈에 미치는 영향이 최소화된 코드를 작성한다.

      • ④ 공통된 코드를 사용한다.

     

     참고 문헌

    [논문]

    • 없음

    [보고서]

    • 없음

    [URL]

    • 없음

     

     문의사항

    [기상학/프로그래밍 언어]

    • sangho.lee.1990@gmail.com

    [해양학/천문학/빅데이터]

    • saimang0804@gmail.com
    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기