정보처리기사 실기

[정보처리기사실기] 10. 애플리케이션 테스트

shoney9254 2021. 7. 6. 23:00
반응형

2021년 정보처리기사 실기 책 수제비로 공부했습니다. 공부하면서 정리한 요약내용입니다. 제가 이미 알고있는 내용은 요약정리에 없는 경우도 있습니다. 상세한 내용은 수제비책을 참조하세요.

 

소프트웨어 테스트의 원리

- 결완초집 살정오

- 테스팅은 결함이 존재함을 밝히는 / 완벽한 테스팅 불가능 / 개발 초기에 테스팅 시작 (Snowball Effect) / 결함 집중 (Pareto Principle) / 살충제 패러독스 / 테스팅은 정황에 의존 / 오류-부재의 궤변

 

소프트웨어 테스트 산출물

테스트계획서, 테스트 베이시스, 테스트 케이스, 테스트 슈트, 테스트 시나리오, 테스트 스크립트, 테스트 결과서

 

화이트박스 테스트 유형

구결조 조변다 기제데구문 커버리지 / 결정 커버리지 / 조건 커버리지 / 조건/결정 커버리지 / 변경 조건/결정 커버리지 / 다중 조건 커버리지 / 기본 경로 커버리지 / 제어 흐름 테스트 / 데이터 흐름 테스트 

 

블랙박스 테스트 유형
동경 결상 유분 페원비동등 분할 / 경계값 분석 / 결정 테이블 / 상태 전이 / 유스케이스 / 분류 트리 / 페어와이즈 / 원인-결과 그래프 / 비교 테스트 

 

테스트 목적에 따른 분류

회안성 구회병회복 테스트 / 안전 테스트 / 성능 테스트 / 구조 테스트 / 회귀 테스트 / 병행 테스트

 

성능 테스트

부스스내 - 부하 테스트/ 스트레스 테스트/ 스파이크 테스트/ 내구성 테스트

 

리뷰 유형 

관리 리뷰, 기술 리뷰, 인스펙션, 워크스루, 감사

 

화이트박스 테스트 개념

 - 화이트박스 테스트는 응용 프로그램의 내부 구조와 동작을 검사하는 소프트웨어 테스트

 - 화이트박스 테스트는 구조 기반 테스트, 코드 기반 테스트, 로직 기반 테스트, 글래스(Glass) 박스 테스트라고 부름

 

구문 커버리지

 - 프로그램 내의 모든 명령문을 적어도 수행하는 커버리지

 - 조건문 결과와 관계없이 구문 실행 개수로 계산 

 

결정 커버리지

- ( 분기의) 결정 포인트 내의 전체 조건식이 적어도 번은 (T) 거짓(F) 결과를 수행하는 테스트 커버리지 

 

조건 커버리지

- 분기의 결정 포인트 내의 개별 조건식이 적어도 번은 참과 거짓의 결과가 되도록 수행하는 테스트 커버리지 (전체 조건식의 영향은 고려하지 않음

 

조건/결정 커버리지

- 전체 조건식뿐 아니라 개별 조건식도 한번, 거짓 결과가 되도록 수행하는 테스트 커버리지

- 조건 커버리지와 결정 커버리지를 최소한의 조합으로 달성하는 커버리지

 

블랙박스 테스트 개념

- 블랙박스 테스트는 프로그램 외부 사용자의 요구사항 명세를 보면서 수행하는 테스트(=기능 테스트)

- 블랙박스 테스트는 명세 테스트이고, 전체 소프트웨어 테스트 레벨에서 적용 가능 블랙박스 테스트 개념

 

동등분할 테스트

- 입력 데이터의 영역을 유사한 도메인별로 유효값/무효값을 그룹핑하여 대푯값 테스트 케이스를 도출하여 테스트 하는 기법

- 동치 분할 테스트, 균등 분할 테스트, 동치 클래스 분해테스트라고도 동등분할 테스트 개념

 

경계값 분석 테스트 

- 등가 분할 경곗값 부분에서 오류 발생 확률이 높기 때문에 경곗값을 포함하여 테스트 케이스를 설계하여 테스트 하는 기법

- 최솟값 바로 , 최대치 바로 아래 입력 값의 극한 한계를 테스트하는 기법으로 한곗값 테스트라고도 경곗값 분석 테스트 개념

 

결정 테이블 테스트

결정 테이블 테스트는 요구사항의 논리와 발생조건을 테이블 형태로 나열하여, 조건과 행위를 조합하여 테스트하는 기법

 

상태 전이 테스트

상태 전이 테스트는 테스트 대상ㆍ시스템이나 객체의 상태를 구분하고, 이벤트에 의해 어느 태에서 다른 상태로 전이되는 경우의 수를 수행하는 테스트 기법

 

유스케이스 테스트

유스케이스 테스트는 시스템이 실제 사용되는 유스케이스로 모델링 되어 있을 프로세스 흐름을 기반으로 테스트 케이스를 명세화하여 수행하는 테스트 기법

 

분류 트리 테스트

분류 트리 테스트는 SW 일부 또는 전체를 트리 구조로 분석 표현하여 테스트 케이스를 설계 하여 테스트하는 기법

페어와이즈 테스트

페어와이즈 테스트는 테스트 데이터값들 간에 최소한 번씩을 조합하는 방식이며, 이는 커버 해야 기능적 범위를 모든 조합에 비해 상대적으로 적은 양의 테스트 세트를 구성하기 위한 스트 기법

 

원인-결과 그래프 테스트

원인-결과 그래프 테스트는 그래프를 활용하여 입력 데이터 간의 관계 출력에 미치는 영향을 분석하여 효용성이 높은 테스트 케이스를 선정하여 테스트하는 기법

 

비교 테스트

비교 테스트는 여러 버전의 프로그램에 같은 입력값을 넣어서 동일한 결과 데이터가 나오는지 비교해 보는 테스트 기법

 

경험 기반 테스트 유형

탐오체특 - 탐색적 테스트 / 오류 추정 / 체크리스트 / 특성 테스트

 

테스트 케이스 개념
테스트 케이스는 특정 요구사항에 준수하는 지를 확인하기 위해 개발된 입력값, 조건, 예상된 결과의 집합

 

테스트 케이스 구성요소 (ISO/IEC/IEEE 29119-3표준

식항입출 환절기 - 식별자/ 테스트 항목 / 입력 명세/ 출력 명세/ 환경 설정/ 특수절차요구/ 의존성 기술

 

테스트 오라클 (Test Oracle) 개념

테스트 오라클은 테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참값을 입력 하여 비교하는 기법

 

테스트 오라클 종류 

참샘휴일 - 오라클 / 샘플링 오라클 / 휴리스티 오라클 / 일관성 검사 오라클

테스트 레벨의 종류 중요

단통시인단위 테스트 / 통합 테스트 / 시스템 테스트 / 인수 테스트

 

인수테스트 종류

사용자 인수 테스트. 운영상의 인수 테스트, 계약 인수 테스트, 규정 인수 테스트, ( ),( )

 

테스트 시나리오 개념

- 테스트 시나리오는 애플리케이션의 테스트되어야 기능 특징, 테스트가 필요한 상황을 작성한 문서

- 테스트 시나리오의 목적은 테스트 수행 절차를 미리 정함으로써 설계 단계에서 중요시되던 요구사항이나 대안 흐름과 같은 테스트 항목을 빠짐없이 테스트하기 위함 테스트 시나리오 개념 인수테스트 종류

단위 테스트
구현 단계에서 모듈을 구현한 개별모듈을 테스트하는 방식

통합 테스트
소프트웨어 모듈 간의 인터페이스 관련 오류 결함을 찾아내기 위한 체계적인 테스트 기법

통합 테스트의 분류
빅뱅 테스트 / 상향식 통합 테스트 / 하향식 통합 테스트 / 샌드위치 통합 테스트

정적 분석 도구 (중요!)
-
만들어진 애플리케이션을 실행하지 않고 분석하는 도구
-
테스트 수행하는 사람이 작성된 소스코드에 대한 이해를 바탕으로 도구를 이용하여 분석 학습 정리

소프트웨어 결함
소프트웨어 결함에는 에러/오류(Error), 결함(Defect), 결점(Fault), 버그(Bug), 실패(Failure), 문제(Problem) 등이 있음
(
에러랑 오류가 모이면 결함, 결점, 버그가 되고, 결함이 모이면 실패, 문제가 된다)

결함 관리 개념
단계별 테스트 수행 발생한 결함의 재발 방지와 유사 결함 발견 처리 시간 단축을 위해 결함을 추적하고 관리하는 활동

테스트 커버리지 개념
테스트 케이스에 의해 수행되는 소프트웨어의 테스트 범위를 측정하는 테스트 품질 측정 기준

테스트 커버리지 유형 (중요!)
기라코 - 기능기반/라인/코드

애플리케이션 성능 측정 지표
처응경자 - 처리량 / 응답시간 / 경과시간 /자원사용률

베드코드의 유형
오문이결침 - 오염 / 문서부족 / 의미없는 이름 / 높은 결합도 / 아키텍처 침식

클린코드 작성 원칙
가단의 중추 - 가독성 / 단순성 / 의존성 최소 / 중복성 제거 / 추상화

리팩토링의 개념(중요!)
소프트웨어 모듈의 외부적 기능은 수정하지 않고 내부적으로 구조, 관계 등을 단순화하여 소프트웨어의 유지보수성을 향상시키는 기법

리팩토링의 목적
유지보수성 향상/유연한 시스템/생산성 향상/품질향상

 

반응형