✔️ 테스트 자동화
장점
- 자원 (인력, 시간) 감소
- 품질 보장, 일관성(객관적 평가)
- 시각적 표현, UI없는 서비스도 테스트 가능
단점
- 교육 및 학습을 위한 자원(시간, 비용)이 필요함
- 상용 SW인 경우 추가 비용이 필요함
✔️ 유형별 테스트 자동화 도구
정적 분석도구 | 실행 없이 코딩 표준 및 복잡도 체크 |
테스트 실행 도구 | 스크립트 언어를 사용하여 테스트 ▸ 데이터 주도 접근 방식 = 다양한 데이터를 동일한 테스트 케이스로 반복 실행 ▸ 키워드 주도 접근 방식 - 데이터 + 키워드(다양한 수행 동작) |
성능 테스트 도구 | 처리량, 응답 시간, 결과 시간, 자원 사용률 측정 |
테스트 통제 도구 | 테스트 계획 및 관리, 결함 관리, 형상 관리 |
테스트 하네스 | 테스트를 위해 생성한 코드 및 데이터 ▸ stub - 제어 모듈이 호출하는 모듈(하위)의 기능을 수행하는 모듈 ▸ driver - 하위 모듈의 인터페이스 역할(호출 및 인자전달)을 수행하는 모듈 ▸ test case - 입력 및 기능엗 ㅐ한 기대 결과를 명세한 명세서 ▸ test suites - 테스트 케이스의 집합(시나리오와 달리 절차, 순서가 없음) ▸ test script - 자동화 테스트 절차에 대한 명세서 ▸ mock object - 조건에 맞는 상황에 특정 기능이 수행되도록한 객체 |
✔️결함 관리 프로세스
✔️결함 상태 추적
✔️ 단계별 테스트 자동화 도구
단계 | 도구 | 설명 |
계획 | 요구사항 관리 | 요구사항 정의 및 변경 |
설계 | 테스트 케이스 생성 | 테스트 케이스 작성 지원 |
수행 | 데티스 자동화 | 테스트 자동화 지원 |
정적 분석 | 코딩 표준, 복잡성, 런타임 오류 검증 | |
동적 분석 | 기능 실행(시뮬레이션)을 통해 검증 | |
성능테스트 | 시스템의 처리 능력 측정 | |
모니터링 | 시스템의 자원 상태 확인 | |
관리 | 커버리지 분석 | 테스트의 충분성 검증 |
형상 관리 | 테스트에 필요한 다양한 도구 및 데이터 관리 | |
결함 추적/관리 | 결함 추적 및 관리 활동 지원 |
✔️ 결함의 분류와 심각도
시스템 결함 : 어플리케이션 및 DB의 작동 불능(지연)
기능 결함 : 프로세스와 기능의 결과가 기대결과와 불일치
GUI 결함 : UI 비일관성, 표시 오류, 부정확한 메시지
문서 결함 : 문서, 메뉴얼의 불일치와 의사소동이 원활하지 않음
✔️심각도
HIGH : 작동 불능
MEDIUM : 흐름에 영향(부정확한 기능)
LOW : 약간 불편(오타)
✔️ 어플리케이션 성능 저하 원인 분석
종류 | 설명 |
BD연결 | - 과도한 조회, 갱신 (DB Lock) |
- 불필요한 데이터 요청 (DB Fetch) | |
- 사용 후 종료하지 않음 (Connection Leek) | |
- 커넥션 풀 사이즈가 너무 작거나 큼 | |
- 잘못 된 트랜잭션(Commit) | |
내부로직 | - 인터넷 접속 불량 |
- 업로드 / 다운로드 상태불량 | |
- 예외 처리 불량 | |
외부 / 환경설정 | - 외부 작업에 대한 장시간 지연 |
- 메모리 크기 작게 설정 | |
- 네트워크 장비 오류 및 지연 |
*️⃣ Clean Code
- 가동성, 의존성 배제
- 단순성, 중복 최소화
*️⃣ Bad Code
- 복잡함, 중복됨
- 로직 서로 얽혀 있음
'정보처리기사' 카테고리의 다른 글
논리 데이터베이스 설계 (0) | 2022.04.10 |
---|---|
인터페이스 구현 (0) | 2022.04.09 |
어플리케이션 테스트 (0) | 2022.04.08 |
SW 설치 메뉴얼 (0) | 2022.04.08 |
인터페이스 방법 명세화/설계서 작성 (0) | 2022.04.07 |