IT recording...
[SoftwareV&V] 17. Test Execution 본문
[원문링크]
[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 레벨까지 오르면 간단하지 않음
- Comparision-based Oracle : 일반적인 O,EO비교
- Self-check Oracle : EO가 없음, 특정 structural invariant 특징이 있을 때만 사용 가능하다.
- 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