2021년 정보처리기사 실기 책 수제비로 공부했습니다. 공부하면서 정리한 요약내용입니다. 제가 이미 알고있는 내용은 요약정리에 없는 경우도 있습니다. 상세한 내용은 수제비책을 참조하세요.
■소프트웨어 테스트의 원리
- 결완초집 살정오
- 테스팅은 결함이 존재함을 밝히는 것 / 완벽한 테스팅 불가능 / 개발 초기에 테스팅 시작 (Snowball Effect) / 결함 집중 (Pareto Principle) / 살충제 패러독스 / 테스팅은 정황에 의존 / 오류-부재의 궤변
■소프트웨어 테스트 산출물
테스트계획서, 테스트 베이시스, 테스트 케이스, 테스트 슈트, 테스트 시나리오, 테스트 스크립트, 테스트 결과서
■화이트박스 테스트 유형
구결조 조변다 기제데 – 구문 커버리지 / 결정 커버리지 / 조건 커버리지 / 조건/결정 커버리지 / 변경 조건/결정 커버리지 / 다중 조건 커버리지 / 기본 경로 커버리지 / 제어 흐름 테스트 / 데이터 흐름 테스트
■블랙박스 테스트 유형
동경 결상 유분 페원비 – 동등 분할 / 경계값 분석 / 결정 테이블 / 상태 전이 / 유스케이스 / 분류 트리 / 페어와이즈 / 원인-결과 그래프 / 비교 테스트
■테스트 목적에 따른 분류
회안성 구회병 – 회복 테스트 / 안전 테스트 / 성능 테스트 / 구조 테스트 / 회귀 테스트 / 병행 테스트
■성능 테스트
부스스내 - 부하 테스트/ 스트레스 테스트/ 스파이크 테스트/ 내구성 테스트
■리뷰 유형
관리 리뷰, 기술 리뷰, 인스펙션, 워크스루, 감사
■화이트박스 테스트 개념
- 화이트박스 테스트는 각 응용 프로그램의 내부 구조와 동작을 검사하는 소프트웨어 테스트
- 화이트박스 테스트는 구조 기반 테스트, 코드 기반 테스트, 로직 기반 테스트, 글래스(Glass) 박스 테스트라고 부름
■구문 커버리지
- 프로그램 내의 모든 명령문을 적어도 한 번 수행하는 커버리지
- 조건문 결과와 관계없이 구문 실행 개수로 계산
■결정 커버리지
- (각 분기의) 결정 포인트 내의 전체 조건식이 적어도 한 번은 참(T)과 거짓(F)의 결과를 수행하는 테스트 커버리지
■조건 커버리지
- 각 분기의 결정 포인트 내의 각 개별 조건식이 적어도 한 번은 참과 거짓의 결과가 되도록 수행하는 테스트 커버리지 (전체 조건식의 영향은 고려하지 않음)
■조건/결정 커버리지
- 전체 조건식뿐 만 아니라 개별 조건식도 참 한번, 거짓 한 번 결과가 되도록 수행하는 테스트 커버리지
- 조건 커버리지와 결정 커버리지를 최소한의 조합으로 달성하는 커버리지
■블랙박스 테스트 개념
- 블랙박스 테스트는 프로그램 외부 사용자의 요구사항 명세를 보면서 수행하는 테스트(=기능 테스트)
- 블랙박스 테스트는 곧 명세 테스트이고, 전체 소프트웨어 테스트 레벨에서 적용 가능 블랙박스 테스트 개념
■동등분할 테스트
- 입력 데이터의 영역을 유사한 도메인별로 유효값/무효값을 그룹핑하여 대푯값 테스트 케이스를 도출하여 테스트 하는 기법
- 동치 분할 테스트, 균등 분할 테스트, 동치 클래스 분해테스트라고도 함 동등분할 테스트 개념
■경계값 분석 테스트
- 등가 분할 후 경곗값 부분에서 오류 발생 확률이 높기 때문에 경곗값을 포함하여 테스트 케이스를 설계하여 테스트 하는 기법
- 최솟값 바로 위, 최대치 바로 아래 등 입력 값의 극한 한계를 테스트하는 기법으로 한곗값 테스트라고도 함 경곗값 분석 테스트 개념
■결정 테이블 테스트
결정 테이블 테스트는 요구사항의 논리와 발생조건을 테이블 형태로 나열하여, 조건과 행위를 모 두 조합하여 테스트하는 기법
■상태 전이 테스트
상태 전이 테스트는 테스트 대상ㆍ시스템이나 객체의 상태를 구분하고, 이벤트에 의해 어느 한 상 태에서 다른 상태로 전이되는 경우의 수를 수행하는 테스트 기법
■유스케이스 테스트
유스케이스 테스트는 시스템이 실제 사용되는 유스케이스로 모델링 되어 있을 때 프로세스 흐름을 기반으로 테스트 케이스를 명세화하여 수행하는 테스트 기법
■분류 트리 테스트
분류 트리 테스트는 SW의 일부 또는 전체를 트리 구조로 분석 및 표현하여 테스트 케이스를 설계 하여 테스트하는 기법
■페어와이즈 테스트
페어와이즈 테스트는 테스트 데이터값들 간에 최소한 한 번씩을 조합하는 방식이며, 이는 커버 해야 할 기능적 범위를 모든 조합에 비해 상대적으로 적은 양의 테스트 세트를 구성하기 위한 테 스트 기법
■원인-결과 그래프 테스트
원인-결과 그래프 테스트는 그래프를 활용하여 입력 데이터 간의 관계 및 출력에 미치는 영향을 분석하여 효용성이 높은 테스트 케이스를 선정하여 테스트하는 기법
■비교 테스트
비교 테스트는 여러 버전의 프로그램에 같은 입력값을 넣어서 동일한 결과 데이터가 나오는지 비교해 보는 테스트 기법
■경험 기반 테스트 유형
탐오체특 - 탐색적 테스트 / 오류 추정 / 체크리스트 / 특성 테스트
■테스트 케이스 개념
테스트 케이스는 특정 요구사항에 준수하는 지를 확인하기 위해 개발된 입력값, 실 조건, 예상된 결과의 집합
■테스트 케이스 구성요소 (ISO/IEC/IEEE 29119-3표준)
식항입출 환절기 - 식별자/ 테스트 항목 / 입력 명세/ 출력 명세/ 환경 설정/ 특수절차요구/ 의존성 기술
■테스트 오라클 (Test Oracle) 의 개념
테스트 오라클은 테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참값을 입력 하여 비교하는 기법
■테스트 오라클 종류
참샘휴일 - 참 오라클 / 샘플링 오라클 / 휴리스티 오라클 / 일관성 검사 오라클
■테스트 레벨의 종류 중요
단통시인 - 단위 테스트 / 통합 테스트 / 시스템 테스트 / 인수 테스트
■인수테스트 종류
사용자 인수 테스트. 운영상의 인수 테스트, 계약 인수 테스트, 규정 인수 테스트, ( ),( )
■테스트 시나리오 개념
- 테스트 시나리오는 애플리케이션의 테스트되어야 할 기능 및 특징, 테스트가 필요한 상황을 작성한 문서
- 테스트 시나리오의 목적은 테스트 수행 절차를 미리 정함으로써 설계 단계에서 중요시되던 요구사항이나 대안 흐름과 같은 테스트 항목을 빠짐없이 테스트하기 위함 테스트 시나리오 개념 인수테스트 종류
■단위 테스트
구현 단계에서 각 모듈을 구현한 후 개별모듈을 테스트하는 방식
■통합 테스트
소프트웨어 각 모듈 간의 인터페이스 관련 오류 및 결함을 찾아내기 위한 체계적인 테스트 기법
■통합 테스트의 분류
빅뱅 테스트 / 상향식 통합 테스트 / 하향식 통합 테스트 / 샌드위치 통합 테스트
■정적 분석 도구 (중요!)
- 만들어진 애플리케이션을 실행하지 않고 분석하는 도구
- 테스트 수행하는 사람이 작성된 소스코드에 대한 이해를 바탕으로 도구를 이용하여 분석 학습 정리
■소프트웨어 결함
소프트웨어 결함에는 에러/오류(Error), 결함(Defect), 결점(Fault), 버그(Bug), 실패(Failure), 문제(Problem) 등이 있음
(에러랑 오류가 모이면 결함, 결점, 버그가 되고, 결함이 모이면 실패, 문제가 된다)
■결함 관리 개념
단계별 테스트 수행 후 발생한 결함의 재발 방지와 유사 결함 발견 시 처리 시간 단축을 위해 결함을 추적하고 관리하는 활동
■테스트 커버리지 개념
테스트 케이스에 의해 수행되는 소프트웨어의 테스트 범위를 측정하는 테스트 품질 측정 기준
■테스트 커버리지 유형 (중요!)
기라코 - 기능기반/라인/코드
■애플리케이션 성능 측정 지표
처응경자 - 처리량 / 응답시간 / 경과시간 /자원사용률
■베드코드의 유형
오문이결침 - 오염 / 문서부족 / 의미없는 이름 / 높은 결합도 / 아키텍처 침식
■클린코드 작성 원칙
가단의 중추 - 가독성 / 단순성 / 의존성 최소 / 중복성 제거 / 추상화
■리팩토링의 개념(중요!)
소프트웨어 모듈의 외부적 기능은 수정하지 않고 내부적으로 구조, 관계 등을 단순화하여 소프트웨어의 유지보수성을 향상시키는 기법
■리팩토링의 목적
유지보수성 향상/유연한 시스템/생산성 향상/품질향상
'정보처리기사 실기' 카테고리의 다른 글
[정보처리기사실기] 11. 응용 SW 기초 기술 활용 (0) | 2021.07.13 |
---|---|
[정보처리기사실기] 9. 소프트웨어 개발 보안 구축 (0) | 2021.07.13 |
[정보처리기사실기] 8. 서버프로그램 구현 (0) | 2021.07.13 |
[정보처리기사실기] 7. SQL 응용 (0) | 2021.07.13 |
[2021정보처리기사실기] 01 소프트웨어 개발 방법론 (0) | 2021.06.17 |