IT recording...

[SoftwareV&V] 01. 개요 본문

V&V

[SoftwareV&V] 01. 개요

I-one 2022. 2. 17. 15:58

[원문링크]

https://adorable-aspen-d23.notion.site/SoftwareV-V_01_-94d9abb2b7cf4775b7e5a175755a2868

 

SoftwareV&V_01_개요

Software Testing and Analysis 개요(nutshell)

adorable-aspen-d23.notion.site

[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 프로세스 발전
    1. Define the data to be collected and implementing procedures for collecting them
    2. : 모을 데이터 정하고 모으기
    3. Analyze collected data to identify important fault classes
    4. : 모은 데이터 분석하고 중요한 fault classes 확인하기
    5. Analyze selected fault classes to identify weaknesses in development and quality measures
    6. : 선택된 fault classes에서 약점 확인하기 (development , quality measure에서)
    7. Adjust the quality and development process
    8. : 위에서 확인한 quality와 development process 적용하기

Summary

  1. quality process 의 Goal
    • SW product 발전시키기
    • SW product quality 평가하기 (assessment)
    • Quality process 발전시키기
  2. 여러가지 A&T technique을 섞어서 사용해야 한다.
  3. 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