728x90

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) 통합 테스트 : 컴포넌트 간 인터페이스 테스트를 하고 운영체제, 파일시스템, 하드웨어 또는 시스템 간 인터페이스와 같은 각각 다른 부분과 상호 연동이 정상적으로 작동하는지 여부를 테스트

  - 상향식 방식 : 하위 모듈부터 상위 모듈로 테스트를 진행하는 방식, 테스트 드라이버가 필요.

   * 테스트 드라이버 : 이미 존재하는 하위 모듈과 존재하지 않은 상위 모듈에 대한 인터페이스 역할.

  - 하향식 방식 : 상위 모듈부터 하위 모듈로 테스트를 진행하는 방식, 스텁이 필요.

   * 스텁 :

728x90
TOP