1. 애플리케이션 성능
- 사용자의 요구 기능을 해당 앱이 최소의 자원을 사용하면서 얼마나 빨리, 많은 기능을 수행하는지 육안 또는 도구를 통해 점검하는 것을 말한다.
※ 성능 측정 지표
① 처리량(Throughput)
② 응답시간(Response Time)
③ 경과시간(Turn Around Time)
④ 자원 사용률(Resource Usage)
2. 소스코드 품질 분석
① 정적 분석 도구(Static Analysis Tools)
- 작성된 코드를 실행시키지 않고 분석한다.
- 애플리케이션을 실행하지 않고 분석하는 도구이다.
② 동적 분석 도구(Dynamic Analysis Tools)
- 애플리케이션을 실행하여 코드에 존재하는 메모리 누수 현황 파악 및 스레드의 결함을 분석하는 도구이다.
3. 제어 흐름 그래프
- 분기 커버리지(Branch Coverage) : 조건문이 상반된 결과로 2개를 나타낸다.
* ex ) 조건문 2개인 경우 (YES, NO / NO, YES) 또는 (YES, YES / NO, NO)
4. 테스트 종류
- 정적 테스트 : 프로그램 실행 없이 구조를 분석하여 논리성을 검증
※ 종류
1) 동료검토
2) 인스펙션
3) 워크스루
- 동적 테스트 : 프로그램 실행을 요구하는 테스트
※ 종류
1) 화이트 박스 테스트 : 내부 로직과 동작을 검사하는 테스트.
※ 검사 종류(기 조 루 흐)
① 기초 경로 검사(Base Path Test)
② 조건 검사
③ 루프 검사
④ 데이터 흐름검사
2) 블랙 박스 테스트
- 입력에 따른 출력 결과를 테스트.
- 외부 사용자 요구사항 명세를 보면서 테스트를 수행하며 주로 구현된 기능을 테스트한다.
※ 검사 종류
① 동치 분할(Equivalence Partitioning)
- 프로그램의 입력 조건을 중점으로 하나의 입력 조건이 타당한 값과 아닌 값을 설정해서 해당 입력 자료에 맞는 결과가 출력되는지 확인하는 테스트 기법
② 경계값 분석(Boundary value analysis)
- 입력의 경계값에서 발생하는 오류를 제거하기 위한 검사 기법으로 등가분할의 경계부분의 입력값에서 결함이 발견될 확률이 높다는 가정으로 테스트 기법
③ 원인-효과 그래프 검사
④ 오류 예측 검사
⑤ 비교 검사
5. 테스트 검증 기준
1) 화이트박스 테스트 검증 기준(Test Coverage, 테스트 커버리지)
① 구문(문장) 커버리지 : 모든 문장이 한 번 이상 수행되어야 한다.
② 결정(분기) 커버리지 : 전체 조건식에 대해 True, False가 한 번 이상 수행되어야 한다.
③ 조건 커버리지 : 전체 조건식과 상관없이 모든 개별 조건식에 대해 True, False가 한 번 이상 수행되어야 한다.
④ 조건/결정 커버리지 : 전체 조건식 + 개별 조건식 True, False가 한 번 이상 수행되어야 한다.
⑤ 변형 조건/결정 : 각 개별 조건식이 다른 조건식에 영향 받지 않고 전체 조건식의 독립적 영향을 주도록 수행
⑥ 다중조건 : 결정 포인트 내에 있는 모든 개별 조건 식의 모든 조합을 고려
구분 | True, False 한 번 이상 수행여부 |
구문(문장) 커버리지 | 모든 문장이 한 번 이상 수행되어야 한다. |
결정(분기) 커버리지 | 전체 조건식 O 개별 조건식 X |
조건 커버리지 | 전체 조건식 X 개별 조건식 O |
조건/결정 커버리지 | 전체 조건식 O 개별 조건식 O |
변형 조건/결정 | 각 개별 조건식이 다른 조건식에 영향 받지 않고 전체 조건식의 독립적 영향을 주도록 수행 |
다중조건 | 결정 포인트 내에 있는 모든 개별 조건 식의 모든 조합을 고려 |
5. 테스트 오라클
- 테스트 결과가 참인지 거짓인지 판단하기 위해 사전에 정의된 참값을 입력하여 비교하는 기법이다.
※ 테스트 오라클 유형
① 참 오라클 : 모든 입력값에 대해 기대하는 결과를 생성해서 모든 오류 검사하는 오라클이다.
② 샘플링 오라클 : 특정한 몇 개의 입력값에 대해서만 기대하는 결과를 제공해주는 오라클이다.
③ 휴라스틱 오라클 : 샘플링 오라클을 개선한 오라클로, 특정 입력값에 대해 올바른 결과를 제공하고,
나머지 값들에 대해서는 휴라스틱(추정)으로 처리하는 오라클이다.
④ 일관성 검사 오라클 : 애플리케이션 변경 시 수행 전과 후의 결과값이 동일한지 확인하는 오라클이다.
6. 테스트 종류
1) 시스템 테스트 : 시스템 기능
2) 인수 테스트 : 사용자 입장 테스트(베타/알파 테스트)
3) 단위 테스트 : '모듈의 테스트'라고도 하며, 작은 소프트웨어 단위(컴포넌트 또는 모듈)를 개별 테스트하는 것으로서, 일반적으로 개발자 자신에 의해 행해진다.
4) 통합 테스트 : 컴포넌트 간 인터페이스 테스트를 하고 운영체제, 파일시스템, 하드웨어 또는 시스템 간 인터페이스와 같은 각각 다른 부분과 상호 연동이 정상적으로 작동하는지 여부를 테스트
- 상향식 방식 : 하위 모듈부터 상위 모듈로 테스트를 진행하는 방식, 테스트 드라이버가 필요.
* 테스트 드라이버 : 이미 존재하는 하위 모듈과 존재하지 않은 상위 모듈에 대한 인터페이스 역할.
- 하향식 방식 : 상위 모듈부터 하위 모듈로 테스트를 진행하는 방식, 스텁이 필요.
* 스텁 :
'자기계발 > 자격증' 카테고리의 다른 글
정처기 실기 정리] 9. 소프트웨어 개발 보안 구축 (0) | 2022.03.31 |
---|---|
정처기 실기 정리] 8. SQL 응용 (0) | 2022.03.31 |
정처기 실기 정리] 6. 화면 설계 (0) | 2022.03.31 |
정처기 실기 정리] 5. 인터페이스 구현 (0) | 2022.03.31 |
정처기 실기 정리] 4. 서버프로그램 구현 (0) | 2022.03.31 |