반응형
테스트 목적
- 결함 검출과 제품 품질 개선
- 품질 평가와 의사 결정 지원
- 테스트 결과를 바탕으로 성능, 신뢰성, 보안성 등의 다양한 소프트웨어 품질 특성에 대한 충족을 평가
- 개발 프로세스 개선 지원
- 요구분석 단계의 프로세스 개선이 필요
- 요구분석 단계에서의 결함 검출 방법도 개선할 필요가 있음
오류, 결함, 장애
오류, 결함 장애의 개념
- 오류
- 결함이 생기게 한 개발자의 행위 (오류는 사람 잘못)
- 요구사항을 잘못 파악 및 이해, 실수, 오타, 명령어를 잘못 이해하여 코딩하는 경우
- 장애
- SW가 요구사항과 다르게 동작
- 프로그램의 실행 결과와 요구사항에 명시된 결과에 차이가 있음을 의미
- 부정확한 구현, 필요한 기능 미포함
- 결함
- SW 내에 장애를 유발할 수 있는 문제
- 결함이 있다고 해서 반드시 장애가 발생하는 것은 아니다
결함의 유형
- 누락
- 요구사항이 시스템의 구현에 반영되지 않음
- 비관련
- 요구 명세와 관련되지 않은 구현
- 부정확한 구현
- 명시된 요구사항이 부정확하게 반영
개발 단계별 결함
- 소스코드 결함
- 적절하게 검출하여 제거 필요
- 제거되지 않으면 이후 단계를 거쳐 소스코드에 영향을 미치며 장애를 유발
- 이 결함을 제거하기 위해 더 많은 비용이 소요
- 설계 결함
- 산출물에 존재하는 결함을 최대한 빨리 검출하고 제거해야 한다
테스팅, 디버깅 재테스팅
테스팅과 디버깅은 다른 개념으로 혼동하여 사용하지 않아야 한다.
- 테스팅
- 실제 동작과 요구사항과의 차이를 확인
- 동적 테스트
- 결함의 존재 여부를 알 수 없는 상황에서 결함의 발견 목적으로 프로그램을 실행
- SW 장애가 있을 때 해당 프로그램 내부에 결함이 존재한다고 추측
- 장애 발생을 확인하여 SW에 결함이 있음을 간접적으로 판단
- 테스팅 결과
- 결함을 검출한 테스트 케이스, 테스트 환경
- 예상되는 결과와 실제 출력 결과 값 등을 기록
- 이를 해결하기 위해 소스 코드를 어떻게 수정할지는 관여하지 않음
- 디버깅
- 결함의 존재를 확인한 후에 수행
- 결함을 위치를 파악하고 이를 제거하는 목적
728x90
반응형
'공부' 카테고리의 다른 글
[python] 홈브루(Homebrew)이용 맥(Mac)에서 파이썬 설치 방법 (71) | 2023.12.08 |
---|---|
[python] 파이썬으로 할 수 있는 일과 우리가 일상 속에서 사용하고 있는 플랫폼 (63) | 2023.12.07 |
[python] 점프 투 파이썬 비전공자도 쉽게 이해할 수 있는 프로그램 언어 (67) | 2023.12.07 |
[CSTS] 프로그램 기술의 한계, 테스트의 진화 과정, 테스트 원칙, ISO 25010 품질 특성 (57) | 2023.11.17 |
CSTS 자격증 공부 일지: 소프트웨어 테스트의 전문가로 나아가는 여정 (0) | 2023.09.10 |