소프트웨어 테스트
위키백과 ― 우리 모두의 백과사전.
소프트웨어 테스트(software test)는 개발된 컴퓨터 소프트웨어의 품질을 측정하기 위해 사용되는 과정이다.
목차 |
[편집] 들어가며
[편집] 하드웨어 결함이 어떻게 일어나는가
ISTQB는 소프트웨어 결함이 다음의 과정을 통해 일어난다고 언급한다:
- 인간은 코드, 소프트웨어, 시스템, 또는 문서 안에 결함을 만들어내는 오류(실수)를 범할 수 있다. 결함 코드가 실행되면 시스템은 바라던 결과에 대해 실패하거나, 바라지 않던 결과에 대해 실패할 수 있다. 소프트웨어, 시스템, 문서 안의 결함은 실패로 이어질 수 있지만 모든 결함이 그러한 것은 아니다.[1]
환경이 바뀌면 결함은 실패로 바뀔 수 있다. 환경 속의 이러한 변화의 예는 새로운 하드웨어 플랫폼에서 릴행되거나, 소스 데이터가 바뀌거나 다른 소프트웨어와 상호 작용하는 것을 들 수 있다.[2]
[편집] 모든 결함을 찾는 것은 불가능하다
소프트웨어 테스트의 문제는 단순 제품 이상의 것을 테스트할 때 전반적인 입력, 사전 대비가 가능하지 않다는 것이다.[3] 이는 소프트웨어 제품 안의 결함 수가 매우 많으며 드물게 일어나는 결함의 경우 테스트 동안 찾아내기 힘들다는 것을 뜻한다.
[편집] 역사
테스트와 디버깅을 구별하는 것은 1979년 글렌포드 J 마이어스(Glenford J. Myers)가 처음 사용한 것이다.[4]
- 1956년까지 - 디버깅 지향[5]
- 1957-1978년 - 증명 지향[6]
- 1983-1987년 - 파괴 지향[7]
- 1983-1987년 - 평가 지향[8]
- 1988-2000 - 보존 지향[9]
- 2000 - 전진 - 초기 고객 간섭 (베타 테스팅)[출처 필요]
[편집] 참조
- ↑ http://www.bcs.org/upload/pdf/istqbsyll.pdf
- ↑ http://www.bcs.org/upload/pdf/istqbsyll.pdf
- ↑ http://www.bcs.org/upload/pdf/istqbsyll.pdf
- ↑ Myers, Glenford J.. The Art of Software Testing. John Wiley and Sons. ISBN 0-471-04328-1.
- ↑ until 1956 it was the debugging oriented period, when testing was often associated to debugging: there was no clear difference between testing and debugging. Gelperin, D.. The Growth of Software Testing 31 (6). ISSN 0001-0782.
- ↑ From 1957-1978 there was the demonstration oriented period where debugging and testing was distinguished now - in this period it was shown, that software satisfies the requirements. Gelperin, D.. The Growth of Software Testing 31 (6). ISSN 0001-0782.
- ↑ The time between 1979-1982 is announced as the destruction oriented period, where the goal was to find errors. Gelperin, D.. The Growth of Software Testing 31 (6). ISSN 0001-0782.
- ↑ 1983-1987 is classified as the evaluation oriented period: intention here is that during the software lifecycle a product evaluation is provided and measuring quality. Gelperin, D.. The Growth of Software Testing 31 (6). ISSN 0001-0782.
- ↑ From 1988 on it was seen as prevention oriented period where tests were to demonstrate that software satisfies its specification, to detect faults and to prevent faults. Gelperin, D.. The Growth of Software Testing 31 (6). ISSN 0001-0782.
[편집] 같이 보기
- 정적 코드 분석
- 결함 추적
- 모델 기반 테스트
이 문서는 소프트웨어에 관한 토막글입니다. 서로의 지식을 모아 알차게 문서를 완성해 갑시다. |
|
|
---|---|
수학적 기초 | 수리논리학 · 집합론 · 정수론 · 그래프 이론 · 형 이론 · 범주론 · 수치해석 |
계산 이론 | 오토마타 이론 · 계산 가능성 이론 · 계산 복잡도 이론 · 양자 계산 이론 |
알고리즘 & 자료 구조 | 알고리즘 · 자료구조 · 계산 기하학 |
프로그래밍 언어 & 컴파일러 | 구문 분석 · 컴파일러 · 인터프리터 · 프로그래밍 언어 · 구조적 프로그래밍 · 객체지향 프로그래밍 |
병행,병렬 & 분산 시스템 | 병행 컴퓨팅 · 분산 컴퓨팅 · 병렬 컴퓨팅 · 그리드 컴퓨팅 |
소프트웨어 공학 | 요구 분석 · 소프트웨어 설계 · 컴퓨터 프로그래밍 · 형식수법 · 소프트웨어 테스팅 · 소프트웨어 개발 |
시스템 아키텍처 | 컴퓨터 아키텍처 · 마이크로아키텍처 · 운영체계 |
통신 & 네트워크 | 컴퓨터 오디오 · 라우팅 · 네트워크 토플로지 · 암호학 |
데이터베이스 | 데이터 마이닝 · RDBMS · SQL |
인공 지능 | 자동추론 · 전산언어학 · 컴퓨터 비전 · 진화연산 · 기계학습 · 자연언어 처리 · 로봇학 |
컴퓨터 그래픽 | 시각화 · 영상 처리 |
인간과 컴퓨터 상호 작용 | Computer accessibility · 사용자 인터페이스 · 착용 컴퓨터 · 유비쿼터스 컴퓨팅 · 가상현실 |
계산과학 | 인공생명 · 생물정보학 · 인지과학 · 계산화학 · 계산론적 신경과학 · 계산물리학 · 수치해석 · Symbolic mathematics |