우와테크

결함 테스팅 / 검증 테스팅 본문

용어

결함 테스팅 / 검증 테스팅

uwaTech 2022. 10. 21. 00:45
결함테스팅
특징

-     소프트웨어를 실행해서 결함을 찾고자 함.

-     유사 결함을 찾았을 때 처리 시간을 단축할 수 있음.

-     실행 가능한 코드가 있어야 함.

-     결함이 확인되지 않는 것이 결함이 없는 것은 아님.

 
결함원인

사람이 오류를 범하기 쉽기 때문에 발생하며, 시간적인 압박, 복잡한 코드, 기반 환경의 복잡성, 기술이나 시스템의 변경, 그리고 수많은 시스템 상호 간의 연동 등의 이유로 발생한다. 장애는 이와 같은 결함에 의해서뿐만 아니라 환경적인 조건에 의해서도 발생한다.

결함 / 오류 / 장애의 차이점

-     오류(Error) : 결함이 되는 요소.

-     결함(Defects, Bug) : 에러가 소프트웨어상에 나타나는 것. 모든 결함이 장애로 이어지지는 않음.

-     장애(Failure) : 시스템이 의도된 대로 동작하지 않거나 동작하지 말아야 함에도 동작함. 코드에 존재하는 결함은 장애의 원인이 됨

 

 

검증테스팅
특징

-     소프트웨어가 사용자의 요구 명세에 만족하는지 확인하고자 함.

-     소프트웨어를 실행하지 않음.

-     실행을 하면 화면에 나타나지 않는 결함들을 찾을 때 유용함.

-     실행하면 알 수 있는 사용성을 확인하기 힘듦.

검증/확인 차이점

-     Verification(검증) - 사용자가 요구한 시스템 요구사항까지 모두 만족. 명세서와 일치해야 하는 것 : 정적테스팅 (예방)

-     Validation(확인) - 사용자 요구사항을 전부 만드는 것. : 동적테스팅 (수정)

 

테스트의 원리

원리 1 : 테스팅은 결함이 존재함을 밝히는 활동이다.

원리 2 : 완벽한 테스팅(Exhaustive testing)은 불가능하다.

원리 3 : 테스팅을 개발 초기에 시작한다.

원리 4 : 결함 집중(Defect clustering)

원리 5 : 살충제 패러독스 (Pesticide paradox)

원리 6 : 테스팅은 정황(Context)에 의존적이다.

원리 7 : 오류-부재의 궤변(Absence-of-errors fallacy)

 

 

출처 |

https://sw-test.tistory.com/4

https://hodev.tistory.com/6