IT recording...

[SoftwareV&V] 10. Functional Testing 본문

V&V

[SoftwareV&V] 10. Functional Testing

I-one 2022. 2. 17. 16:18

[원문링크]

https://adorable-aspen-d23.notion.site/SoftwareV-V_10_Functional-Testing-d8cc63b2c5bd4483ae52c67499d2646d

 

SoftwareV&V_10_Functional Testing

Functional Testing

adorable-aspen-d23.notion.site

[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
    1. independently testable feature 찾기 (category)
    2. 각 category별 representative value 찾기
    3. Test case Specification (TSL Generator같은 도구 활용) - 조합
    4. Test case > Test Data <I,Env,EO> 만들기
    5. Scaffolding
    6. ex) 다른 dvm이 있다고 가정하고 연동하여 테스트하기 등
  • Brute Force Testing
  • Model Testing

** scaffloding을 안 넘겨줬을 때 어떤 식으로 만들어서 테스팅 해야 하는지?

Comments