1. 애플리케이션 테스트 : 애플리케이션에 잠재되어 있는결함을 찾아내는 절차
2. 애플리케이션 테스트의 기본 원리(결합집중(Defect Clustering))
- 파레토 법칙 : 애플리케이션의 20%에 해당하는 코드에는 전체 결함의 80%가 발견된다.
- 살충제 패러독스 : 동일한 테스트케이스로 동일한 테스트를 반복하면 더 이상 결함이 발견되지 않는 현상이
발생한다.
- 오류 - 부재의 궤변 : 소프트웨어의 결함을 모두 제거해도 사용자의 요구사항을 만족시키지 못하면 해당
소프트웨어는 품질이 높다고 할 수 없다.
- 완벽한 테스트 불가능
- 테스터는 정황에 의존
3. 애플리케이션 테스트의 분류
- 정적 테스트 : 프로그램 실행 하지 않음 / ex>워크스루(검토회의), 인스펙션, 코드검사
- 동적 테스트 : 프로그램 실행 함 / ex> 블랙박스 테스트, 화이트박스 테스트
- 화이트박스 테스트(Whitebox Test)
- 원시코드를 오픈시킨 상태에서 원시코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법
- 설계된 절차에 초점을 둔 구조적 테스트
- 테스트 과정의 초기에 적용
- 기초경로검사
- 제어구조검사 : 조건검사(Condition Testing) / 루프검사(Loop Testing) / 데이터흐름검사(Data Flow Testing)
- 블랙박스 테스트(Blackbox Test)
- 소프트웨어가 수행할 특정 기능을 알기 위해서 각 기능이 완전히 작동되는 것을 입증하는 테스트
- 기능테스트
- 테스트과정 후반부에 적용
- 동치분할검사 / 경계값분석 / 원인-효과 그래프 검사 / 오류 예측 검사 / 비교 검사
- 동치분할검사 : 타당한 입력자료와 타당하지 않은 입력 자료의 개수를 균등하게하여 테스트케이스를 정하고,
해당 입력 자료에 있는 결과가 출력되는지 확인
- 경계값분석 : 동치분할검사보완, 경계값에서 오류 발생 확률 증가, 경계값을 테스트케이스 설정
4. V모델
- 소프트웨어 개발단계(왼쪽) : 요구사항 > 분석 > 설계 > 구현
- 테스트단계(오른쪽) : 단위테스트 > 통합테스트 > 시스템테스트 > 인수테스트
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) : 클래스간의 의존성 최소화(결합도 최소화)
- 코딩 형식 준수
- 좋은 이름 사용
- 적절한 주석문 사용
'ETC > 자격증' 카테고리의 다른 글
[정보처리기사실기]통합 구현 요약 정리 (0) | 2021.07.03 |
---|---|
[정보처리기사실기]데이터 입/출력 구현 요약 정리 (0) | 2021.07.03 |
[정보처리기사실기]화면 설계 요약 정리 (0) | 2021.07.03 |
[정보처리기사실기]C 언어 문제 2 (0) | 2021.06.27 |
[정보처리기사실기]Java 언어 문제 1 (0) | 2021.06.24 |