1. 정적기법 : 개발 프로세스의 초기에 결함을 발견함으로써 전체 개발 수명주기의 효율을 높여 개발 비용을 낮추는데 도움을 주는 테스팅 활동
실제 시스템이 구현되기 전에 요구사항 정의서, 설계(기준)서, 소스코드 등의 개발 산출물(Work products)을 테스팅(리뷰/인스펙션, 정적 분석)
2. 테스팅 기법의 차이 :
1) 정적테스팅 : 프로그램을 실행시키지 않고 테스팅 수행 / (매트릭스 기반, 전문가 기반, 시나리오 기반)
2) 동적테스팅 :
1) 블랙박스 테스팅 : 경계값 분석, 결정 테이블, 상태전이 테이블, 등가분할, UseCase 테스팅
2) 화이트 박스 테스팅 : 시스템 내부구조 분석 기반에 테스트 케이스를 도출하고 선정하는 절차
3. 정적기법의 종류(Review)
1) 비공식적리뷰 : 형식적인 프로세스가 없다, -Pair Programming이나 기술 리더가 설계와 코드를 리뷰, 조건에 따라 문서화 가능
2) 워크쓰루 : 작성자(Author)에 의해 주도되는 미팅, 조건적인 리뷰어들의 미팅 전 준비(Pre-meeting perparation),
리뷰 리포트, 발견 사항과 필기자(scribe)의 리스트===배우고, 이해하고, 결점을 발견
3) 기술적 리뷰 : 문서화 되고, 동료와 기술적인 전문가를 포함하는 결함 탐지(defect-detecting)을 위한 정의된 프로세스, 동료가 리뷰를,
pre-meeting preparation
4) 인스펙션 : 공식화된 절차와 훈련된 조정자(modrator)에 의하여 주도, 시작과 종료 특성(entry & exit criteria)을 가진 규칙과 체크리스트에 기반한 형식적인 프로세스, -목적 : 결함의 발견, pre-meeting preparation
4. 자동화된 정적분석 : 프로그램의 원본을 읽어서 가능한 결함과 이상을 찾아내는 소프트웨어 도구
1) 자동화된 정적 분석의 점검항목 :
1) 데이터 결함 : 초기화되기 전에 사용된 변수
2) 제어 결함 : 제어가 도달할 수 없는 코드
3) 입출력 결함 : 중간에 배정문 없이 변수를 두 번 출력
4) 인터페이스 결함 : 매개변수 타입 불일치 / 매개변수 개수 불일치
5) 기억 장소 관리 결함 : 배정되지 않은 포인터 / 포인터 계산
Java 개발자를 위한 Maven + SonarQube + Docker로 시작하는 코드 정적 분석
코드를 분석하여 중복, 테스트 커버리지, 코드 복잡도, 버그, 보안 취약성 등을 리포팅
https://sonarcloud.io/explore/projects
'02.SW' 카테고리의 다른 글
SW 개발 보안 - 난독화 (0) | 2020.06.24 |
---|---|
프로젝트 관리 - 진척관리 (0) | 2020.06.24 |
감리 - 정보화사업 공통감리 - 상주감리 (0) | 2020.06.24 |
감리 - 정보화사업 공통감리 (0) | 2020.06.24 |
SW 신뢰성 (Reliability), 가용성 (Availability) (0) | 2020.06.24 |