Coding Note

[정보처리기사] 소프트웨어 테스트 본문

정보처리기사

[정보처리기사] 소프트웨어 테스트

jinnkim 2022. 7. 19. 14:16

 

 

소프트웨어 테스트

노출되지 않은 숨어있는 결합을 찾기 위해 소프트웨어를 작동시키는 일련의 행위와 절차

 


 

 

목적

- 프로그램의 잠재된 오류의 발견

- 기술적인 기능 및 성능 확인

- 사용자 요구 만족도 향상

- 제품 신뢰도 향상

 

 

 

 

! 테스트 일반적인 원리!

원리 내용 원인
결함 발견 - 결함 제거가 아닌 결함의 발견을 목적으로 함 테스트 본연의 역할
불완전성 - 완벽한 테스팅은 불가능
- 무한경로, 무한입력값, 무한타이밍
자원의 한계
정황 의존성 - 테스트는 테스트 주변 환경에 의한 영향을 받음 외부요소, 심리요소
초기 집중 (요르돈 법칙) - 개발 설계 시 부터 테스트를 고려
- 결함의 조기 발견 및 재유입 방지
품질 비용 감소
결함 집중 - 결함의 80%는 전체 모듈의 20%내에 발견
- 결함이 높은 곳에 자원이 집중
파레토 법칙에 의해 발생
살충제 패러독스
(Pesticide Paradox)
- 동일한 테스트 전략, 기법을 적용할 시 내성이 생겨 결함이 도출되지 않음 테스터의 수동적 자세
오류 - 부재 궤변 - 결함을 모두 제거하였다고 품질이 우수하다고 볼 수 없음 SW 요구사항 불만족

 

 

 

 

테스트 종류

설치 > 인수 > 시스템 > 통합 > 단위

테스트 세부 내용
설치 테스트(Install Test) - 하드웨어 호환성
- 파일 시스템 구성
- 다른 소프트웨어와의 연계
인수 테스트(Acceptance Test) - 알파 테스트 : 통제된 환경에서 선별된 사용자들이 개발자와 함께 수행하는 테스트
- 베타 테스트 : 실제와 동일한 환경에서 사용자들이 테스트하고 피드백 받는 테스트
시스템 테스트(System Test) - 보안 테스트
- 민감도 테스트
- 성능 테스트
통합 테스트(Integration Test) - 하향식 통합
- 상향식 통합
- 백본 통합
- 인터페이스 간 시스템이 정상적으로 실행되는지 확인
단위 테스트(Unit Test) - 인터페이스 설계
- 자료구조 테스트
- 수행경로 테스트
- 개별 모듈, 서브루틴이 정상적으로 실행되는지 확인

 

 

 

접근 방법에 따른 구분

정적 테스트

- 동료 검토

- 워크스루

- 정형 기술 검토

 

 

동적 테스트

1. 소스

- 블랙박스 테스트

- 화이트박스 테스트

  

2. 설계

- 명세 기반 테스트

- 구조 기반 테스트

- 경험 기반 테스트 : 애드혹 테스트, 탐색적 테스트 등

 

 

Comments