728x90
반응형

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

 

SonarCloud

██████╗ ██╗ ██╗████████╗██████╗ █████╗ ████████╗███████╗██████╗ ██████╗ ██████╗ ██████╗ ██��

sonarcloud.io

 

(http://www.popit.kr/java-%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%A5%BC-%EC%9C%84%ED%95%9C-maven-sonarqube-docker-%EC%8B%9C%EC%9E%91%ED%95%98%EB%8A%94-%EC%BD%94%EB%93%9C-%EC%A0%95%EC%A0%81-%EB%B6%84%EC%84%9D/

 

Java 개발자를 위한 Maven + SonarQube + Docker로 시작하는 코드 정적 분석 | Popit

켄트 벡 Kent Beck 은 자신의 책 익스트림 프로그래밍 Extreme Programming 에서 5 가치 [1] 를 이야기 했는데 그중 하나가 피드백 Feedback 이다. 한번에 완벽하게 해결하기를 바라는 것보다 점진적 개선에 �

www.popit.kr

 

728x90
Posted by Mr. Slumber
,