//구글콘솔 광고 추가가
들어가기 전 알아둬야 할 3.1 용어, 3.2 용어 설명.
: 사전적으로 설명정리한 건 바로 앞에 적어둔 블로그 용어 설명ㄱㄱ
사용자 스토리 : 일상 또는 비즈니스 언어로 사용자가 필요로 하는 기능, 그것의 이유, 비기능 조건, 인구 조건 등을 포착하는 한 문장으로 구성된 사용자 또는 비즈니스 요구사항.
백로그 :  프로젝트 관리, 소프트웨어 개발, 업무 관리 등 다양한 분야에서 사용되는 용어로, 완료되지 않은 작업 항목들의 리스트나 목록을 가리킴.

공식 리뷰
 : 공식 산출물로 정의된 프로세스를 따르는 리뷰 유형.
리뷰어 : == 검토자. 작업 산출물의 이슈를 식별하는 리뷰 작업 참여자.

워크스루 : 검토 자료를 회의 전에 배포해서 사전검토한 후 짧은 시간 동안 회의 진행.(비형식적인 검토기법.)
인스펙션 : 다른 전문가 또는 팀이 검사하여 문제를 식별하고 문제 해결.(형식적 검토기법.)

퍼실리테이션 : 직역- 용이성,편리성. 집단의 공동의 목적을 쉽게 달성할 수 있도록 도구와 기법을 활용하여 절차를 설계하고 중립적인 태도로 진행 과정을 돕는 활동을 일컬음.

 

3.1 정적 테스팅의 기초
정적 테스팅테스트 대상 소프트웨어를 실행하지 않아도 된다.
테스팅의 목표 품질 개선, 결함 식별, 또한 가독성/완전성/정확성/테스트 용이성/일관성과 같은 특성을 평가하는 것이며 베리피케이션과 밸리데이션 모두에 적용할 수 있다. 
사용자 스토리가 완전하고 이해하기 쉬우며, 테스트 가능한 인수 조건을 가지고 있는지 확인하기 위해 리뷰 기법을 적용할 수 있다. 적절한 질문을 통해 테스터는 제안된 사용자 스토리를 탐색하고, 문제를 제기하며 개선하는 데 도움을 준다.
정적 분석테스트 케이스가 필요 없고, 도구를 사용하는 경우가 많기 때문에 상대적으로 적은 노력으로 동적 테스팅 전에 문제를 식별할 수 있다.
정적 분석주로 구체적인 코드 결함을 식별하는 데 사용하지만, 유지보수성과 보안을 평가하는 데도 사용된다.
맞춤법 검사기나 가독성 도구로 정적 분석 도구의 예라 할 수 있다.

 

3.1.1 정적 테스팅으로 검사 가능한 작업 산출물
  • 정적 테스트를 사용해 거의 모든 작업 산출물을 검토할 수 있다. ex> 요구사항 명세서, 소스 코드, 테스트 계획서, 테스트 케이스, 제품 백로그 항목, 테스트 차터, 프로젝트 문서, 계약서, 모델 등이 그 대상이 될 수 있다.
  • 읽고 이해할 수 있는 모든 작업 산출물은 리뷰 대상이 될 수 있다. But, 정적 분석의 경우, 작업 산출물을 검토할 수 있는 기준이 되는 어떤 구조가 필요하다. ex> 모델, 공식 문법이 정해진 코드나 텍스트.
  • 사람이 해석하기 어려운 것과 도구로 분석해서는 안 되는 작업 산출물(ex> 법적으로 문제가 되는 타사의 실행 코드)은 정적 테스트에 적합하지 않은 작업 산출물이다.
3.1.2 정적 테스팅의 가치
  1. 소프트웨어 개발수명주기 초기 단계에서 결함을 식별하기 때문에 조기 테스팅 원리를 지킬수 있게 한다.
  2. 동적 테스팅으로 식별할 수 없는 결함(ex> 도달 불가능한 코드)을 찾을 수도 있다.
  3. 작업 산출물의 품질을 평가하고 신뢰를 쌓을 방법을 제공한다.
  4. 문서화된 요구사항을 확인함으로써 이해관계자는 요구사항이 실제로 자기가 필요한 것을 묘사하고 있는지 확인할 수 있다.
  5. 소프트웨어 개발수명주기 초기에 수행할 수 있으므로 관련된 이해관계자 간 공통된 이해를 형성할 수 있다. 관련된 이해관계자 간의 의사소통도 개선된다. 때문에 정적 테스팅에 다양한 이해관계자가 참여하는 것이 권장됨.
  6. 리뷰를 구축하는 비용은 클수 있지만, 프로젝트 후반에 결함을 수정하는 시간과 노력이 줄어들어 리뷰를 수행하지 않을 때보다 전체 프로젝트 비용이 훨씬 낮아지는 경우가 많다.
  7. 동적 테스팅 보다 효율적으로 코드 결함을 식별할 수 있으며, 대부분의 경우 결과적으로 코드 결함이 줄고, 전반적인 개발 노력도 감소한다.

 

3.1.3 정적 테스팅과 동적 테스팅의 차이
: 정적 테스팅과 동적 테스팅은 서로를 보완한다.
< 정적 테스팅과 동적 테스팅의 차이 >
- 모두 결함을 식별한다는 것은 같지만, 정적 테스팅이나 동적 테스팅 중 한 가지로만 식별할 수 있는 결함 유형도 있다.
정적 테스팅 동적 테스팅
- 결함을 직접 식별한다. - 장애를 일으킨 후 연관된 결함을 후속 분석을 통해 찾아낸다.
- 거의 실행되지 않거나 동적 테스팅으로 도달하기 어려운 코드 경로에 있는 결함을 더 쉽게 발견할 수 있다.  
- 비 - 실행 작업 산출물에도 적용할수 있다. - 실행 가능한 작업 산출물에만 적용할 수있다.
- 코드 실행에 의존하지 않는 품질 특성(ex>유지보수성)을 측정할 수있다. - 코드 실행에 의존적인 품질 특셩(ex> 성능 효율성)을 측정할 수 있다.

 

< 정적테스팅을 통해 더 쉽게, 적은 비용으로 식별할 수 있는 대표적인 결함 >
- 요구사항 결함(ex> 불일치, 모호성, 모순, 누락, 부정확성, 중복)
- 설계 결함(ex> 비효율적인 데이터 베이스 구조, 모듈화 불량)
- 특정 유형의 코딩 결함(ex> 정의되지 않은 값을 가진 변수, 선언되지 않은 변수, 도달할 수 없거나 중복된 코드, 과도한 코드 복잡성)
- 표준위반(ex> 코딩 표준 명명 규칙을 준수하지 않는 경우)
- 잘못된 인터페이스 명세(ex> 매개변수의 개수, 유형, 순서 불일치)
- 특정 유형의 보안 취약성(ex> 버퍼 오버플로우)
- 테스트 베이시스 커버리지의 차이 또는 부정확성(ex> 인수 조건 하나에 대한 테스트 누락)

 

3.2 피드백과 리뷰 프로세스
- 3.2.1 이해관계자 피드백을 조기에 받을 때의 이점
1. 잠재적인 품질 문제를 조기에 파악할 수 있음.
2. 요구사항에 대한 오해를 방지하고 요구사항 변경을 조기에 이해하고 구현할 수 있음. 이를 통해 개발팀은 구현 중인 제품에 대한 이해도를 높일 수 있다. And 이해 관계자에게 가장 중요하고, 식별한 리스크에 가장 긍정적인 영향을 미치는 기능에 집중할 수 있음.

 

3.2.2 리뷰 프로세스 활동
  • 계획 : 계획 단계에서 목적, 리뷰 대상 작업 산출물, 평가할 품질 특성, 집중할 영역, 완료 조건, 표준과 같은 추가 정보, 공수, 리뷰 일정 등으로 구성되는 리뷰의 범위를 정의해야 함.
  • 리뷰 착수 : 리뷰 착수의 목표는 관련된 모든 사람과 사항이 리뷰를 시작할 준비가 되었는지 확인하는 것. 여기엔 모든 참여자가 리뷰 중인 작업 산출물에 접근할 수 있는지, 자신의 역할과 책임을 이해하고 있는지, 리뷰를 수행하는 데 필요한 것들을 받았는지 확인하는 과정이 포함됨.
  • 개별 리뷰 : 모든 검토자(리뷰어)는 하나 이상의 리뷰 기법(ex> 체크리스트 기반 리뷰, 시나리오 기반 리뷰)을 적용해 리뷰 중인 작업 산출물의 품질을 평가하고, 이상 사항, 권장 사항, 의문 사항을 식별하기 위해 개별 기뷰를 수행함. 검토자(리뷰어)는 식별한 모든 이상 사항, 권장 사항, 의문 사항을 기록.
  • 논의 및 분석 : 리뷰 중에 확인한 이상 사항이 반드시 결함은 아니므로 모든 이상 사항에 대해 분석하고 논의할 필요가 있음. 각 이상 사항의 상태, 담당자, 필요 조치를 판단해야 함. 일반적으로 리뷰 회의에서 이루어지며, 회의에 참가자들은 리뷰한 작업 산출물의 품질 수준과 필요한 후속 조치도 결정. 조치를 완료하기 위해 후속 리뷰가 필요할 수 있음.
  • 수정 및 보고 : 모든 결함에 대한 결함 보고서를 작성해 후속 조치가 추적 가능하도록 함. 완료 조건을 충족하면 작업 결과물을 승인할 수 있으며 리뷰 결과를 보고 한다.
3.2.3 리뷰에서의 역할과 책임
리뷰에는 다양한 이해관계자가 참여하며, 한명이 여러 역할을 동시에 맡을 수도 있다.
주요 역할 책임
관리자 리뷰할 내용을 결정, 리뷰에 필요한 사람과 시간 등 자원을 제공.
저자 리뷰 대상 작업 산출물을 작성하고 수정.
중재자(==퍼실리테이터) 중재, 시간 관리, 모든 사람이 자유롭게 발언할 수 있는 안전한 리뷰 환경 조성 등 리뷰 회의의 효과적인 운영을 담당.
서기(==기록자) 리뷰어로부터 이상 사항을 수집하고, 결정 사항이나 리뷰 회의 중에 발견한 새로운 이상 사항 등 리뷰 정보를 기록.
리뷰어(==검토자) 리뷰를 수행한다. 리뷰어는 프로젝트에 참여하는 사람 또는 주제 전문가, 기타 이해관계자가 될 수 있음.
리뷰 리더 리뷰에 참여할 사람을 결정하고, 리뷰 시간과 장소를 협의하는 등 리뷰에 대한 전반적인 책임을 짐.

 

3.2.4 리뷰 유형
비공식 리뷰부터 공식 리뷰까지 다양한 리뷰 유형이 있다.
필요한 리뷰 목적을 달성하려면 적절한 리뷰 유형을 선택하는 것이 중요!
< 많이 사용하는 4가지 리뷰 유형 >
리뷰 유형  특징 KeyWord
비공식 리뷰 정의된 프로세스를 따르지 않으며, 공식적인 결과 문서도 요구하지 않음.
주요 목적 : 이상 사항을 식별하는 것.
 문서작성X
워크쓰루  저자가 리더가 되는 워크쓰루를 통해 품질 평가 및 작업 산출물에 대한 신뢰 구축, 리뷰어 교육, 합의 도출, 새로운 아이디어 창출, 저자가 개선할 수 있도록 동기 부여 및 지원, 이상 사항 발견 등 여러가지 목적을 달성할 수있음. 
리뷰어는 워크쓰루 전에 개별 리뷰를 수행할 수도 있지만, 반드시 해야하는 것은 아님.
저자가 리더, 
리뷰어 훈련
기술 리뷰  기술적인 자격을 갖춘 리뷰어가 수행하고 중재자가 리더가 됨.
주요 목적 : 기술 문제에 대한 합의를 도출하고 결정을 내리며, 이상 사항 식별, 품질 평가 및 작업 산출물에 대한 신뢰 구축, 새로운 아이디어 창출, 저자가 개선할 수 있도록 동기를 부여하고 지원하는 것.
중재자가 리더,
저자의 개선의지 향상
인스펙션 가장 공식적인 리뷰 유형. 
보편적으로 프로세스를 철저히 따라야 함. 
주요 목적 : 이상 사항을 최대한 많이 찾는 것.
기타 목적 : 품질 평가, 작업 산출물에 대한 신뢰 구축, 저자가 개선할 수있도록 동기 부여 및 지원.
메트릭을 수집해 리뷰 프로세스를 포함한 전체 소프트웨어 개발수명주기를 개선하는 데 사용. +잠재적 결함 식별.
저자가 리뷰 리더나 서기가 될수 없음 
저자가 리뷰리더나 서기가 될 수 없음,
프로세스 개선에 사용

 

3.2.5 리뷰의 성공 요소
  • 명확한 목표와 측정 가능한 완료 조건을 정의. 참가자의 평가나 목적이 되어서는 절대 X.
  • 주어진 목표를 달성할 수 있으면서 작업 산출물 유형, 리뷰 참여자, 프로젝트 요구사항 및 정황에 맞는 리뷰 유형 선택.
  • 리뷰어가 개별 리뷰 또는 리뷰 회의에서 집중력을 잃지 않도록 작은 단위로 리뷰 진행.
  • 이해관계자와 저자에게 리뷰 피드백 제공 >> 제품 및 활동을 개선할 수 있도록 함.
  • 참가자가 리뷰를 준비할 수 있는 충분한 시간 제공.
  • 리뷰 프로세스를 관리층이 지원.
  • 학습 및 프로세스 개선 촉진을 위해 리뷰가 조직 문화의 일부가 되도록 한다.
  • 모든 참가자가 자신의 역할을 어떻게 충족해야 하는지 알수 있도록 적절한 교육 제공.
  • 회의에 퍼실리테이션을 적용.

여기서는 정적 테스팅과 동적테스팅의 차이를 알아야 되며, 리뷰 역할과 책임, 리뷰 유형, 리뷰 성공 요소는 꼭 알아둬야 한다. 샘플 문제에서도 이 부분들의 문제는 하나씩 꼭 등장함!

728x90
용어 정리
: 용어부터 정리해 두고 먼저 읽어봐야 이해가 쉬움.
▼ 혹시나 더 찾아보고 싶은 단어가 있다면 여기로 가서 찾아보기 ▼
++ https://glossary.istqb.org/ko_KR/
이상 사항 : ==이상 현상. 요구사항 명세서, 설계 문서, 사용자 문서, 표준 또는 누군가의 인식이나 경험 등에 기반한 기댓값에서 벗어난 상태를 말한다. 이상 현상은 리뷰, 테스팅, 분석, 비교, 혹은 소프트웨어 제품이나 해당 문서의 사용 도중에 발견할 수 있지만, 이에 국한되지는 않음.

동적 테스팅 : 테스팅 항목의 실행과 관련된 테스트.

공식 리뷰 : 공식 산출물로 정의된 프로세스를 따르는 리뷰 유형.
비공식 리뷰 : 정의된 프로세스를 따르지 않고 문서화된 공식 결과가 없는 리뷰 유형.

인스펙션 : 작업 산출물의 이슈를 식별하기 위한 공식리뷰 유형. 리뷰 프로세스와 소프트웨어 개발 프로세스를 개선하는 데 필요한 정보를 제공.

리뷰 : 결함을 발견하거나 개선 사항을 제공하기 위해 한 명 이상의 개인이 작업 산출물 또는 프로세스를 평가하는 정적 테스팅 유형.

정적 분석 : 형식이나 구조, 내용, 문서를 기반으로, 컴포넌트나 시스템을 실행하지 않으면서 평가하는 프로세스.

정적 테스팅 : 테스트 항목의 실행을 수반하지 않는 테스팅.

기술 리뷰 : 작업 산출물의 품질을 검사하고 명세 및 표준과의 불일치를 식별하는 기술 전문가의 공식 리뷰.

위크 쓰루 : == 워크스루. 작성자가 작업 산출물에 대한 리뷰를 주도하고, 참가자들은 발생 가능 이슈에 대한 질문과 의견을 제시하는 리뷰 유형.


3장은 공부시간이 80분으로  6장 테스트 지원도구(20분) 외에 가장 짧은 시간이 필요하다. 읽어보면서 이해하고 넘어가야 80분의 시간 안에 끝낼 수 있다. 아무 생각 없이 읽기만 반복한다면 뫼비우스의 띠처럼 글씨, 글씨, 글씨로 시간이 줄줄이 흘러가 버려지는 시간이 늘어날 수 있다. 도저히 집중이 안된다 싶다면 문제를 풀어보면서 해설을 읽으며 공부해도 좋은 구역이다.

728x90

+ Recent posts