1. 결함 정의 - 오류 발생, 작동 실패 등과 같이 소프트웨어가 개발자가 설계한 것과 다르게 동작하거나 다른 결과가 발생하는 것 - 사용자가 예상한 결과와 실행 결과 간의 차이, 업무 내용과의 불일치 등도 모두 결함에 해당 2. 결함 관리 프로세스 1. 결함 관리 계획 2. 결함 기록 - 테스터는 발견한 결함을 결함 관리 DB에 등록 3. 결함 검토 - 테스터, 프로그램 리더, 품질 관리 담당자 등은 등록된 결함을 검토하고 수정할 개발자에게 전달 4. 결함 수정 5. 결함 재확인 6. 결함 상태 추적 및 모니터링 활동 - 결함 유형, 발생률 등을 한눈에 볼 수 있는 대시보드/게시판 형태의 서비스를 제공 7. 최종 결함 분석 및 보고서 작성 3. 결함 상태 추적 - 결함 관리 측정 지표 1. 결함 분포 ..
Study/정보처리기사
1. 테스트 자동화 개념 - 사람이 반복적으로 하던 테스트 절차를 스크립트 형태로 구현하는 자동화 도구를 적용함 - 따라서 쉽고 효율적으로 테스트 수행 - 휴먼 에러를 줄이고 테스트 정확성을 유지, 테스트 품질 향상 2. 테스트 자동화 도구 장단점 장점 단점 - 테스트 데이터의 재입력, 재구성 같은 반복적인 작업 줄임 - 다중 플랫폼 호환성, 소프트웨어 구성, 기본 테스트 등 향상된 테스트 품질 보증 - 요구사항 등을 일관성 있게 검증 - 테스트 결과에 대한 객관적인 평가 기준 제공 - 테스트 결과를 그래프 등 다양한 형태 제공 - UI가 없는 서비스도 정밀 테스트 가능 - 자동화 도구 학습 필요 - 자동화 도구를 프로세스 단계별로 적용하기 위한 시간, 비용, 노력 발생 - 비공개 상용 도구의 경우 고가..
1. 테스트 케이스 - 요구사항을 준수했는지 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목 명세서 - 명세 기반 테스트의 설계 산출물에 해당한다 - 가장 이상적으로는 시스템 설계 시 작성해야 한다 2. 테스트 케이스 작성 순서 1. 테스트 계획 검토 및 자료 확보 2. 위험 평가 및 우선순위 결정 3. 테스트 요구사항 정의 4. 테스트 구조 설계 및 테스트 방법 결정 - 테스트 케이스의 형식과 분류 방법 결정 - 테스트 절차, 장비, 도구, 테스트 문서화 방법 결정 5. 테스트 케이스 정의 - 입력 값, 실행 조건, 예상 결과 기술 6. 테스트 케이스 타당성 확인 및 유지 보수 3. 테스트 시나리오 - 테스크 케이스를 적용하는 순서와 구체적인 절차를 명세 4. 테스트 ..
1. 애플리케이션 테스트 프로세스 - 테스트 계획 -> 테스트 분석 및 디자인 -> 테스트 케이스 및 시나리오 작성 -> 테스트 수행 -> 결과 평가 및 리포팅 -> 추적 및 관리 - 테스트 계획서, 테스트 케이스, 테스트 시나이로, 테스트 결과서가 산출된다 2. 테스트 계획 - 프로젝트 계획서, 요구 명세서 등을 기반으로 테스트 목표, 대상 및 범위를 정의 - 테스트 대상의 시스템 구조 파악 - 테스트에 필요한 조직 및 비용 산정 - 테스트 시작 및 종료 조건 정의 - 계획서 작성 3. 테스트 분석 및 디자인 - 테스트 목적과 사용자 요구사항을 분석 - 테스트 리스크 분석 및 우선순위 결정 - 테스트 데이터, 환경, 도구 등을 준비 4. 테스트 케이스 및 시나리오 작성 - 테스트 케이스 및 테스트용 스..
1. 통합 테스트 - 단위 테스트가 끝난 모듈을 통합하는 과정에서 진행하는 테스트 1. 비점진적 통합 방식 - 빅뱅 통합 테스트 : 모듈 간 상호 인터페이스 고려 없이 테스트 - 주로 소규모 프로그램이나 프로그램 일부 대상일때 실시 2. 점진적 통합 방식 - 모듈 단위로 단계적으로 통합하면서 테스트 - 오류 수정이 용이, 인터페이스와 연관된 오류를 완전히 테스트할 가능성 높음 - 종류 : 하향식, 상향식, 혼합식 2. 하향식 통합 테스트 - 깊이 우선 통합법이나 넓이 우선 통합법을 사용한다 - 테스트 초기부터 사용자에게 시스템 구조를 보여줄 수 있다 - 상위 모듈에서는 테스트 케이스를 사용하기 어렵다 - 하향식 통합 방법 절차 1. 주요 제어 모듈은 작성된 프로그램을 사용하고, 주요 제어 모듈의 종속 모..
1. 개발 단계에 따른 애플리케이션 테스트 - 소프트웨어의 개발 단계에 따라 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트로 분류 - 분류된 것을 테스트 레벨이라고 함 - 애플리케이션 테스트는 개발 단계에서부터 수행하므로 코드 오류뿐아니라 요구 분석 오류, 설계 오류 등을 발견 가능 - V-모델 : 테스트와 소프트웨어 개발 단계를 연결하여 표현한 것 2. 단위 테스트 - 코딩 직후 소프트웨어 설계 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 테스트 - 인터페이스, 외부적 IO, 자료 구조, 독립적 기초 경로, 오류 처리 경로, 경계 조건 등을 검사 - 요구사항을 기반으로 한 기능성 테스트를 최우선으로 수행 - 발견 가능한 오류 : 알고리즘 오류에 따른 원치 않는 결과, 탈출구가 없는 반복문의 ..
1. 화이트박스 테스트 - 모듈의 원시 코드를 오픈시킨 상태에서 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계 - 설계된 절차에 초점을 둔 구조적 테스트 - 프로시저 설계의 제어 구조를 사용하여 테스트 케이스를 설계하며, 테스트 과정 초기에 적용 - 모듈 안의 작동을 직접 관찰 - 프로그램의 제어 구조에 따라 선택, 반복 등 분기점 부분들을 수행함으로써 논리적 경로를 제어한다 2. 화이트박스 테스트 종류 1. 기초 경로 검사(Base Path Testing) : 수행 가능한 모든 경로를 의미 - 대표적인 화이트박스 테스트 - 절차적 설계의 논리적 복잡성을 측정할 수 있게 해줌 - 테스트 결과는 실행 경로의 기초를 정의하는 데 지침으로 사용됨 2. 제어 구조 검사(Control Structure T..
1. 프로그램 실행 여부에 따른 테스트 - 프로그램 실행 여부에 따라 정적 테스트, 동적 테스트로 나눔 1. 정적 테스트 - 프로그램 실행 X - 소스 코드를 분석 - 개발 초기에 결함 발견 가능, 따라서 개발 비용을 낮춤 - 종류 : a. 워크스루 : 개발자가 모집한 전문가들이 검토하는 것 b. 인스펙션 : 워크스루를 발전시킴. 개발 단계에서 결과물의 품질을 평가하고 개선 방법 제시 c. 코드 검사 등 2. 동적 테스트 - 프로그램 실행해서 오류를 찾는다 - 종류 : 블랙박스 테스트, 화이트박스 테스트 2. 테스트 기반에 따른 테스트 1. 명세 기반 테스트 - 요구사항을 빠짐없이 테스트 케이스로 구현해서 확인 - 종류 : 동등 분할, 경계 값 분석 등 2. 구조 기반 테스트 - 소프트웨어 내부 논리 흐..