프로그래밍 19

6. 테스팅 지원 툴

6.1 테스팅 툴(도구)의 종류 6.1.1 테스트 툴의 분류 테스팅의 여러가지 측면을 지원하기 위한 많은 툴들이 존재한다. 여기서는 테스팅 툴이 지원하는 테스팅 활동에 따라 툴을 구분하였다. 6.1.2 테스팅 관리 지원 툴 테스팅 관리 지원 툴은 전체 소프트웨어 수명주기에 걸쳐 모든 테스팅 활동에 사용된다. 테스팅 관리 지원 툴에는 테스트 관리 툴, 인시던트 관리 툴, 요구사항 관리 툴, 형상 관리 툴 등이 있다. 테스트 관리 툴 인시던트 관리 툴 요구사항 관리 툴 형상관리 툴 6.1.3 정적 테스팅 지원 툴 리뷰 툴 정적 분석 툴 모델링 툴 6.1.4 테스트 설계 지원 툴 테스트 설계 툴 테스트 데이터 준비 툴 6.1.5 테스트 실행 및 로깅 지원툴 테스트 실행 툴 6.1.6 성능과 모니터링 툴 동적 ..

5. 테스트 관리 (Test Management)

5.1 테스트 조직 5.2 테스트 계획과 추정 5.3 테스트 진행 모니터링과 제어 5.4 형상 관리 5.5 리스크와 테스팅 5.6 인시던트 관리 5.7 테스트 심사 및 평가 5.1 테스트 조직 5.1.1 테스트 조직과 독립성 어느 정도의 독립성을 유지하는 것이 좋을지는 해당 조직의 테스팅 요구사항, 테스트 대상 제품의 특성, 요구되는 품질 수준 또는 프로젝트 조직 구조 등에 따라 적합하게 가변적으로 조정되어야 한다. 다수의 테스트 레벨에 걸쳐 테스팅 하는 것이 강력한 테스팅을 위한 최선의 방법이 될 수 있다. 5.1.2 테스트 리더와 테스터의 임무 5.2 테스트 계획과 추정 5.2.1 테스트 계획 활동 5.2.2 테스트 계획 활동 내용 5.2.3 완료 조건 테스트의 완료 조건의 목적은 언제 테스팅을 종료..

4.4 구조 기반 기법(Structure - based technique)

구조 기반(화이트 박스) 테스팅은 소프트웨어나 시스템의 구조를 중심으로 테스팅하는 것이다. 시스템 또는 소트트웨어의 구조가 테스트 스위트에 의해 테스트된 정도를 커버리지라한다. 다음에서 각각의 커버리지에 대해 살펴보고 각각의 커버리지를 이해하고 설명하기 위해 관련 커버리지를 달성하는 테스트 기법에 대해서도 구체적으로 살펴보도록 한다. p.150 구문 커버리지 (=문장 커버리지 ) 문장이 한 번쯤은 실행이 되어야함 4.4.1 구문 테스팅과 커버리지 테스트 커버리지 간에는 포함관계가 존재하고, 이에 대한 이해가 중요하다. 4.4.2 결정 테스팅과 커버리지 뭘 중심으로 ? -> 조건문을 중심으로 그게 참과 거짓이 있는 것을 한 번 이상 실행시키는 것을 목표로 하고 있음 값을 넣으면 0, 1, 2->? 참 과 ..

4.3.4 상태 전이 테스팅

시스템은 현재 상황이나 이전의 이력을 반영하는 상태 및 그 변화에 따라 다르게 동작할 수 있다. 시스템의 이러한 측면을 상태 전이 다이어그램으로 표현할 수 있다. 상태테이블은 상태와 입력값 간의 관계를 보여주고, 개연성은 있지만 요구사항과 맞지 않는 전이를 보여줄 수 이싸. 실제로 시스템에서 상태로 표현될 수 있는 부분은 생각보다 많으며 상태로 표현되는 부분은 거의 모든 경우 상태 전이 테스팅 기법이 적용이 가능하다. 상태 다이어그램으로 시스템을 설계하는 경우, 존재하는 결함을 아래와 같이 모델상의 결함과 구현상의 결함으로 분류할 수 있다. 상태 전이 다이어그램이 존재할 때 아래와 같은 절차에 따라 테스트를 설계할 수 있다. 1) 상태 - 이벤트 테이블 구성 2) 전이 트리 구성 3) 반응, 또는 유효 ..

4.3.2 경계값 분석(Boundary value analysis)

등가분할의 경계부분에 해당되는 입력값에서 결함이 발견될 확률이 경험적으로 높기 때문에 결함을 방지하기 위해 경계값까지 포함하여 테스트 하는 기법이다. 해당 분할 영역의 최대값과 최소값은 그 영역의 경계값이 된다. 이러한 경계값을 고려하여 테스트 케이스를 설계해야한다. 경계값분석은 결함 발견율이 높고, 적용하기 쉬운 장점이 있어 가장 많이 사용되는 테스트 기법 중 하나이다. 경계값 분석 기법은 종종 등가 분할의 확장으로 여겨지며, 경계값 분석은 테스트 데이터 선택에도 사용될 수 있다. 경계값 분석 테스팅을 휴대폰 배터리가 표시되는 것을 예로들어 테스트 케이스가 도출되는 과정을 간단히 살펴보자. 등가 분할과 경계값 분석이 사용하기 용이하고 활용도가 높은 기법이기는 하지만 한계점도 가지고 있다. - 일련의 동..

4.3.1 등가 분할 (Equivalence partitioning) ~

등가분할은 이러한 원리를 이용하여 입력값/출력값 영역을 유한개의 상호 독립적인 집합으로 나누어 수학적인 등가 집합을 만든 후, 각 등가집합의 원소 중 대푯값 하나를 선택하여 테스트 케이스를 선정하는 것이다. 등가분할 클래스는 유효한 입력 데이터와 유효하지 않은 입력 데이터를 포함할 수 있다. 이 기법은 사람에 의한 입력, 인터페이스를 통한 시스템에의 입력, 혹은 통합 테스팅에서 인터페이스 파라미터 등 테스트를 설계할 때 테스트 조건에 등가의 집합으로 표현되는 부분이 있으면 적용될 수 있다. 테스트는 등가로 분할된 영역을 커버하기 위해 설계된다. 이렇게 설계된 테스트 케이스는 같은 특성을 가지면서 같은 방식으로 처리된다고 판단하는 모든 등가 집합에서 대표하는 입력값 등을 적어도 한 개씩은 사용하여 작성되었..

4.2 테스트 설계 기법의 종류

블랙박스 기법 : 테스트 개상의 내부 구조(코드)를 참조하지 않고,테스트 베이시스 문서, 그리고 개발자, 테스터와 사용자들의 경험을 분석하여 기능적, 혹은 비기능적인 테스트 조건과 테스트 케이스를 도출하고 선책하는 방법 화이트박스 기법 : 컴포넌트 혹은 소프트웨어의 구조(코드) 분석에 바탕을 두고 테스트 케이스를 도출하는 방법이다. 여기서는 명세기반 기법과 경험기반 기법을 블랙박스 기법으로 보고, 구조기반 기법을 화이트박스 기법으로 간주한다. 명세기반 기법의 일반적인 특징 구조기반기법의 일반적인 특징 - 코드와 개발 설계 등의 소프트웨어 구현 정보를 기반으로 테스트 케이스를 도출한다. 경험기반기법의 일반적인 특징 - 테스트 관련 인력의 지식이나 경험에서 테스트 케이스를 도출한다. 이러한 테스트 설계 기법..

이클립스 깃허브와 연동

https://d-e-v.tistory.com/3 따라하다 실패 Java 프로젝트 GitHub에 쉽게 연동하기 (with Eclipse) 대학교 졸업 프로젝트 때 협업용으로 잠깐 썼던 git을 이번엔 프로젝트 관리 목적으로 다시 사용하게 됐다.(n*ver cloud, USB의 시절은 갔습니다) 인터넷에 Git Bash (git terminal) 를 이용한 관리 방법은 d-e-v.tistory.com https://ddururiiiiiii.tistory.com/47 될뻔했는데 안됨 아이디 비번 입력하는 거에서 [Git-hub/Eclipse] 깃허브와 이클립스 연동하기 ( + 추가 및 수정) 개인적으로 공부한 코드들을 내 개인 깃허브에 차곡차곡 쌓기 위해 내가 사용하는 개발툴인 이클립스와 내 개인 깃허브를 ..

1강. Git Branch 제대로 알기

branch는 실무에서 git을 쓸 때 정말 필요한 개념 브랜치는 하나의 프로젝트에서 서로 다른 개발흐름을 병렬적으로 가져가기 위해 사용합니다. 이런 식으로 하나 이상의 개발흐름을 생성하기 위해서 branch를 사용 하는 거죠 그래서 branch는 이런 흐름에 최신 커밋을 가리키는 포인터 인데요 branch를 직접 다뤄보면서 이게 무슨 의미인지 배워보겠씁니다. git log를 살펴보면 가장 최근 커밋에 master라고 적혀있어야 하는데 저는 main이네요 암튼 master는 master branch를 의미하는 것입니다. 우리가 어떤 프로젝트를 깃으로 버전관리하면 처음으로 세팅되는 기본 branch가 이 master 브랜치입니다. master branch가 다섯번째 커밋을 가리키고 있는 거죠 또 보면 ma..

4강. Gitlab, 시작!

・ Gitlab 맛보기 ・ Remote repository란? ・ Git push/ Git pull 이때까지 버전관리를 해오던 racing Ground 프로젝트를 우리의 컴퓨터에서 외부에 있는 저장소에 업로드 하는 법을 배워보겠습니다. 👍 외부 저장소에 저장을 하게 되면 크게 2가지의 장점이 있습니다. 장점1. 프로젝트 복구 가능 장점2. 협업과 동시에 버전관리 가능 이것이 현재 많은 개발자들이 협업하고 있는 방식입니다. 외부저장소를 제공하는 서비스에는 여러가지가 있는데 이 중에서 우리는 한이음에서 제공하는 gitlab을 사용할 것인데요 복사해서 명령어 뒤에 붙여넣어줍니다. git push -u origin main 움... 계속 실패하길래 원인을 알아보니 권한이 없는 문제였습니다. https://cod..