본문 바로가기

ETC/자격증

[정보처리기사실기]애플리케이션 테스트 관리 요약 정리

반응형

1. 애플리케이션 테스트 : 애플리케이션에 잠재되어 있는결함을 찾아내는 절차

 

2. 애플리케이션 테스트의 기본 원리(결합집중(Defect Clustering))

    - 파레토 법칙 : 애플리케이션의 20%에 해당하는 코드에는 전체 결함의 80%가 발견된다.

    - 살충제 패러독스 : 동일한 테스트케이스로 동일한 테스트를 반복하면 더 이상 결함이 발견되지 않는 현상이

                              발생한다.

    - 오류 - 부재의 궤변 : 소프트웨어의 결함을 모두 제거해도 사용자의 요구사항을 만족시키지 못하면 해당

                                 소프트웨어는 품질이 높다고 할 수 없다.

    - 완벽한 테스트 불가능

    - 테스터는 정황에 의존

 

3. 애플리케이션 테스트의 분류

    - 정적 테스트 : 프로그램 실행 하지 않음 / ex>워크스루(검토회의), 인스펙션, 코드검사

    - 동적 테스트 : 프로그램 실행 함 / ex> 블랙박스 테스트, 화이트박스 테스트

    - 화이트박스 테스트(Whitebox Test)

        - 원시코드를 오픈시킨 상태에서 원시코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법

        - 설계된 절차에 초점을 둔 구조적 테스트

        - 테스트 과정의 초기에 적용

        - 기초경로검사

        - 제어구조검사 : 조건검사(Condition Testing) / 루프검사(Loop Testing) / 데이터흐름검사(Data Flow Testing)

    - 블랙박스 테스트(Blackbox Test)

        - 소프트웨어가 수행할 특정 기능을 알기 위해서 각 기능이 완전히 작동되는 것을 입증하는 테스트

        - 기능테스트

        - 테스트과정 후반부에 적용

        - 동치분할검사 / 경계값분석 / 원인-효과 그래프 검사 / 오류 예측 검사 / 비교 검사

        - 동치분할검사 : 타당한 입력자료와 타당하지 않은 입력 자료의 개수를 균등하게하여 테스트케이스를 정하고,

                              해당 입력 자료에 있는 결과가 출력되는지 확인

        - 경계값분석 : 동치분할검사보완, 경계값에서 오류 발생 확률 증가, 경계값을 테스트케이스 설정

 

4. V모델

https://ko.wikipedia.org/wiki/V_%EB%AA%A8%EB%8D%B8

    - 소프트웨어 개발단계(왼쪽) : 요구사항 > 분석 > 설계 > 구현

    - 테스트단계(오른쪽) : 단위테스트 > 통합테스트 > 시스템테스트 > 인수테스트

 

5. 인수 테스트

    - 사용자의 요구사항을 충족하는지에 중점을 두고 테스트하는 방법

    - 사용자 인수 테스트 : 사용자가 시스템 사용의 적절성 여부를 확인한다.

    - 알파 테스트 : 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트 기법

    - 베타 테스트 : 선정된 사용자가 여러명의 사용자 앞에서 행하는 테스트 기법

 

6. 통합 테스트

    - 하향식 통합 테스트(Top Down Integration Test)

        - 넓이 우선 통합법 / 깊이 우선 통합법

        - 스텁(Stub) : 일시적으로 필요한 조건만을 가지고 있는 시험용 모듈

    - 상향식 통합 테스트(Bottom Up Integration Test)

        - 하위 모듈들을 클러스터(Cluster)로 결합

        - 더미모듈인 드라이버(Driver)를 작성한다.

           * 드라이버 : 이미 존재하는 하위모듈과 존재하지 않는 상위 모듈간의 인터페이스 역활

 

7. 회귀 테스트

    - 이미 테스트 된 프로그램의 테스팅을 반복하는 것

    - 통합 테스트로 인해 변경된 모듈이나 컴포넌트에 새로운 오류가 있는지 확인하는 테스트

    - 새로운 오류가 발생하지 않음을 위해 반복테스트 한다.

 

8. 결함 추적 및 관리 순서

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

 

9. 테스트 케이스

    - 테스트케이스를 적용하는 순서에 따라 여러개의 테스트를 묶은 집합(구체적인 절차)

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

 

10. 애플리케이션 성능

    - 처리량(Troughput) : 일정시간 내에 애플리케이션이 처리하는 일의 양

    - 응답시간(Response Time) : 애플리케이션에 요청을 전달한 시간부터 응답이 도착할 때까지 걸린 시간

    - 경과시간(Turnaround Time) : 애플리케이션에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간

    - 자원 사용률(Resource Usage) : 애플리케이션이 의뢰한 작업을 처리하는 동안의 CPU 사용량, 메모리 사용량,

                                               네트워크 사용량 등 자원 사용률

 

11. OS 성능(목적)

    - 처리능력

    - 반환시간(경과시간)

    - 사용 가능도

    - 신뢰도

 

12. 클린코드 작성원칙

    - 가독성 : 쉽게 읽을 수 있도록 작성

    - 단순성 : 간단하게 작성

    - 의존성 배제 : 다른 모듈에 미치는 영향을 최소화

    - 중복성 최소화 : 중복을 최소화

    - 추상화 : 간략하게 애플리케이션의 특성을 나타내기

 

13. 소스코드 최적화 유형

    - 클래스 분할 배치 : 하나의 클래서는 하나의 역활만 수행하도록 크기를 작게 작성(응집도를 높게)

    - 느스한 결합(Loosely Coupled) : 클래스간의 의존성 최소화(결합도 최소화)

    - 코딩 형식 준수

    - 좋은 이름 사용

    - 적절한 주석문 사용

반응형