IT recording...
[SoftwareV&V] 10. Functional Testing 본문
[원문링크]
[2021 - 1학기 수강한 Software V&V 강의 정리본입니다.]
(Software Verification & Validation)
Functional Testing
1. 개요
- Testing
- Functional Testing (항상 100%)-unit test, integration test, system testing 모든 단계에서 수행
- -Category Partitioning Testing(negative test case 만들기에 가장 좋음), Brute Force Testing
- -기능을 이용해서 test
- Structural Testing-unit test에서만 수행-Jacoco coverage
- -Statement < Condition < Decision/Branch < MC/DC
- -코드를 보고 CFG/DFG로 바꿔서 coverage testing
2. Functional Testing
1) Functional Testing
: Specification - based Testing (Black box testing)
- SRS, SDS, Unit Spec, User Manual, Project Plan을 보고 test 진행
- Base-line technique (의무적으로 진행해야 하는 테스팅이다)
2) Systematic testing VS Random testing
- Random testing (Uniform)
- : 빠짐없이 모든 경우를 테스트
- Systematic testing (Non-Uniform)
- : 경험(사전지식,SRS,SDS,PP)에 의거하여 에러가 있을 것 같은 구간만 테스팅
**예상질문) systematic testing, random testing을 VM 테스팅에서 어떻게 이용할 수 있는가? (예시)
3) 특징
- Timely : 미리 test case를 fresh 하게 만들 수 있다.
- Effective
- Widely applicable : V-model의 모든 단계에 적용할 수 있다.
- (↔ structural testing은 unit level만 가능)
- Economical : 개발자만 수고하면 되고 도구 사용 안해도 된다.
**예상질문) Functional testing VS Structural testing (예시 들어서)
4) Functional testing VS Structural testing
- Functional testing : 로직의 허점을 찾는데 좋다. (structural testing은 존재하지 않는 코드에 대해서는 테스트를 진행하지 않음)
- FT는 모든 unit,integration,system,regression단계에서 사용 가능하다. (필수)
- ST는 only unit & integration level (선택,optional)
2. Functional Testing Step
- Category Partitioning testing
- independently testable feature 찾기 (category)
- 각 category별 representative value 찾기
- Test case Specification (TSL Generator같은 도구 활용) - 조합
- Test case > Test Data <I,Env,EO> 만들기
- Scaffolding
- ex) 다른 dvm이 있다고 가정하고 연동하여 테스트하기 등
- Brute Force Testing
- Model Testing
** scaffloding을 안 넘겨줬을 때 어떤 식으로 만들어서 테스팅 해야 하는지?
'V&V' 카테고리의 다른 글
[SoftwareV&V] 12. Structural Testing (0) | 2022.02.17 |
---|---|
[SoftwareV&V] 11. Combinational Testing (0) | 2022.02.17 |
[SoftwareV&V] 09. Test Case Selection and Adequacy (0) | 2022.02.17 |
[SoftwareV&V] 08. Finite State Verification (0) | 2022.02.17 |
[SoftwareV&V] 07. Symbolic Execution and Proof of Properties (0) | 2022.02.17 |
Comments