IT recording...

[SoftwareV&V] 17. Test Execution 본문

V&V

[SoftwareV&V] 17. Test Execution

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

[원문링크]

https://adorable-aspen-d23.notion.site/SoftwareV-V_17_Test-Execution-e3e93b09de2146f98acb9a05687b5853

 

SoftwareV&V_17_Test Execution

Text Execution

adorable-aspen-d23.notion.site

[2021 - 1학기 수강한 Software V&V 강의 정리본입니다.]

(Software Verification & Validation)

 

Text Execution

1. Automating Test Execution

  • Test case를 만들고 Test Data <I,Env,O>를 만드는 것 까지는 수동으로,
  • Text Execution : Output과 Expected Output이 같은지 비교하는 과정
  • 은 자동화가 될 수 있다.

1) Scaffolding

  • Test를 진행할 수 있게 마련하는 환경
  • 출시할 때는 제거해야함
  • ex) DVM 10개 통신을 testing하려면 10대가 필요. 하지만 실제 출시할 때는 하나만 똑 떼어서 출시 해야 함
  • Test harnesses : 보드 - sw의 커뮤니케이션에서 보드가 없는 상황일 경우 임시 보드와 같은 것을 만드는 것
  • Drivers : 주로 main, call하고 판정을 내리는 애
  • Stubs : 함수 b,c가 아직 만들어지지 않았는데 f 를 테스트하기 위해 b,c를 가상으로 만들기

** 예상문제) driver, stub의 예시를 dvm에서 들기

** 예상문제) testing시 scaffolding이 중요한 이유는?

2) GUI testing

  • GUI test는 자동화 되기 어려움(누르지 않아도 input이 들어가고, output 이 화면에 로그로 등장함.
  • ⇒ API를 달고 Capture Wrapper를 사용하여 자동화 시킴
  • But 비싸기 때문에 오래 쓸 프로그램만 만드는게 좋음

3) Test Oracles

: actual output , Expected output 비교하는 과정

  • Junit 에서는 assert함수 사용해서 비교하지만 system testing 레벨까지 오르면 간단하지 않음
    1. Comparision-based Oracle : 일반적인 O,EO비교
    2. Self-check Oracle : EO가 없음, 특정 structural invariant 특징이 있을 때만 사용 가능하다.
    3. ex) 입력이 뭐든간에 돌렸을 때 결과가 무조건 0보다 크다 이런거

'V&V' 카테고리의 다른 글

[SoftwareV&V] 16. Falut-Based Testing  (0) 2022.02.17
[SoftwareV&V] 14. Model-Based Testing  (0) 2022.02.17
[SoftwareV&V] 13. Data Flow Testing  (0) 2022.02.17
[SoftwareV&V] 12. Structural Testing  (0) 2022.02.17
[SoftwareV&V] 11. Combinational Testing  (0) 2022.02.17
Comments