ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SW Testing 101
    테스팅 관련/개념 2020. 5. 22. 18:55

     

    소프트웨어 테스팅의 목표
    소프트웨어가 고객의 니즈를 충족시키는지 검증
    운영 중 소프트웨어의 장애 발생 가능성 감소

     

    Verification

    "Are we building the product right?"

    우리가 제품을 올바르게 만들고있는가? or 우리가 (설계한 방법으로) 제품을 올바르게 만들고 있는가?

    Software should coform to its specification → 소프트웨어 = 스펙

    설계에 맞춘 구현 과정 검증

     

    Validation

    "Are we building the right product?"

    우리가 올바른 제품을 만들고있는가? or 우리가 올바르게 제품을 설계했는가?

    Software should do what user really requires → 소프트웨어 = 고객 니즈

    제품 설계 검증

     


    소프트웨어를 "올바르게" 만들기 위한 테크닉

    • 소프트웨어 필요 요건(requirements)들을 이해하고 검증(validate)
    • 다양한 V&V 테크닉들을 설계 주기에 맞춰 적용
      • 점검(Inspection) - 디자인 논의(Design discussion) - 정적 분석(Static analysis) - 테스팅(Testing) - 실행시간 검증(Runtime verification)

     

    소프트웨어 테스팅은,

      시스템 전체를 검사하는 유일한 소프트웨어 결함 발견 테크닉

      시스템 동작들(예. 퍼포먼스)을 정확하게 평가하는 최고의 방법

      고객이 시스템을 "받아들이는데" 필요한 것

      예상되는 시스템 동작기록(document)하는 합리적인 방법

     

    하지만, 테스팅은 항상 불완전하다!

        → 불완전함에도 불구하고, 테스팅을 "효과적으로" 만들자! 

     

     

     

     

    '테스팅 관련 > 개념' 카테고리의 다른 글

    소프트웨어 개발의 "V 모델"  (0) 2020.05.27
    테스팅 원리  (0) 2020.05.27
    신뢰성(Dependability) 정의  (0) 2020.05.26
    테스트가 뭐지?  (0) 2020.05.23
    왜 소프트웨어 테스팅은 어려울까?  (0) 2020.05.23
Designed by Tistory.