[ Software Testing ]
▪ Intention
- 프로그램이 의도 한대로 수행되는지 보여주기 위함
- 사용하기 전에 프로그램의 결함을 찾기 위함
▪ Typical Process
- 가상의 데이터를 이용해서 실행한다.
- 테스트 실행의 결과를 확인해야 한다.(Error, Anomalies (변칙), 비기능적인 속성들의 정보)
[ Goals of Testing ]
▪ 개발자와 고객에게 소프트웨어가 요구사항을 만족한다는 것을 입증한다.
- 사용자와 시스템 요구 문서의 모든 요구사항에 대해 적어도 하나의 시험이 있어야 한다. 어떤 시스템 들은 고객이 인도된 제품이 명세서와 일치하는지 정형화된 점검을 하는 명시적인 인수 시험을 가질 수도 있다.
- 검증 시험으로 귀결된다. 시스템이 기대한 대로 사용되는 지를 반영하는 주어진 시험 사례의 집합을 이용하여 시스템이 예상대로 정확하게 실행되는 가의 여부를 시험한다.
▪ 소프트웨어의 동작이 부정확하고, 바람직하지 않고, 혹은 명세서와 일치하지 않는 소프트웨어의 결함이나 결점을 발견한다.
- 결점 시험은 시스템 폭주, 다른 시스템들과 원하지 않는 상호작용, 부정확한 계산 그리고 데이터 변조와 같은 모든 종류의 바람직하지 않은 시스템 동작을 근절하는 데 관련이 있다.
- 결점 시험으로 귀결된다. 결점을 나타내기 위해 시험 사례들이 설계된다. 시험 사례들은 의도적으로 분명하지 않을 수 있고 시스템이 보통 어떻게 사용되는 지를 반영할 필요가 없다. 검증 시험의 경우, 성공적인 시험이란 시스템이 정확하게 수행되는 것이다. 결점 시험의 경우, 성공적인 시험이란 시스템을 부정확하게 수행되도록 만드는 결점을 찾아내는 것이다.
[ Defect vs Bug]
▪ 서로 바꾸어 사용되어 진다.
▪ 소프트웨어에서 에러, 결함, 실수, 결점을 뜻한다. 올바르지 않거나 예기지 못한 결과를 발생시키며, 의도하지 않은 방법으로 수행했을 시 발생한다.
▪ Defect가 좀더 보편적으로 공식적인 문서에 사용된다.
▪ Defect는 고객이 원하는 것을 소프트웨어가 실패했을 시 사용하고, Bug는 소프트웨어가 프로그래머의 의도한 바를 실패했을 시 사용된다.
[ Traditional Testing Process ]
▪ Test Case : inputs + statements to be tested + expected outputs
[ Stages of Testing ]
Development testing |
개발 팀원들이 개발을 하는 동안 버그와 결함을 찾으면서 테스트 하는 것이다. |
Release testing |
별도의 테스팅 팀이 배포 전에 완벽한 버전을 위해 테스트 한다. 시스템이 사용자의 요구사항을 충족시키는지 점검한다. |
Acceptance testing |
소프트웨어를 사용자에게 전달 할지 말지를 정하기 위해 시스템의 사용자가 그들의 환경에서 테스트 하는 것이다. |
댓글이나 공감 남겨주는 사람 착한사람
'학사 그리고 석사 > 소프트웨어공학' 카테고리의 다른 글
UML 이란 (0) | 2019.11.06 |
---|---|
Test-Driven Development(TDD) (0) | 2019.11.06 |
Release Management (0) | 2019.11.03 |
System Building (0) | 2019.11.03 |
Version Management (0) | 2019.11.03 |