ISTQB CTFL - 2.2. 테스트 레벨과 테스트 유형
·
ISTQB/CTFL
테스트 레벨함께 구성하고 관리하는 테스트 활동 집합특정 개발 단계의 소프트웨어와 관련된 테스트 프로세스의 인스턴스단계에 따라 소프트웨어는 개별 컴포넌트부터 완성된 시스템, 경우에 따라 시스템의 시스템까지 포함소프트웨어 개발수명주기(SDLC) 내에서 테스트 레벨*순차적 소프트웨어 개발수명주기(SDLC) : * 한 레벨의 완료 조건이 다음 레벨의 시작 조건에 포함되도록 테스트 레벨을 정의*반복적 모델 : * 개발 활동이 여러 테스트 레벨에 걸쳐 진행되고 시간이 지나면서 테스트 레벨이 서로 겹침테스트 유형특정 품질 특성 관련 테스트 활동의 집합대부분 모든 테스트 레벨에서 수행 가능2.2.1 테스트 레벨컴포넌트 테스팅(단위 테스팅)개별 컴포넌트 테스트테스트 하네스 또는 단위 테스트 프레임워크 필요주로 개발자가 ..
ISTQB CTFL - 2.1 소프트웨어 개발수명주기(SDLC)에서의 테스팅
·
ISTQB/CTFL
소프트웨어 개발수명주기(SDLC) 모델은 소프트웨어 개발 프로세스를 상위 수준에서 추상화하여 표현한 것이다. SDLC 모델은 개발 프로세스의 단계와 활동 유형이 논리적, 시간적으로 어떻게 연관되는지 정의한다.순차적 개발 모델: 폭포수 모델, V-모델반복적 개발 모델: 나선형 모델, 프로토타이핑점진적 개발 모델: 통합 프로세스소프트웨어 개발 프로세스의 일부 활동은 특정 개발 방법과 애자일 실천법으로 설명된다.인수 테스트 주도 개발(ATDD)행위 주도 개발(BDD)도메인 주도 설계(DDD)익스트림 프로그래밍(XP)기능 주도 개발(FDD)칸반(Kanban)린(lean) IT스크럼(Scrum)테스트 주도 개발(TDD)2.1.1. 소프트웨어 개발수명주기(SDLC)가 테스팅에 미치는 영향테스팅의 성공을 위해 알맞은..
ISTQB CTFL - 1.3 테스팅의 원리
·
ISTQB/CTFL
1.3 테스팅의 원리1. 테스팅은 결함의 존재를 밝히는 활동테스팅은 결함이 있음을 보여줄 수 있지만, 결함이 없음을 증명할 수 없다. 결함이 발견되지 않아도 소프트웨어가 완벽하다는 뜻은 아니다.2. 완벽한 테스팅은 불가능모든 것은 테스트하는 것은 현실적으로 불가능하다. 따라서 테스트 기법, 테스트 케이스 우선순위 지정, 리스크 기반 테스팅을 통해 테스트 노력을 집중해야 한다.3. 조기 테스팅의 중요성프로세스 초기에 결함을 발견해 제거하면 후속 결함을 예방할 수 있다. 이는 소프트웨어 개발 수명주기 후반에 발생할 수 있는 장애를 줄이고, 품질 비용을 절감할 수 있다.4. 결함의 집중 현상대부분의 결함은 소수의 시스템 컴포넌트에 집중되는 경향이 있다. 이는 파레토 원리의 예로, 리스크 기반 테스팅의 주요 입..
ISTQB CTFL - 1.4. 테스트 활동, 테스트웨어, 테스트 역할
·
ISTQB/CTFL
테스팅은 정황에 의존적이지만, 상위 수준에서 봤을 때 만약 없다면 테스팅이 테스트 목적을 달성하기 어렵게 되는 보편적인 테스트 활동이 있다. 이런 테스트 활동이 테스트 프로세스(test process)를 구성하게 된다. 테스트 프로세스는 여러 요인을 기반으로 주어진 상황에 맞게 조정될 수 있다. 테스트 프로세스에 포함할 테스트 활동과 그러한 활동의 구현 방법과 수행 시기는 보통 해당하는 상황의 테스트 계획을 할 때 결정한다1.4.1 테스트 활동과 업무테스트 활동과 업무는 순차적으로 수행되는 것처럼 보일 수 있으나, 실제로는 반복적 또는 병렬로 구현되는 경우가 많다.테스트 계획테스트 목적을 정의한 다음 전반적인 상황에 따른 제약 조건 내에서 목적을 가장 잘 달성할 수 있는 접근법을 선택하는 것테스트 모니터..
ISTQB CTFL - 1.5. 테스팅의 필수 기술 및 모범 사례
·
ISTQB/CTFL
기술이란 어떤 일을 잘 해내는 능력으로, 그 사람이 가진 지식, 경험, 적성에서 비롯된다. 우수한 테스터는 업무를 잘 수행하기 위한 몇 가지 필수적인 기술을 갖추어야 한다. 우수한 테스터는 팀플레이, 즉 협업에 능한 사람이어야 하며, 다양한 수준의 독립성으로 테스팅을 수행할 수 있어야 한다.1.5.1 테스팅에 보편적으로 필요한 기술테스팅 지식철저함, 신중함, 호기심, 세부사항에 대한 주의력, 체계적인 접근우수한 의사소통 기술, 경청하는 자세, 팀플레이분석적 사고, 비판적 사고, 창의석기술 지식도메인 지식테스터는 종종 좋지 않은 소식을 전해야 하므로, 의사소통 기술이 매우 중요하다. 테스트 결과 전달 시 비판으로 오해받을 수 있으며, 확증 편향 때문에 정보 수용이 어려울 수 있다. 테스팅을 파괴적인 활동으..
ISTQB 1장 예상 문제
·
ISTQB/CTFL
예상문제문제 1: 소프트웨어 테스팅의 주요 목적은?A) 소프트웨어의 모든 결함을 완벽히 제거하는 것B) 소프트웨어 결함의 존재를 밝히고, 품질을 평가하는 것C) 소프트웨어 개발 비용을 줄이는 것D) 소프트웨어 개발 속도를 높이는 것정답(드래그) B 해설(드래그)소프트웨어 테스팅의 주요 목적은 소프트웨어 결함의 존재를 밝히고, 소프트웨어의 품질을 평가하는 것문제 2: 테스팅이 결함을 식별하는 활동인 이유는 무엇인가?A) 결함이 없는 소프트웨어를 만드는 것이 목적이기 때문에B) 결함이 있을 때만 소프트웨어를 수정할 수 있기 때문에C) 결함이 있다는 것을 증명하기 위해D) 소프트웨어의 신뢰성을 보장하기 위해정답(드래그) C 해설(드래그)테스팅은 소프트웨어에 결함이 있음을 증명하기 위한 활동입니다. 이는 소프트..
ISTQB CTFL - 1.2 테스팅이 왜 필요한가
·
ISTQB/CTFL
테스팅은 정해진 범위, 시간, 품질, 예산 내에서 합의된 목표를 달성하는 데 도움을 준다. 테스팅은 테스트팀만의 활동이 아니며, 모든 이해관계자는 자신이 가진 테스트 기술을 사용해 프로젝트 성공에 기여할 수 있다. 컴포넌트, 시스템, 관련 문서를 대상으로 한 테스팅은 소프트웨어 결함을 식별하는 데 도움이 된다.1.2.1 성공을 위한 테스팅의 기여도결함식별테스팅은 비용 효율적인 방법으로 소프트웨어 결함을 식별한다. 식별된 결함은 디버깅을 통해 제거되며, 이를 통해 테스트 대상의 품질이 향상된다.품질 평가테스팅은 소프트웨어 개발 수명주기(SDLC)의 여러 단계에서 테스트 대상의 품질을 직접 평가하는 방법을 제공한다. 이러한 평가 결과는 릴리스 여부 등의 결정에 기여한다.사용자 대변테스팅은 개발 프로젝트에서 ..
1장 - 1.1 테스팅이란 무엇인가
·
ISTQB/CTFL
1.1 테스팅이란 무엇인가소프트웨어 시스템은 우리 생활의 많은 부분과 밀접하게 연관되어 있다. 올바르게 동작하지 않는 소프트웨어는 금전적, 시간적, 비즈니스 평판 손실뿐만 아니라 부상이나 사망에 이르기 까지 다양한 문제를 일으킬 수 있다. 소프트웨어 테스팅을 통해 품질을 평가하고 소프트웨어 사용시 나타나는 장애의 위험을 줄일 수 있다.소프트웨어 테스팅은 결함을 식별하고 소프트웨어 산출물의 품질을 평가하는 일련의 활동이다. 테스트의 대상이 되는 산출물을 테스트 대상(test object)이라고 한다. 흔히 테스팅이 소프트웨어를 실행하고 결과를 확인하는 테스트 수행(test execution)에 국한된다고 오해하지만, 실제로 테스팅 호라동은 소프트웨어 개발 수명주기(SDLC)에 따라 달라진다.테스팅에 대한 ..