대중교통 이용하면서 잠깐식 보려고 만들었습니다.
CSTS는 요약만 봐서는 힘들 것 같고 책을 읽어보고 단원 뒤에 나오는 연습문제도 풀어야 합격율이 높아집니다.
테스트 목적
1) 결함의 검출과 제품 품질 개선
2) 품질 평가와 의사 결정 지원
3) 개발 프로세스 개선 지원
- 오류(Error)
잘못된 결과를 만드는 사람의 행위(사람의 실수)
- 결함(defect)
오류에 의해 발생한 것. 실제로 코드에 구현된 것. S/W 상의 오류를 일으키는 징후. 요구 사항의 부정확한 처리, Failure의 원인이 될 수 있음
- 장애 : 예상과 다르게 동작하는 SW의도하지 않은 결과
※ S/W, 시스템, 문서의 결함은 장애의 원인이 되지만 반대는 아니다.
- S/W 결함의 원인
인간의 실수 : 요구사항의 오류 및 변경.시간적 압박,복잡한 코드,기반 환경의 복잡성, 기술 시스템의 변경 S/W 상호간의 연동
환경적 요인 : 방사 자기 전자기장 물리적 오염
- S/W 개발 유지보수 운영 시 테스팅의 역할
1) S/W 개발과정에서의 테스팅
- 개발 초기에 요구사항 분석 단계부터 테스트 리뷰와 정적 분석을 통해 정적 테스팅
- 개발 단계에 대응하는 테스트 레벨에 따른 테스팅
- 최종 인수단계 → 인수테스팅
2) 유지보수. 운영에서의 테스팅
- 유지보수 활동으로 변경 및 단종되는 경우 테스팅
- 환경 변했을 경우 변경된 시스템의 대상 변경된 환경에서의 운영 테스팅
얼마나 테스트해야 충분한가? → 적절한 테스팅의 정도 파악 → 리스크 수준을 고려
> 테스팅 ?
응용 프로그램, 시스템의 동작과 성능, 안정성이 사용자가 요구하는 수준을 만족하는지 확인하기 위해 결함을 발견하는 매커니즘
> 테스팅의 정의
현재의 테스팅 : 사용자의 기대수준과 요구사항에 맞게 구현 동작되는지 확인
최종적으로 결함 데이터를 근간. 개발 프로젝트의 리스크 정보를 정량적 수치로 의사결정권자에게 전달
> 테스팅: 결함존재를 확인하지만 그 위치와 원인을 알 수 없음
디버깅: 결함위치 파악 및 결함 제거
재테스팅: 결함이 제거되었는지 확인
> 테스트 원칙
1) 테스트는 반드시 프로그램을 개발한 프로그래머나 팀과는 무관한 그룹이 수행해야 한다.
2) 결함이 발견되지 않으리라는 가정하에 테스트 계획을 수립해서는 안 된다.
3) 타당한 경우뿐만 아니라 타당하지 않고 예상하지 못한 경우에 대해서도 테스트를 수행해야 한다.
4) 프로그램의 어떤 부분에 결함이 남아있을 확률은 그 부분에서 이미 발견된 결함의 수에 비례한다.
5) 테스트 케이스를 체계적으로 관리하라
6) 각각의 테스트 결과를 철저하게 점검하라. (테스트 케이스 재사용 할 수 있다. )
7) 각각의 테스트 결과를 철저하게 점검하라.
※ ISO 25010 품질 특성 분류
주특성 | 설 명 |
기능 적합성 | 요구되는 기능을 만족시키는 능력 |
성능 효율성 | 적절한 자원의 사용 및 적정한 반응시간 정도 |
호환성 | 다른 시스템과의 상호 연동 능력 |
사용성 | 사용자가 이해하고 배우기 쉬운 정도 |
신뢰성 | 규정된 조건에서 규정된 기간 동안 오동작 없이 의도된 기능을 수행하는 소프트웨어의 능력 |
보안성 | 정보 및 데이터를 보호하는 능력 |
유지보수성 | 소프트웨어 유지보수의 용이성 |
이식성 | 다양한 플랫폼에서 운영될 수 있는 소프트웨어의 능력 |
☞ 기성호사신보유이 : 일단 앞글자만 따서 외워둡니다.
포함관계 : 테스트 < V&V < 품질 보증
Verification(검증): S/W 개발과정에서 수행한 활동의 적합성 검사에 초점. 요구사항 명세서가 결과물에 적절하게 반영되었는가
Validation(확인): 결과물의 적합성에 초점.
☞ 구분할 줄 알아야 합니다.
> 정적 테스트: 테스트 대상을 실행하지 않고 테스트를 수행하는 방식. 실행환경이 불필요. 소스 코드 작성 전에서 테스트 가능
- 리뷰: 산출물이 품질 목표에 부합하는지 점검 또는 결함 검출 목적
> 정적 분석: 소스 코드를 대상으로 결함 판단할 수 있는 특정 패턴이 소스 코드에 있는지 분석 자동화 도구를 활용함으로써 테스트를 자동으로 수행할 수 있다는 장점이 있다.
> 동적 테스트: 소프트웨어를 실행. 요구사항은 어떤 입력에 대한 기대 결과를 명시한다
소프트웨어는 필요하나 소스 코드는 사용하지 않는다. S/W 실행할 환경이 필요
. 소프트웨어 품질 요구사항(가용성 확장성, 신뢰성 등)등도 동적테스트를 통해서 확인이 가능
- 명세 기반 방법: 요구명세이용 TC 개발. 컴, 통, 시, 인 등 전 과정에 사용
- 구조 기반 방법: 제어흐름, 자료 흐름 정보를 이용하여 TC 설계.
- 경험 기반 방법: 테스터의 경험. 직관을 활용하여 테스트. TC 를 바탕으로 테스트 수행하지 않음
예) 오류추정, 탐색적 테스트
> 테스트 케이스 : 특정한 입력값으로 테스트 대상을 실행하였을 때 기대되는 값도 결정해야 한다. 이유는 실제 출력이 예상 기대값과 다른 경우 테스트 대상은 결함을 가지고 있다고 간주할 수 있다.
◈ 기출문제에서 나오는 문구 중 헤깔린 것이 있어서 포함해서 정리했습니다.
'CSTS (일반등급)' 카테고리의 다른 글
CSTS 5장 위험 기반 테스트 (0) | 2025.05.22 |
---|---|
CSTS 4장 품질 특성과 비기능 테스트 (2) | 2025.05.22 |
CSTS 3장 소프트웨어 개발 단계와 테스트 (0) | 2025.05.22 |
CSTS 2장 테스트 분류와 테스팅 방법 (4) | 2025.05.22 |
CSTS 시험 후기 (2025.05.10 일반등급) (0) | 2025.05.22 |