4.4. 경험 기반 테스트 기법
·
ISTQB/CTFL
4.4.1 오류 추정테스터의 지식을 기반으로 오류, 결함, 장애 발생을 예측하는 기법이다.테스터의 지식에 포함되는 요소애플리케이션의 과거 동작: 애플리케이션이 과거에 어떻게 작동했는지에 대한 지식개발자가 범하기 쉬운 오류 유형: 개발자가 자주 저지르는 오류 및 그로 인해 발생하는 결함 유형유사 애플리케이션에서 발생한 장애 유형: 다른 비슷한 애플리케이션에서 발견된 장애 유형오류, 결함, 장애와 관련된 요소입력: 올바른 입력을 인식하지 못함, 매개변수 오류 또는 누락출력: 잘못된 형식, 잘못된 결과논리: 사례 누락, 잘못된 연산자계산: 잘못된 피연산자, 잘못된 계산인터페이스: 매개변수 불일치, 호환되지 않는 유형데이터: 잘못된 초기화, 잘못된 유형결함 공격오류 추정을 체계적으로 구현한 접근법이다. 테스터가..
4.3. 화이트박스 테스트 기법
·
ISTQB/CTFL
화이트박스 테스트 기법화이트박스 테스트 기법은 소프트웨어의 내부 구조와 처리를 기반으로 하는 테스트 기법으로, 주로 코드의 논리적 흐름을 검증한다.4.3.1 구문 테스팅과 구문 커버리지구문 테스팅: 실행 가능한 모든 코드 구문을 테스트하는 기법커버리지 계산: 테스트 케이스가 실행한 구문 수를 전체 실행 가능한 구문 수로 나눠서 백분율로 표시100% 구문 커버리지: 모든 구문을 적어도 한 번은 실행했다는 것을 의미하지만, 모든 결함을 식별할 수 있다는 것을 보장하지는 않는다.예제function isEven(number) { if (number % 2 === 0) { // 구문 1 return true; // 구문 2 } else { return false..
4.2. 블랙박스 테스트 기법
·
ISTQB/CTFL
블랙박스 테스트에서 사용되는 테스트 기법은 다음과 같다.동등 분할 경계값 분석 결정 테이블 테스팅 상태 전이 테스팅 4.2.1 동등 분할 테스팅정의동등 분할 테스팅은 테스트 대상이 동일한 방식으로 처리될 것으로 예상되는 데이터를 분할 단위로 나누는 기법이다. 각 분할 내의 특정 값을 테스트하는 테스트 케이스가 결함을 식별할 수 있다면, 같은 분할의 다른 값도 결함을 식별할 수 있다고 가정한다. 따라서 각 분할에 대해 하나의 테스트만 수행하면 충분하다.적용 대상동등 분할은 입력, 출력, 형상 항목, 내부 값, 시간 관련 값, 인터페이스 매개변수 등 테스트 대상과 관련된 모든 데이터 요소에 대해 식별할 수 있다.특징분할은 연속적이거나 비연속적일 수 있으며, 정렬돼 있거나, 유한 또는 무한일수 있다.분할은 ..
4장 - 4.1 테스트 기법 개요
·
ISTQB/CTFL
테스트 기법의 목적테스트 분석(무엇을 테스트할지)과 테스트 설계(어떻게 테스트할지) 작업 지원체계적인 방식으로 적은 수의 충분한 테스트 케이스 개발테스트 컨디션 정의, 커버리지 항목 및 테스트 데이터 식별 도움테스트 기법 분류블랙박스 테스트 기법 (명세 기반 기법)내부 구조 참조 없이 명시된 동작에 대한 분석 기반소프트웨어 구현 방식에 의존하지 않음구현이 바뀌더라도 필요한 동작이 동일하면 테스트 케이스 유효화이트박스 테스트 기법 (구조 기반 기법)내부 구조와 처리에 대한 분석 기반소프트웨어 설계 방식에 의존설계나 구현이 끝난 후에 테스트 케이스 생성경험 기반 테스트 기법테스터의 지식과 경험을 활용테스터의 능력에 따라 효과성 달라짐블랙박스 및 화이트박스 테스트 기법을 보완예상문제문제 1: 블랙박스 테스트 ..
ISTQB 3장 예상 문제
·
ISTQB/CTFL
문제 1: 정적 테스팅의 정의에 대해 옳은 것을 고르시오.A) 소프트웨어를 실행하여 테스트하는 방법B) 소프트웨어를 실행하지 않고 테스트하는 방법C) 하드웨어를 테스트하는 방법D) 사용자 인터페이스를 테스트하는 방법정답(드래그) B 해설(드래그)정적 테스팅은 소프트웨어를 실행하지 않고 문서나 코드 등의 작업 산출물을 검토하는 방법이다.문제 2: 다음 중 정적 테스팅으로 검사할 수 있는 작업 산출물로 옳지 않은 것은?A) 요구사항 명세서B) 소스 코드C) 실행 파일D) 설계 문서정답(드래그) C 해설(드래그)실행 파일은 동적 테스팅의 대상으로, 실제로 소프트웨어를 실행하여 테스트하는 항목이다. 정적 테스팅은 문서나 소스 코드 등을 대상으로 한다.문제 3: 정적 테스팅의 주요 가치는 무엇인가?A) 소프트웨어..
3.2. 피드백과 리뷰 프로세스
·
ISTQB/CTFL
3.2.1. 이해관계자 피드백을 조기에 자주 받을 때의 이점피드백을 조기에 자주 받을 수록 잠재적인 품질 문제를 조기에 파악할 수 있다. 이해관계자가 원하는 것을 전달하지 못하면 큰 비용이 드는 재작업, 납기일 지연, 서로간의 비난 등이 발생할 수 있으며 프로젝트가 완전히 실패할 수도 있다.소프트웨어 개발수명주기(SDLC) 전반에 걸쳐 이해관계자의 피드백을 자주 받으면 요구사항에 대한 오해를 방지하고 요구사항 변경을 조기에 이해하고 구현할 수 있다. 이를 통해 개발팀은 구현 중인 제품에 대한 이해도를 높일 수 있으며 이해관계자에게 가장 중요하고, 식별한 리스크에 가장 긍정적인 영향을 미치는 기능에 집중할 수 있다.3.2.2. 리뷰 프로세스 활동ISO/IEC 20246 표준특정 상황에 맞게 리뷰 프로세스를..
3장 - 3.1 정적 테스팅의 기초
·
ISTQB/CTFL
정적 테스팅소프트웨어를 실행하지 않고 수행하는 테스팅코드, 프로세스 명세, 시스템 아키텍처 명세 등 작업 산출물을 수동으로 또는 도구를 사용해 평가테스팅 목표품질 개선결함 식별가독성, 완전성, 정확성, 테스트 용이성, 일관성 등의 특성 평가베리피케이션과 벨리데이션 모두에 적용 가능협업 예제예제 매핑, 사용자 스토리 공동 작성, 백로그 개선 작업 시 테스터, 비즈니스 담당자, 개발자가 협업사용자 스토리가 정의된 기준을 충족하는지 확인리뷰 기법을 통해 사용자 스토리가 완전하고 이해하기 쉬우며, 테스트 가능한 인수 조건을 가지고 있는지 확인정적 분석테스트 케이스가 필요 없고 도구를 사용해 수행동적 테스팅 전에 문제를 식별할 수 있어 상대적으로 적은 노력 소요주로 코드 결함 식별 유지보수성 및 보안 평가에 사용..
ISTQB 2장 예상 문제
·
ISTQB/CTFL
2장의 정리된 내용을 바탕으로 예상문제 풀이 및 해설예상문제문제 1: 컴포넌트 테스팅과 시스템 테스팅의 주요 차이점은 무엇인가?A) 컴포넌트 테스팅은 독립 테스트팀이 수행하고, 시스템 테스팅은 개발자가 수행한다B) 컴포넌트 테스팅은 개별 컴포넌트를 테스트하고, 시스템 테스팅은 전체 시스템을 테스트한다C) 컴포넌트 테스팅은 기능 테스팅만 포함하고, 시스템 테스팅은 비기능 테스팅만 포함한다D) 컴포넌트 테스팅은 상향식 접근법을 사용하고, 시스템 테스팅은 하향식 접근법을 사용한다정답(드래그) B 해설(드래그) 컴포넌트 테스팅은 개별 컴포넌트를 테스트하는 것이고, 시스템 테스팅은 전체 시스템의 전반적인 동작과 기능을 테스트하는 것문제 2: 반복적 점진적 개발 모델에서 리그레션 테스팅이 필요한 이유는 무엇인가?A..