IT recording...
[SoftwareV&V] 01. 개요 본문
[원문링크]
https://adorable-aspen-d23.notion.site/SoftwareV-V_01_-94d9abb2b7cf4775b7e5a175755a2868
[2021 - 1학기 수강한 Software V&V 강의 정리본입니다.]
(Software Verification & Validation)
Software Testing and Analysis 개요(nutshell)
STA(software testing and analysis) = V&V(verification & validation) = A&T(analysis & testing)
목표 : "Quality level" (비용=시간) 을 만족시키자!
Learning Objectives
- Software Quality를 software development 프로젝트와 조직 입장에서 보기
- software verification, validation의 범위 알아보기
- 둘을 어떤 비율로 섞어 쓸 수 있는지 살펴보기
1. Software Verification Activities
1) Engineering Process ( Construction,Checking) // Software Engineering (Construnction,Verification)
2) 적용되는 곳
- for non-critical products for mass markets (전자기기,노트북,폰)
- for highly-customized products (은행시스템,우체국)
- for critical products
3) 어려운 이유
- many different quality requirements 중에 어떤 것이 중요한지 알아야 한다
- (security, safety, reliability, quailtability, maintability, reusability 등 )
- 계속 진화하는 Structure
- Inherent non-linearity (Sensitivity) : 독립적인 것들의 관계가 예측되지 않음ex) 노트북 안되다가 고치러가면 됨. 집에 오면 또 안됨 (어떤 상황에서도 고장나야 linearity,sensitive 한 것)
- : 즉 어떠한 상황에서도 같은 결과를 내야 하는데 그렇지 못함
- Uneven distribution of Faults (에러가 몰려서 숨어 있음)
4) Software verification Designer가 해야할 일
- (제품이 required Quality를 만족하도록) ++ (제한된 cost 내에서)
- problem , requirements, development environment 를 만족해야 함
2. Basic Questions (verification)
1. When do verification and validation start and end?
언제 시작하고 언제 끝나요?
Plan - requirement Analysis - Design - Develop&Unit test - System test - Release
- 단계 중 Plan 단계 혹은 그 전에 시작하고, (requirement + cost 고려)
- Release 후에도 계속 진행된다. (새로운 fucntion에 대한 test suites
** quality related activities include
2. What techniques should be applied?
어떤 테크닉을 사용하나요?
- Dynamic testing, Static analysis(Code, Model) 을 섞어서 사용한다목적의 Differences, cost와 assurance의 Tradeoffs)
- (다른 class혹은 fault에 대한 Effectiveness ,다른 포인트 들에 대한 Applicability,
3. How can we assess the readiness of a product?
우리가 개발한 시스템이 quality level을 만족했음을 어떻게 알 수 있나요?
- 모든 faults를 밝혀내기에는 무리가 있으므로 quality requirement를 만족했는지 알 수 있어야 한다.: Assessment( 그 레벨이 언제 달성 되는지)
- : Measurement( dependability의 required level을 정확히 하기)
- Objective하게 숫자로 그 정도를 나타낼 수 있어야 한다.
- (M&M : matric & measurement)
4. How can we ensure the quality of successive releases?
release 할 만큼의 시스템이라는 것을 어떻게 보장할 수 있나요?
- 소프트웨어는 release 후에도 많은 변화가 발생한다.
- Release후에도 다음과 같은 것들을 해야함 (Iterative하게!)
- 새로운 코드에 대한 test and analysis
- System test의 재실행
- extensive record-keeping (기록 보관)
5. How can the development process be improved?
개발 프로세스가 어떻게 하면 발전할 수 있나요?
비슷한 defect들이 존재하므로 개발 프로세스를 잘 발전시켜야 한다.
- SPI(software process improvement)
- : 개발 프로세스가 잘 확립되어야 → 산출물인 software product도 품질이 보장된다.
- 4 steps for 프로세스 발전
- Define the data to be collected and implementing procedures for collecting them
- : 모을 데이터 정하고 모으기
- Analyze collected data to identify important fault classes
- : 모은 데이터 분석하고 중요한 fault classes 확인하기
- Analyze selected fault classes to identify weaknesses in development and quality measures
- : 선택된 fault classes에서 약점 확인하기 (development , quality measure에서)
- Adjust the quality and development process
- : 위에서 확인한 quality와 development process 적용하기
Summary
- quality process 의 Goal
- SW product 발전시키기
- SW product quality 평가하기 (assessment)
- Quality process 발전시키기
- 여러가지 A&T technique을 섞어서 사용해야 한다.
- A&T 는 organization, application 영역의 영향을 받는다.
'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] 03. Basic Principles (0) | 2022.02.17 |
[SoftwareV&V] 02. Framework (0) | 2022.02.17 |
Comments