일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- vsC
- 막창
- 맛찬들 김치찌개
- EAI
- 통합 구현
- ESB
- 다이소마켓 사기
- 관평동 맛찬들
- 대전 해프닝
- 인터페이스
- 보안용어
- 대전 뇨끼맛집
- 보쌈전골
- 대전 황해칼국수
- 정보처리기사실기
- 김치찌개
- 대전 충대근처 해프닝
- 관평동 칼국수 맛집
- 관평동 황해칼국수
- 충대근처 맛집
- Nas
- Visual Studio Code
- 정보처리기사실기공부
- 정보처리기사공부
- HTML
- 관평동 고기맛집
- 맛찬들 고기맛집
- 대전 맛집
- 관평동 맛집
- 대전 유성 해프닝
- Today
- Total
은팡이의 이것저것
[정보처리기사실기]애플리케이션 테스트 관리1 본문
오늘은 애플리케이션 테스트 관리 첫번째 입니다!
오늘도 화이팅해봅시다!😉
1.애플리케이션 테스트 케이스 작성(⭐⭐⭐)
1)소프트웨어 테스트란?
: 개발된 응용 애플리케이션이나 시스템이 사용자가 요구하는 기능과 성능, 사용성, 안정성 등을 만족하는지 확인하고, 노출되지 않은 숨어있는 소프트웨어의 결함을 찾아내는 활동
2)소프트웨어 테스트 필요성
*오류 발견 관점 : 프로그램에 잠재된 오류를 발견하고 이를 수정하여 올바른 프로그램을 개발하기 위해 필요 *오류 예방 관점 : 프로그램 실행 전에 동료 검토, 워크스루, 인스펙션 등을 통해 오류를 사전에 발견하는 예방 차원의 필요 *품질 항상 관점 : 사용자의 요구사항 및 기대 수준을 만족하도록 반복적인 테스트를 거쳐 제품의 신뢰도를 향상하는 품질 보증을 위해 필요 |
3)소프트웨어 테스트의 기본 원칙
[소프트웨어 테스트 원리] *테스팅은 결함이 존재함을 밝히는 것 : 결함이 존재함을 밝히는 활동, 결함이 없다는 것을 증명할 수는 없음, 결함을 줄이는 활동 *완벽한 테스팅은 불가능 : 완벽하게 테스팅하려는 시도는 불필요한 시간과 자원낭비 *개발 초기에 테스팅 시작 : 조기 테스트 설계 시 테스팅 결과를 단시간에 알 수 있고, 테스팅 기간 단축, 재작업을 줄여 개발 기간 단축 및 결함을 예방할 수 있다. *결함집중 : 적은 수의 모듈에서 대다수의 결함이 발견됨, 소프트웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견 *살충제 패러독수 : 동일한 테스트 케이스에 의한 반복적 테스트는 새로운 버그를 찾지 못함 *테스팅은 정황에 의존적 : 소프트웨어의 성격에 맞게 테스트 실시, 정황과 비즈니스 도메인에 따라 테스트를 다르게 수행 *오류-부재의 궤변 : 요구사항을 충족시켜주지 못한다면, 결함이 없다고 해도 품질이 높다고 볼 수 없음 |
4)소프트웨어 테스트 유형
: 프로그램 실행 여부, 테스트 상세 기법, 테스트에 대한 시각, 테스트의 목적, 테스트의 종류에 따라 분류
[프로그램 실행 여부에 따른 분류] *정적 테스트 : 테스트 대상을 실행하지 않고 구조를 분석하여 논리성을 검증하는 테스트 : 리뷰, 정적 분석 *동적 테스트 : 소프트웨어를 실행하는 방식으로 테스트를 수행하여 결함을 검출하는 테스트 : 화이트박스 테스트, 블랙박스 테스트, 경험기반 테스트 [테스트 기법에 따른 분류] *화이트박스 테스트 : 각 응용 프로그램의 내부 구조와 동작을 검사하는 소프트웨어 테스트 : 코드 분석과 프로그램 구조에 대한 지식을 바탕으로 문제가 발생할 가능성이 있는 모듈 내부를 테스트하는 방법이다. : 내부 소스 코드의 동작을 개발자가 추적할 수 있기 때문에, 동작의 유효성 뿐만아니라 실행되는 과정을 확인할 수 있다. :구문 커버리지, 결정 커버리지, 조건 커버리지, 조건/결정 커버리지, 변경 조건/결정 커버리지, 다중 조건 커버리지, 기본 경로 커버리지, 제어 흐름 테스트, 데이터 흐름 테스트 *블랙박스 테스트 : 프로그램 외부 사용자의 요구사항 명세를 보면서 수행하느 테스트 : 소프트웨어의 특징, 요구사항, 설계 명세서 등에 초점을 맞춰 테스트가 이루어진다. : 기능 및 동작 위주의 테스트를 진행하기 때문에 내부 구조나 작동 원리를 알지 못해도 가능하다 : 동등분할 테스트, 경곗값 분석 테스트, 결정 테이블 테스트, 상태 전이 테스트, 유스케이스 테스트, 분류 트리 테스트, 페어와이즈 테스트, 원인-결과 그래프 테스트, 비교 테스트 [테스트 시각에 따른 분류] *검증 : 소프트웨어 개발 과정을 테스트, 올바른 제품을 생산하고 있는지 검증, 이전 단계에서 설정된 개발 규격과 요구를 충족시키는지 판단, 개발자 혹은 시험자의 시각으로 소프트웨어가 명세화된 기능을 올바로 수행하는지 알아보는 과정 *확인 : 소프트웨어 결과를 테스트, 만들어진 제품이 제대로 동작하는지 확인, 최종 사용자 요구 또는 소프트웨어 요구에 적합한지 판단, 사용자 시각으로 올바른 소프트웨어가 개발되었는지 입증하는 과정 [테스트 목적에 따른 분류] *회복 테스트 : 시스템에 고의로 실패를 유도하고, 시스템의 정상적 복귀 여부를 테스트하는 기법 *안전 테스트 : 불법적인 소프트웨어가 접근하여 시스템을 파괴하지 못하도록 소스 코드 내의 보안적인 결함을 미리 점검하는 테스트 기법 *성능 테스트 : 사용자의 이벤트에 시스템이 응답하는 시간, 특정 시간 내에 처리하는 업무량, 사용자 요구에 시스템이 반응하는 속도 등을 측정하는 테스트 기법 *구조 테스트 : 시스템의 내부 논리 경로, 소스 코드의 복잡도를 평가하는 테스트 기법 *회귀 테스트 : 회귀 테스트는 오류를 제거하거나 수정한 시스템에서 오류 제거와 수정에 의해 새로이 유입된 오류가 없는지 확인하는 일종의 반복 테스트 기법 *병행 테스트 : 변경된 시스템과 기존 시스템에 동일한 데이터를 입력 후 결과를 비교하는 테스트 기법 [테스트 종류에 따른 분류] *명세 기반 테스트 : 프로그램의 요구사항 명세서를 기반으로 테스트 케이스를 선정하여 테스트하는 기법 *구조 기반 테스트 : 소프트웨어 내부 논리 흐름에 따라 테스트 케이스를 작성하고 확인하는 테스트 기법 *경험 기반 테스트 : 유사 소프트웨어나 유사 기술 평가에서 테스터의 경험을 토대로 한, 직관과 기술 능력을 기반으로 수행하는 테스트 기법 |
5)정적 테스트
: 리뷰, 정적 분석
*리뷰 : 소프트웨어의 다양한 산출물에 존재하는 결함을 검출하거나 프로젝트의 진행 상황을 점검하기 위한 활동 : 관리 리뷰, 기술 리뷰, 인스펙션, 워크스루, 감사 *정적 분석 : 도구의 지원을 받아 정적 테스트를 수행하는 방법 : 자동화된 도구를 이용하여 산출물의 결함을 검출하거나 복잡도를 측정한다. : 코딩 표준, 복잡도 측정, 자료 흐름 분석 |
6)동적 테스트
: 화이트박스 테스트, 블랙박스 테스트(명세 기반 테스트), 경험 기반 테스트
*화이트박스 테스트 : 각 응용 프로그램의 내부 구조와 동작을 검사하는 소프트웨어 테스트 : 코드 분석과 프로그램 구조에 대한 지식을 바탕으로 문제가 발생할 가능성이 있는 모듈 내부를 테스트하는 방법이다. : 내부 소스 코드의 동작을 개발자가 추적할 수 있기 때문에, 동작의 유효성 뿐만아니라 실행되는 과정을 확인할 수 있다. :구문 커버리지, 결정 커버리지, 조건 커버리지, 조건/결정 커버리지, 변경 조건/결정 커버리지, 다중 조건 커버리지, 기본 경로 커버리지, 제어 흐름 테스트, 데이터 흐름 테스트 *블랙박스 테스트 : 프로그램 외부 사용자의 요구사항 명세를 보면서 수행하느 테스트 : 소프트웨어의 특징, 요구사항, 설계 명세서 등에 초점을 맞춰 테스트가 이루어진다. : 기능 및 동작 위주의 테스트를 진행하기 때문에 내부 구조나 작동 원리를 알지 못해도 가능하다 : 동등분할 테스트, 경곗값 분석 테스트, 결정 테이블 테스트, 상태 전이 테스트, 유스케이스 테스트, 분류 트리 테스트, 페어와이즈 테스트, 원인-결과 그래프 테스트, 비교 테스트 *경험 기반 테스트 : 유사 소프트웨어나 유사 기술 평가에서 테스터의 경험을 토대로 한, 직관과 기술 능력을 기반으로 수행하는 테스트 기법 : 탐색적 테스트, 오류 추정, 체크리스트, 특성테스트 |
7)테스트 케이스
: 특정 요구사항에 준수하는 지를 확인하기 위해 개발된 입력값, 실행 조건, 예상된 결과의 집합
8)테스트 케이스 작성 절차
: 테스트 계획 검토 및 자료 확보 → 위험 평가 및 우선순위 결정 → 테스트 요구사항 정의 → 테스트 구조 설계 및 테스트 방법 결정 → 테스트 케이스 정의 → 테스트 케이스 타당성 확인 및 유지보수
9)테스트 오라클
: 테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참값을 입력하여 비교하는 기법
: 참 오라클, 샘플링 오라클, 휴리스틱 오라클, 일관성 검사 오라클
2.애플리케이션 테스트 시나리오 작성(⭐⭐)
1)테스트 레벨이란?
: 함께 편성되고 관리되는 테스트 활동의 그룹
2)테스트 레벨 종류
: 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트
*단위 테스트 : 사용자 요구사항에 대한 단위 모듈, 서브루틴 등을 테스트하는 단계 *통합 테스트 : 단위 테스트를 통과한 모듈 사이의 인터페이스, 통합된 컴포넌트 간의 상호작용을 검증하는 테스트 단계 *시스템 테스트 : 통합된 단위 시스템의 기능이 시스템에서 정상적으로 수행되는지를 검증하는 테스트 단계 *인수 테스트 : 계약상의 요구사항이 만족되었는지 확인하기 위한 테스트 단계 |
3)테스트 시나리오란?
: 테스트 수행을 위한 여러 테스트 케이스의 집합으로서, 테스트 케이스의 동작 순서를 기술한 문서이며 테스트를 위한 절차를 명세한 문서
4)테스트 시나리오 작성 시 유의점
: 테스트 항목을 하나의 시나리오에 모두 작성하지 않고, 시스템별, 모듈별, 항목별 테스트 시나리오를 분리하여 작성한다.
: 고객의 요구사항과 설계 문서 등을 토대로 테스트 시나리오를 작성한다
: 각 테스트 항목은 식별자 번호, 순서 번호, 테스트 데이터, 테스트 케이스, 예상 결과, 확인 등의 항목을 포함하여 작성한다.
5)테스트 환경 구축
: 개발된 응용 소프트웨어가 실제 운영 시스템에서 정상적으로 작동되는지 테스트하기 위하여 실제 운영 시스템과 동일한사양의 하드웨어, 소프트웨어, 네트워크 등의 환경 시설을 구축하는 활동
6)테스트 환경 구축 유형
: 하드웨어 기반의 테스트 환경 구축, 소프트웨어 기반의 테스트 환경 구축, 가상 시스템 기반의 테스트 환경 구축
*하드웨어 기반의 테스트 환경 구축 : 서버 장비, 클라이언트 장비, 내트워크 장비를 설치하는 작업 *소프트웨어 기반의 테스트 환경 구축 : 구축된 하드웨어 환경에 테스트할 응용 소프트웨어를 설치하고 필요한 데이터를 구축하는 작업 *가상 시스템 기반의 테스트 환경 구축 : 물리적으로 개발 환경 및 운영 환경과 별개로 독립된 테스트 환경을 구축하기 힘든 경우 사용 |
7)테스트 데이터
: 개념, 필요성, 유형, 준비
*개념 : 컴퓨터의 동작이나 시스템의 적합성을 시험하기 위해 특별히 개발된 데이터 집합 *필요성 : 테스트 수행 시 잘못된 데이터를 사용하면 잘못된 결과가 도출되어 시간을 낭비하고, 비용만 소진하는 결과가 나옴 *유형 : 선행된 연산에 의해 얻어진 실제 데이터와 인위적으로 만들어진 가상 데이터로 구분 *준비 : 실제 데이터는 연산에 의해 준비하거나 실제 운영 데이터를 복제하여 준비 가능 |
8)테스트 조건
: 테스트 시작 조건, 테스트 종료 조건, 테스트 성공과 실패의 파단 기준
*테스트 시작 조건 : 테스트 계획의 수립, 사용자 요구사항에 대한 테스트 명세의 작성, 투입 조직 및 참여 인력의 역할과 책임의 정의, 테스트 일정의 확정, 테스트 환경의 구축 등이 완료되었을 때 테스트 시작 조건 정의 기능 *테스트 종료 조건 : 정상적인 테스트를 모두 수행한 경우, 차기 일정의 도래로 테스트 일정이 만료되었을 경우, 테스트에 소요되는 비용을 모두 소진한 경우 등 업무 기능의 중요도에 따라 조건 설정 변경 가능 *테스트 성공과 실패의 판단 기준 : 기능 및 비기능 테스트 시나리오에 기술된 예상 결과를 만족하면 성공으로, 아니라면 실패로 판단할 수 있음 |
오늘도 고생하셨습니다!😊
도움이 되셨다면 공감버튼!💕
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사실기]애플리케이션 테스트 관리2 (0) | 2022.07.23 |
---|---|
[정보처리기사실기]소프트웨어 개발 보안 구축2 (0) | 2022.07.20 |
[정보처리기사실기]소프트웨어 개발 보안 구축1 (0) | 2022.07.20 |
[정보처리기사실기]서버 프로그램 구현2 (0) | 2022.07.17 |
[정보처리기사실기]서버 프로그램 구현1 (0) | 2022.07.16 |