밍경송의 E.B

<9> VV and Test (Static test) 본문

CSE/소프트웨어공학

<9> VV and Test (Static test)

m_gyxxmi 2023. 12. 10. 20:12

이 글은 기말고사가 20시간 남은 학부생이 기말고사 암기를 위해 작성한 내용입니다... 내용은 지현박교수님의 강의자료를 참고하였음을 밝힙니다......🎄☃️기엽다 눈사람!

 

 

 

☃️ Test Methods ☃️

 

 

1) Non execution-based test (static) 

: 실행 파일이 아닌 모든 것이 대상 ex) 소스파일, 문서, 요.사 명세서, 설계 문서 등

  • rely on human : Review, Inspection , Walkthrough
  • rely on tool : Static analysis

2) Execution-based test (dynamic)

: 다음에 다룰 black-box, white-box test가 요기에 들어감.


* Design process - 중간고사 범위였던

 


☃️ SW architectural design

 

- 정적 관점의 SW 설계도 

  • SW 계층적 구조
  • 데이터 처리를 위한 논리적 순서
  • 데이터 타입.특성
  • 외부 인터페이스
  • SW 아키텍처 내외부에 대한 제약사항

- 동적 관점의 SW 설계도 

  • 기능의 동적 행위
  • 제어 흐름, 프로세스의 병렬처리
  • SW 컴포넌트 간 데이터 흐름
  • 외부 인터페이스와의 데이터 흐름
  • 시간 제약사항

응집력은 높이고 결합력은 낮추고

 

☃️SW unit design

: SW 아키텍처 설계를 기반으로 모델링 가이드라인 또는 코딩 가이드라인에 따라 상세 설계를 모델로 구현하거나, 소스코드로 직접 적용 설계

 

ex) 코딩 스타일의 경우

- 각 파일은 버전 이력을 포함

- 들여쓰기 적용

- 변수 및 함수 명명 규칙 명시

 


 

☃️Static Test☃️

<리뷰의 타입>

 

1) 비공식적 리뷰 - 목적: 저렴한 방법으로 성과 달성

  • 공식 절차 없음
  • 이인일조 리뷰 (상사 등과) -> 리뷰하는  사람에 따라 성과 좌우
  • 선택적 문서화

2) 기술적 리뷰 - 목적: 기술적 문제 해결 토론, 의사결정, 결함발견, 명세서 및 표준과의 적합성 검토

절차 : 계획 -> kickoff -> 개별 준비 -> 리뷰 미팅 -> 재작업 및 후속처리

 

3) 워크스루 - 목적: 학습, 시스템에 대한 이해 향상, 결함 발견

  • 작성자에 의한 진행 및 제어(요.사 문서 작성자)

4) Inspections - 목적 : 결함 발견

  • 작성자가 아닌 훈련되 리더에 의해 진행 및 제어
  • 검토자와 별도로 테스터의 역할 존재

<정적 분석>

- 설계 / 코딩 작성 표준 가이드라인 위반 검사 -> sw 설계/코딩 가이드라인

- 설계/코드 메트릭 측정

 

cf) 코드 메트릭의 예

*Cyclomatic complexity - number of independent paths through a program

 

- 런타임 오류 가능성 검사 : 호스트에서 소스 컴파일 타임에 RTE를 검출하는 방법

*RTE : 시스템에서 실제 동작 시 발생할 수 있는 에러

 

*문제점: 모든 RTE 검출 불가, 발견된 결함이 항상 프로그래 failure를 발생하는 것은 아님, False alarm(결함이 아닌 것을 결함으로 오인)

 

 


 

정적분석의 장점

- 자동화 가능

- 호스트 pc에서 적용 가능