-
코드 리뷰
사람에 의해 수동적으로 수행되는 정적 분석 과정
예. 피어 리뷰, 워크스루, 팀 리뷰, 코드 인스펙션 등
코드 인스펙션
완성된 코드에 대한 검토를 통해서 코드 상에 존재하는 잠재적인 문제를 발견하는 과정
Deadlock에 대한 검출, Lock Contention과 같은 병목 구간에 대한 검출, Memory Leak이나 Connection Leak과 같은 자원 누수에 대한 검출과 코딩 스타일(변수명이나 메서드명 규칙 등)에 대한 가이드 수행
정적 분석
자동화된 도구에 의해서 이루어지는 정적 분석 과정
- 잘 알려진 버그에 대해서 리포팅 (예. Connection Leak - JDBC Connection Pool에서 Connection을 사용한 후 Pool에 돌려놓지 않아서 생기는 문제)
- 코딩 표준에 맞지 않는 코딩 내용을 찾아냄
- 실행되지 않은 데드 코드 검출
- 코드의 복잡도 계산
정적 분석 수행 도구
- Raxis
- RIPS Technologies
- PVS-Studio
- Kiuwan
- reshift
- Embold
- SmartBear Collaborator
- CodeScene Behavioral Code Analysis
- Visual Expert
- Veracode
정적 분석은,
미리 정의된 소스 코드의 패턴을 기반으로 해서 테스트 대상 시스템을 분석하여 결과를 내는 원리로 동작
미리 정의된 패턴 → 매우 폭넓게 적용되기에 결함이 아닌 부분에 대해 수정이나 설득을 야기시킴
정적 분석 도구를 적용하려면, 반드시 패턴을 검토하고 개발하고자 하는 소프트웨어에 맞도록 패턴을 최적화해서 사용할 것
제대로 된 패턴 → 코딩 규칙에 벗어난 코드, 일반화된 자주 발생하는 오류들 검출에 매우 유용'QA 관련 > 정보' 카테고리의 다른 글
SDLC 단계에 따른 QA 활동 (0) 2021.03.03 버그/이슈/결함/장애 (0) 2020.10.08 결함 수명 주기(Defect Life Cycle) & 버그 수명 주기 (Bug Life Cycle) (0) 2020.10.08 QA / QC / Testing (0) 2020.09.29 소프트웨어 결함 리포트: 트랙, 재시험, 마감 (0) 2020.07.17