본문 바로가기
자격증/정보처리기사

[정보처리기사 필기] Part 2 소프트웨어 개발 Chapter 4 애플리케이션 테스트 관리 공부

by Mr.ticket 2023. 12. 12.
728x90
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. 오답 노트

 

없음

 

개인 공부를 위한 게시물로 틀린 내용을 포함할 수 있는 점 참고 부탁드립니다.
728x90

댓글