∎ 목적
가장 적은 양의 시험 데이터를 사용하여, 가장 많은 오류를 잡아내는 것
∎ 시험 기법
⦁ 블랙박스 시험
내부 구조는 고려하지 않고, 외부 입력들로부터 올바른 값이 나오는지만 확인하는 시험
- 등가분할 : 결과가 다른 입력값들을 골고루 사용
- 경계값 분석 : 범위에서 경계에 있는 값을 입력으로 사용
- 조사 행렬 : 정상, 비정상 입력값과 그에 따른 결과들을 행렬 형태로 나타낸 것
- 오라클 : 조사 행렬에 실제 값을 입력해 결과를 작성한 것
⦁ 화이트박스 시험 (코드 기반 시험)
프로그램의 내부 구조를 참조하여 시험을 하는 것으로, 전역변수, 지역 변수, 공유 메모리, 상수들이 자신의 역할을 잘 수행하는지 검사할 수 있다.
- 실행문 조사 : 소스코드 내의 모든 실행 가능 문장들을 검사.
논리성은 시험할 수 없다. - 분기점 조사 : 프로그램 내의 분기점들에 대한 시험 사례들을 만들고 테스트 하는 것
- 조건문 조사 : 프로그램의 조건문들에 포함된 모든 조건 항목들에 대해서 사례 값을 만들어 테스트
∎ 시험 진행
⦁ 단위 시험
- 가장 작은 단위인 '모듈'에 대한 시험을 진행하는 것
- 인터페이스 시험 (매개변수에 대한 확인)
- 지역 변수, 자료구조에 대한 시험
- 드라이브 모듈 : 테스트할 모듈을 호출하는 주체
- 스터브 모듈 : 호출되어야 하지만 아직 완성이 되지 않은 모듈
⦁ 통합 시험
- 모듈들을 통합해 가면서 진행하는 시험
- 점진적 통합 시험으로 조금씩 통합해가며 시험하는 것이 좋다.
- 하향식 통합 시험 : 부모 모듈 -> 루트 모듈 방향으로 점진적 통합
- 상향식 통합 시험 : 루트 모듈 -> 부모 모듈 방향으로 점진적 통합
드라이버 모듈 설계가 쉽지만, 시스템 검증이 루트 모듈까지 가야 이루어지는 단점이 있다.
⦁ 검증 시험
- 완성된 소프트웨어가 고객의 요구사항을 만족하는지 시험
- 기술회의, 프로토 타입 개발
- 소프트웨어의 품질 척도들을 가지고 검증된다.
⦁ 확인 시험
- 소프트웨어의 각 기능들이 올바르게 수행되는지, 확인 테이블로 시험
⦁ 인수 시험
- 사용자들에게 사용하게 함으로서 시험하는 것
- α 시험 : 사용자가 개발 환경에 와서 진행하는 것
- β 시험 : 사용자들에게 배포하고, 자신의 컴퓨터에서 사용해 보는 것
⦁ 시스템 시험
- 다른 소프트웨어, 하드웨어들과 잘 작동하는지 확인하는 시험
- 복구 시험, 보안 시험, 스트레스 시험, 성능 시험
'CS 지식 > 소프트웨어 공학' 카테고리의 다른 글
소프트웨어 유지보수 (0) | 2024.08.10 |
---|---|
코딩의 원칙 (0) | 2024.08.10 |
소프트웨어 품질 - 응집도, 결합도 (0) | 2024.08.10 |
소프트웨어 설계 단계 (0) | 2024.08.10 |
소프트웨어 개발 계획 세우기 (0) | 2024.08.10 |