본문 바로가기
소프트웨어공학

[소프트웨어공학] L9 - Verification, Validation, and Test: SW Test Techniques

by Lizardee 2023. 11. 17.
Static Test (Static Analysis)

▶ Test Technique

▶ Test Data Selection Method, Test Method

▶ Test Coverage Criteria

 

Test Methods

▶ Non execution based - static test (비실행 기반 - 정적 테스트)

  • Relay on human: Review, Inspection, Walkthrough
  • Relay on tool: Static analysis (정적 분석)

--> 예) 요구사항 명세서, 설계 분석, 소스 코드, 테스트 문서 등 (실행파일이 아닌 모든 것!)

 

▶ Execution-based - dynamic test (실행 기반 - 동적 테스트)

  • Black-box test
  • White-box test

 


Software Design and Implementation
  • 소프트웨어 디자인 --> 소프트웨어 구조
  • 구현 --> 실행파일

 

Design Process

Design Process

 

 

Software Design Principles
Software Architectural Design

Software Architectural Design

: SW 아키텍처 설계 표기법

--> 요구사항들을 만족시켰는지 검증(verify)한다.

 

정적 설계 vs. 동적 설계

 

SW unit design

 

코딩 스타일 예제

 

 

Non execution-based - static test (비실행 기반 - 정적 테스트)

Test Methods

 

1) Review: rely on human

Review

 

 

2) Static test (정적 분석): rely on tool

Static test (정적 분석)

 

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

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

 

2) 설계/코드 메트릭 
  • Complexity (복잡도) --> McCabe's metric

 

3) 런-타임 오류 검사

: 호스트에서 컴파일 타임에 RTE를 검출하는 방법

  • RTE (Run Time Error): 시스템에서 실제 동작 시 발생할 수 있는 에러

 

 

 

 

 

출처: 이화여자대학교 박지현교수님 소프트웨어공학