정적기법
태그 :
- 개념
- - 실제 제품이 구현되기 전에 기획서, 요구사항 정의서, 설계서, 코드 등의 중간 산출물을 실행 없이 테스트하는 기법으로 결함 원인을 위한 테스트가 중심
I. 프로그램을 실행시키지 않고 테스팅을 수행하는 정적기법
가. 정적 테스팅 기법의 개요
- 실제 제품이 구현되기 전에 기획서, 요구사항 정의서, 설계서, 코드 등의 중간 산출물을 실행 없이 테스트하는 기법으로 결함 원인을 위한 테스트가 중심
나. 테스팅 기법의 차이점
구분 |
설명 |
|
정적 테스팅 (Static Testing) |
프로그램을 실행시키지 않고 테스팅을 수행 (매트릭스기반,전문가기반,시나리오기반) |
|
동적 테스팅 (Dynamic Testing) |
블랙박스 테스팅 |
경계값분석, 결정테이블, 상태전이테이블, 등가분할, UseCase테스팅 |
화이트박스 테스팅 |
시스템 내부구조 분석기반에 테스트 케이스 도출하고 선정하는 절차 |
II. 리뷰(review) : 소프트웨어 작업 산출물을 통한 테스트
가. 리뷰의 개요
- 작업 산출물(work products)을 시험하고, 그에 대한 논평
- 요구사항문서, 디자인 명세, 테스트 케이스, 테스트 스크립트, 사용자 가이드, 웹페이지를 포함한 모든 소프트웨어 작업 산출물이 대상
나. 리뷰의 특성
1) SW 중간 산출물을 테스팅 하는 방법
- 프로그램 코드, 요구사항 명세서, 설계 명세서, 테스트 계획서, 테스트 설계서, 테스트 케이스, 테스트 스크립트, 사용자 지침서 등
2) 소프트웨어 개발 생명 주기의 앞부분에서 수행하여 결함 제거 비용이 저렴
3) 개발 생산성 향상, 개발 시간 단축, 테스트 비용과 시간 단축
- 보다 적은 내재 결함 수와 향상된 의사소통으로 가능
4) 테스팅 기법별로 다른 종류의 결함 발견(상호 보완적)
- 리뷰 : 코드 또는 문서상의 결함 (failure는 발견하지 못함), 표준과의 불일치성, 설계 결함, 유지보수의 불충분성, 인터페이스 명세 결함
- 정적분석 : 코드의 복잡도, 구문 에러, Missing 파라미터, Dead 코드 등
다. 리뷰 프로세스 절차(Phase of a formal review)
단계 |
내용 |
계획(Planning) |
역할 분담, 시작/종료 기준 정의, 검토할 문서 설정 |
킥오프(kick-off) |
문서 배포, 목표/리뷰 프로세스/문서에 대한 설명, 시작 기준(조건) 확인 |
개별 준비 (Individual preparation) |
잠재 결함을 체크, 회의에서 제게할 질문과 코멘트 준비 |
리뷰 미팅 (Review meeting) |
토론하고 기록함 (보다 formal한 경우 상세 회의록 작성) 단순한 결함 체크 -> 결함 대처안 제안 -> 결함(처리)여부를 결정(inspection에서는 하지 말라고 하는 것) |
재작업(rework) |
발견한 결함 수정 (typically by the author) |
추가작업 (Follow-up) |
발견된 결함이 처리되었는지 확인, 매트릭 수집&확인, 리뷰 종료 기준 체크 |
라. REVIEW 종류
리뷰 |
특징 |
비형식 리뷰 (informal review) |
- 형식적인 프로세스가 없다. -Pair Programming이나 기술 리더가 설계와 코드를 리뷰 - 조건에 따라 문서화 가능 - 리뷰어에 의존하여 유용성이 변할 수 있음. - 목적 : 비용이 많이 들지 않는 방법 |
Walkthrough |
-작성자(Author)에 의해 주도되는 미팅 -시나리오들, 리허설, 동료 그룹 -미 종결된 세션 -조건적인 리뷰어들의 미팅 전 준비(Pre-meeting perparation), 리뷰 리포트, 발견 사항과 필기자(scribe)의 리스트 -상당히 비형식적인 것에서부터 매우 형식적인 것까지 다양 -목적 : 배우고, 이해하고, 결점을 발견 |
기술 리뷰 (Technical review) |
-문서화 되고, 동료와 기술적인 전문가를 포함하는 결함 탐지(defect-detecting)을 위한 정의된 프로세스 -관리자의 참가없이 동료가 리뷰를 함으로써 수행 -이상적으로는 훈련된 조정자(작성자가 아닌)에 의하여 주도 -pre-meeting preparation -때때로 체크 리스트, 리뷰 리포트, 발견 사항의 리스트를 사용하고 관리자가 참여 -상당히 비형식적인 것에서부터 매우 형식적인 것까지 다양 -목적 : 논의, 결정, 대안 사항의 평가, 결함(defect)의 발견, 기술적인 문제 해결, 명세와 표준의 준수 확인 |
점검 (Inspection) |
-공식화된 절차와 훈련된 조정자(modrator)에 의하여 주도 -공식화된 일정에 맞추어 보고서 작성 및 평가 -특성(metrics)을 포함 -시작과 종료 특성(entry & exit criteria)을 가진 규칙과 체크리스트에 기반한 형식적인 프로세스 -pre-meeting preparation -점검 보고서(inspection report), 발견사항 리스트(list of findings) -formal follow-up process -목적 : 결함의 발견 |
마. 리뷰의 성공 요소
1) 목표: 각각의 리뷰는 명확하게 미리 정의된 목표를 갖는다.
2) 인력: 리뷰의 목적에 맞는 적절한 인력이 포함
3) 의사소통: 결함의 발견은 환영되어야 하며, 객관적으로 표현되어야 한다.
4) 도구: 결함 확인의 효과를 증가시키기 위한 체크 리스트의 사용과 평가를 위한 메트릭스