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