IT recording...
[SoftwareV&V] 03. Basic Principles 본문
[원문링크]
[2021 - 1학기 수강한 Software V&V 강의 정리본입니다.]
(Software Verification & Validation)
Basic principles
Learning Objectives
- V&V Technique 아래의 basic principle 이해하기
- Main principle의 motivation 과 applicability 이해하기
1. V&V Principle 종류
- Principles Specific to softwre V&V
- Sensitivity : 실패할거면 항상
- Redundancy : 의도를 정확히!
- Restriction : 문제를 더 쉽게
- Principles for general engineering
- partition : 잘 나눠줘
- visibility : 잘 볼 수 있게 해줘
- feedback : 피드백 환영
1) Sensitivity
: Consistency
- Run time deadlock analysis works better if it is machine independent.
- = 한 기계에서 deadlock걸릴거면, 다른 모든 기계에 대해서도 걸려야 한다.
2) Redundancy (#34)
: Make intention explicit
- 반복적인 체크는 fault를 빨리, 그리고 효과적으로 찾을 수 있게 해준다.
- V-model of SW V&V에서 많은 기법들이 계속 겹친다. → product의 성능이 보장되려면 그 전 에서 testing이 잘 되어야 하기 때문ex) validation of requirement specifications 가 >> validation of the final software 할 때 필요
- ex) Testing and proof of properties
- ex) Static type checking + dynamic type checking
3) Restriction
: Make the problem easier
- unsolvable한 문제를 simpler(solvable)한 문제로 바꿔준다.
- Weaker spec
- ex) 포인터가 잘 사용되는지 확인하기 위해서 사용하기 전에 null로 초기화되어있는지를 확인한다. (simple)
- Stronger spec
- ex) 타입 에러를 확인하기 위해서 dynamically typed language가 아니라 statically typed language로 작성하게 한다.
4) Partition
: Divide and conquer 적당히 나누자! (top-down 등으로)
- 코드, spec을 적절히 나눈다.
- verification을 할 때 input을 특정 특징, 비슷한 데이터 등으로 나눈다.
5) visibility
: Make information accessible 필요한 정보에 접근 가능하게 하자!
- X visibility = X가 얼마나 잘 되고 있는지 판단하기
- Schedule visibility = 계획에 비해 앞서고 있는지 뒤쳐져 있는지 판단하기
- Quality visibility = 지금 시점에 얼마나 완성했는지 판단하기 (시스템별로 중요한 quality들 존재, 정량적으로 숫자 표시)
6) Feedback
: development process 수정하기 (quality process)
- 경험을 통해 개발 환경 발전시키기ex) Error Taxonomies → test selection 기준 만들기에 도움
- ex) Design 가이드라인 → common pitfall 발견
- ex) 과거 error를 통한 checklist
Summary
- 6가지 main principle이 존재한다.
- 이것들은 technique들의 장점 혹은 한계점을 이해하는데 사용된다.
'V&V' 카테고리의 다른 글
[SoftwareV&V] 06. Data Dependency & Data Flow Models (0) | 2022.02.17 |
---|---|
[SoftwareV&V] 05. Finite Models (0) | 2022.02.17 |
[SoftwareV&V] 04. Software Process (0) | 2022.02.17 |
[SoftwareV&V] 02. Framework (0) | 2022.02.17 |
[SoftwareV&V] 01. 개요 (0) | 2022.02.17 |
Comments