1. 메모
클러스터(Cluster) : 공통의 목표를 위해 작동하는 컴퓨터 또는 어플리케이션 그룹
2. Point
성능 테스트
- Load Test : 최대 부하에 도달할 때까지의 애플리케이션 반응 확인
- Smoke Test : 애플리케이션의 테스트 준비 상태 확인
- Stability Test : 애플리케이션이 오랜 시간 평균 부하 노출 시의 안정성 확인
- Back to Back Test : SW 구현 버전이 여러 개인 경우, 각 버전을 함께 테스트하고 결과 비교
- Spike Test : 갑작스러운 부하의 증가에 대한 애플리케이션 반응 확인
시스템 테스트 종류
- 외부 기능 테스트(Function Test) : 소프트웨어에 대한 외부로부터의 시각에서 요구 분석 단계에서 정의된 외부 명세의 충족성 테스트
- 내부 기능 테스트(Facility Test) : 사용자의 상세 기능 요구를 요구명세서의 문장 하나하나 짚어가며 테스트
- 부피 테스트(Volume Test) : 소프트웨어로부터 상당량의 데이터를 처리해 보도록 여건을 조성해보는 테스트
- 스트레스 테스트(Stress Test) : 소프트웨어에게 다양한 스트레스를 가하는 테스트
- 성능 테스트(Performance Test) : 응답 속도, 처리량 등의 소프트웨어 효율성을 테스트
- 호환성 테스트(Compatibility Test) : 기존 소프트웨어와의 호환성 테스트
- 신뢰성 테스트(Reliability Test) : 소프트웨어의 오류 및 고장을 내는 정도 테스트
- 복구 테스트(Recovery Test) : 소프트웨어가 자체 결함이나 하드웨어 고장 등으로부터 어떻게 회복하는지에 대한 테스트
- 보수 용이성 테스트(Serviceability Test) : 고장 진단, 보수 절차 및 문서 유지보수 단계에서의 작용을 얼마나 용이하도록 하고 있는가를 테스트
알파 테스트 : 개발자의 장소에서 사용자와 개발자가 함께 확인하면서 수행하는 테스트
베타 테스트 : 최종 사용자가 사용자 환경에서 검사를 수행하고 발견된 오류와 문제점을 기록하여 추후에 반영될 수 있도록 개발 조직에게 보고하는 테스트
테스트 관련 법칙
- Boehm의 법칙 : 초기 개발 단계에서 결함 발견 시 나중에 발견하는 것보다 시간과 비용을 절약할 수 있다는 법칙
- Pareto의 법칙 : 소프트웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발생한다는 법칙
- Pesticide Paradox : 동일한 테스트 케이스를 사용하여 반복적으로 테스트를 수행하면 새로운 버그를 찾지 못한다는 테스트 원리
하향식 통합
- 특징
• 주 프로그램으로부터 그 모듈이 호출하는 다음 레벨의 모듈을 테스트하고, 점차적으로 하위 모듈로 이동하는 방법
• Stub(모듈 간의 통합 테스트를 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈)을 이용한다.
- 순서
1. 주 모듈을 드라이버로 사용하고, 주 모듈의 하위 모듈들을 스텁으로 대체
2. 깊이 우선 또는 너비 우선 등의 통합 방식에 따라 하위 스텁들을 실제 모듈과 대체
3. 각 모듈이 통합될 때마다 테스트 실시
4. 테스트를 통과하면 또 다른 스텁이 실제 모듈로 대체
5. 새로운 오류가 발생하지 않음을 보장하기 위하여 회귀 테스트 실시
- 장점 : 처음부터 독립된 소프트웨어 구조를 가지며, 주요 기능을 조기에 시험할 수 있다. 또한 하위 모듈 시험이 끝난 상위 모듈을 이용하기 때문에 실제 가동 환경과 유사하다.
- 단점 : 병행 작업이 어려우며 스텁이 필요하다.
상향식 통합
- 특징
• 시스템 하위 레벨의 모듈로부터 점진적으로 상위 모듈로 통합하면서 테스트하는 기법
• Driver(테스트 사례를 입력받고, 테스트를 위해 받은 자료를 모듈로 넘기고, 관련된 결과를 출력하는 메인 프로그램)을 이용한다.
- 순서
1. 하위 모듈은 소프트웨어의 부수적 기능을 수행하는 클러스터로 조합
2. 각 클러스터의 테스트를 위한 시험 사례 입출력을 조정하도록 드라이버를 개발
3. 각 클러스터를 테스트
4. 드라이버를 제거하고 클러스터는 위로 이동하며, 소프트웨어 구조를 상향식으로 만들어 간다.
5. 최종 드라이버 대신 주프로그램을 대체시키고, 전체적인 소프트웨어 구조를 완성
- 장점 : 철저한 모듈 단위 시험 및 병행 작업이 가능하며, 불필요한 스텁 개발을 피할 수 있다.
- 단점 : 마지막 단계까지 독립된 소프트웨어 형태를 가지지 못한다.
3. 오답 노트
없음
개인 공부를 위한 게시물로 틀린 내용을 포함할 수 있는 점 참고 부탁드립니다.
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 필기] Part 2 소프트웨어 개발 오답 노트 (0) | 2023.12.13 |
---|---|
[정보처리기사 필기] Part 2 소프트웨어 개발 Chapter 5 인터페이스 구현 공부 (0) | 2023.12.12 |
[정보처리기사 필기] Part 2 소프트웨어 개발 Chapter 3 제품 소프트웨어 패키징 공부 (0) | 2023.12.12 |
[정보처리기사 필기] Part 2 소프트웨어 개발 Chapter 2 통합 구현 공부 (1) | 2023.12.11 |
[정보처리기사 필기] Part 2 소프트웨어 개발 Chapter 1 데이터 입출력 구현 공부 (1) | 2023.12.11 |
댓글