Study_Note

testing method - software life cycle model & testing 본문

CSTS

testing method - software life cycle model & testing

12월7일생 2024. 3. 11. 16:45
728x90

반응형

테스팅 방법 - 소프트웨어 생명 주기 모델과 테스트
(testing method - software life cycle model & testing)

 

software life cycle model

Software 생명 주기 모델 다양한 소프트웨어들은 고유한 설계 기법과 개발 과정을 갖고 있지만, 대부분은 공통적인 소프트웨어 개발 수명주기(SDLC, Software Development Life Cycle)를 따르고 있습니다. 이

staedtler1207.tistory.com

 

소프트웨어 생명 주기(software life cycle model)는 소프트웨어 개발 체계를 추상적으로 표현한 것으로, 일련의 순차적 또는 병렬적인 단계로 구성됩니다. 이러한 단계는 요구사항 수집과 이해, 분석부터 설계, 모듈 구현 등을 포함합니다.

테스트는 소프트웨어 생명 주기 모델의 특성을 고려하여 수행되어야 합니다. 예를 들어, 순차적 생명 주기 모델에서는 테스트가 구현이 완료된 후에 1회만 수행되지만, 반복적이고 점진적인 모델에서는 테스트가 반복적으로 수행됩니다.

폭포수 모델은 대표적인 순차적 생명 주기 모델로, 구현이 완료된 후에 테스트가 시작됩니다. 이는 모든 개발 단계가 끝난 후에 테스트가 이루어지므로 결함을 수정하는 데 시간과 비용이 많이 소요될 수 있습니다.

V-모델은 구현과 동시에 테스트가 시작되는 순차적 모델로, 각 단계에서 발생한 결함을 검출할 수 있는 테스트 레벨이 존재합니다. 이 모델에서는 동적 테스트와 정적 테스트를 함께 수행하여 품질을 유지합니다.

 

진화적 개발 모델은 이터레이션과 점진적 방식으로 개발을 진행하며, 각 이터레이션마다 테스트를 수행합니다. 이는 요구사항 분석, 설계, 구현, 테스트 등의 단계를 반복하면서 소프트웨어를 점진적으로 개선하는 방식입니다.

 

진화적 개발 모델은 소프트웨어를 이터레이션과 점진적 방식으로 개발하는 방법론입니다.

  • 이터레이션(iteration)
    • 이터레이션은 일종의 반복주기를 나타냅니다. 각 이터레이션은 일정 기간 동안의 개발 활동을 의미합니다.
    • 이터레이션은 보통 몇 주에서 몇 개월까지의 짧은 기간으로 설정됩니다.
    • 각 이터레이션은 요구사항 분석, 설계, 구현, 테스트 등의 단계를 포함하며, 완전한 소프트웨어의 부분 집합을 생성합니다.
    • 이후의 이터레이션에서는 이전 이터레이션에서 개발된 부분을 개선하거나 새로운 기능을 추가하여 소프트웨어를 점진적으로 향상시킵니다.
  •  점진적 방식(incremental)
    • 점진적 방식은 소프트웨어를 단계적으로 개발하는 방법입니다.
    • 초기에는 최소한의 기능을 갖춘 소프트웨어를 빠르게 개발하고, 이후에 추가적인 기능을 점진적으로 통합합니다.
    • 각 단계에서는 새로운 기능이나 기능의 증가로 인한 변경 사항이 추가됩니다.
    • 이러한 점진적 개발 방식은 소프트웨어를 빠르게 고객에게 제공하고 피드백을 수렴하여 소프트웨어를 지속적으로 개선하는 데 도움이 됩니다.

이터레이션과 점진적 방식을 결합하여 진화적 개발 모델은 소프트웨어를 단계적으로 개발하고, 각 단계에서 발생한 피드백을 통해 지속적으로 향상시킵니다. 이는 요구사항이 변화하는 프로젝트나 복잡한 소프트웨어 개발에 유용한 방법론입니다.

애자일 개발 방법론(agile development methodology)은 반복적이고 점진적인 방식으로 개발을 수행하며, 테스트 주도 개발(TDD)과 지속적 통합을 중요하게 다룹니다. 이는 테스트 케이스를 먼저 작성하고 이를 통과하는 코드를 작성하며, 통합을 지속적으로 수행하여 소프트웨어의 품질을 유지하는 방식입니다.

 

이러한 다양한 생명 주기 모델과 테스트 방법론은 각각의 상황과 요구에 따라 선택되어야 하며, 소프트웨어의 품질을 보장하는 데 중요한 역할을 합니다.

 

https://staedtler1207.tistory.com/59

 

agile development methodology

애자일 개발 방법론 (agile development methodology) 애자일 개발 방법론은 소프트웨어 개발 프로세스에서 유연성과 반복적인 접근을 강조하는 방법론입니다. 애자일은 초기에는 소프트웨어 개발에서

staedtler1207.tistory.com

 

https://staedtler1207.tistory.com/15

 

What is TDD?

TDD는 Test-Driven Development의 약자로, 코드를 작성하기 전에 자동화된 테스트를 작성하는 소프트웨어 개발 방법론입니다. TDD에서 개발자는 작고 간단한 자동화된 테스트를 작성하여 코드의 예상 동

staedtler1207.tistory.com