22/11/07 일반등급 출제기준
테스팅 방법(테스팅 방법 개요, 재테스팅 및 리그레션 테스팅, 소프트웨어 생명 주기 모델과 테스팅, 모델기반 테스팅) 7문제
6.1 순차적 개발 모델
6.2 진화적 개발 모델
6.3 애자일 개발 모델
| 폭포수 모델 | 나선형 모델 | 애자일 방법론 | |
| 접근 방식 | 선형적이고 순차적 | 위험 중심 | 반복적이고 점진적 |
| 프로세스 | 각 단계의 순차적 완료 | 요구사항, 설계 위험 분석 프로토타입 |
IDD: 1주~4주 TDD: 리팩토링 |
| 요구 사항 | 명확하고 안정된 요구 사항 가정 | 요구 사항 변동성 고려 | 요구 사항 변경에 대한 적응 강조 |
| 문서화 | 각 단계에서의 계획 및 문서화 강조 | 문서화는 유지보수 및 업데이트에 도움 | 문서화는 유연하고 적응 가능 |
| 테스트 | 개발 과정의 마지막에 테스트 진행 | 반복적인 테스트와 위험 분석 | 지속적인 테스트와 통합 |
| 유연성 | 유연성이 적고 구조화가 더 강조됨 | 사용자 정의 및 적응 가능 | 높은 유연성과 적응력 |
| 의사 소통 | 협업보다는 문서화를 강조 | 팀 구성원 및 이해 관계자 간의 협업과 의사 소통 | 협업과 빈번한 의사 소통 |
| 복잡성 | 요구 사항이 명확하고 간단한 프로젝트에 적합 | 위험이 높고 요구 사항이 변동하는 복잡한 프로젝트에 적합 | 요구 사항이 변동하고 고객 참여가 높은 프로젝트에 적합 |
| 시간 및 비용 | 변경을 수용하기 어렵고, 후반 변경 비용이 높음 | 위험 분석 및 평가 단계로 인해 시간이 소요 | 초기 피드백을 통해 변경 비용을 줄임 |
| 이상적인 프로젝트 | 요구 사항이 명확하고 안정된 간단한 프로젝트 | 위험이 높고 요구 사항이 진화하는 복잡한 프로젝트 | 요구 사항이 변화하고 고객 참여가 높은 프로젝트 |
CSTS가이드 예제
1. 다음은 테스트 주도 개발(Test-Driven Development, TDD)프로세스를 나타내는 그림이다. (가)에 들어갈 용어는 무엇인가?
| 시작 | ||
| 더 많은 테스트 필요↗ | 실패하는 테스트 작성 | |
| 테스트를 통과하는 코드 작성 | (가) | |
| 종료 |
① 재구성(Restructuring)
② 리팩토링(Refactoring)
③ 재공학(Reengineering)
④ 역공학(Reverse engineering)
2. 리팩토링을 수행한 후에 수행하는 테스트는?
① 리그레션 테스트(Regression test)
② 재테스트(Retest)
③ 인수 테스트(Acceptance test)
④ 벤치마크 테스트(Benchmark test)
3. 소프트웨어 생명 주기 모델인 순차적 모델과 테스트에 관한 설명 중 올바른 것은 무엇인가?
① 폭포수 모델은 개발 완료 후 발견된 결함의 수정 비용과 시간이 적게 소요된다.
② V-모델에서 테스트 활동은 개발이 종료됨과 동시에 시작된다.
③ V-모델에서 개발 산출물에 대한 동적 테스트가 수행된다.
④ 폭포수 모델은 테스트를 하나의 개발 단계로만 간주한다.
4. 다음에[서 설명하는 용어는 무엇인가?
| 개발자 관점의 검증(Verification)과 사용자 관점의 확인(Validation)을 기반으로 한 개발 모델 소프트웨어 개발방법론 중 폭포수 개발모델(Waterfall)에 근간을 두고 있는 모델 소프트웨어 개발 단계별 테스트 유형이 대응하여 정의됨 (요구사항↔인수 테스트, 요구사항 분석↔시스템 테스트, 구조설계↔통합테스트, 상세설계↔단위 테스트) |
5. 아래의 V-모델에서 빈칸에 들어갈 알맞은 용어를 적절하게 나열한 것은 무엇인가?
| 가) | 요구사항 | 인수 테스트 | STLC |
| 테스트 계획, 테스트 분석 및 설계 | 요구사항 분석 | 라) | 테스트 실행 |
| 구조설계 | 다) | ||
| 상세 설계 | 나) | ||
| 코딩 | |||
가) SDLC, 나) 단위 테스트, 다) 통합 테스트, 라)시스템 테스트
6. 다음 중 애자일 선언(Agile Manifesto)과 가장 거리가 먼 것은?
① 사람 및 상호 의사 교환이 프로세스나 도구 보다 우선한다.
② 동작하는 소프트웨어가 포괄적인 문서보다 우선한다.
③ 고객과의 계약이 무엇보다 우선한다. (협력)
④ 변화에 반응하는 것이 계획을 따르는 것보다 우선한다.
7. 테스트 주도 개발(Test-Driven Development) TDD는 테스트 되는 실제 프로그램의 코드를 먼저 작성하고 프로그램에 대한 테스트 케이스를 나중에 작성하는 방식이다. [ X ]
8. 다음 소프트웨어 생명 주기 모형 중 진화적 개발 모델에 대한 설명으로 가장 올바른 것은?
① 요구 사항이 프로젝트 시작부터 명확하게 정의된 프로젝트에 적합한 개발 모델이다.
② 시스템의 모든 구성 요소를 한꺼번에 개발 완료하는 방식이다.
③ 폭포수 모델보다 프로젝트 관리가 용이하여 보다 큰 차세대 프로젝트에 적합한 개발 모델이다.
④ 사이클마다 리스크 분석이 수행되므로 발생하는 문제점을 해결할 방안을 마련할 수 있다.
-요구사항이 불명확할 때 사용하기 적합한 개발 모델로 시스템 구성 요소를 조금씩 개발 반복적으로 수행하여 프로젝트를 진행하는 방식으로 대규모 프로젝트에 적합하다. 매 단계 테스트가 수행되므로 많은 문제점을 해결할 기회를 가질 수 있다.
9 폭포수 모델과 같은 순차적 개발 모델은 매 단계에서 적정한 테스트가 이루어지므로 고객의 주요 요구사항에 대해 우선 프로토타입을 개발하고 사용자 평가 및 테스트를 거쳐 다음 개발 주기를 시작한다. [ X ]
10. 소프트웨어 생명 주기 모델 중 애자일 개발 모델은 프로세스와 문서 위주의 방법론으로 요구사항의 변경이 빈번하게 발생하는 경우에 적합한 방법이다 [ X ]
tta 예제문제 2019.3
tta 예제문제 2022.10
17. 나선형 모델에 대한 설명으로 올바른 것은 무엇인가?
① 동적 테스트 이외에도 각 레벨의 산출물에 대한 정적 테스트를 수행하여 결함을 도출하고 수정한 후 다음 레벨을 시작한다. (V-모델)
② 요구사항이 개발 초기에 완전하지 않아 프로토타입을 개발하고 테스트 및 사용자의 평가를 거쳐 다음 개발 주기를 시작한다.
③ 소프트웨어 개발을 1주에서 4주로 단위의 주기로 나누어 각 주기 별로 새로운 요구사항을 개발하고 테스트 및 릴리즈한다. (애자일 IDD)
④ 요구사항 변경이 도중에 빈번하게 이루어지지 않는 경우의 개발 모델로 개발 대상을 여러 단계로 나누어 개발한다. (폭포수 모델)
18. 모델 기반 테스트 수행 순서를 올바르게 나열한 것은?
| <보기> (가) 테스트 케이스 실행 (나) 테스트 케이스 생성 (다) 모델 생성 (라) 테스트 결과 판단 |
① (가) → (나) → (다) → (라)
② (나) → (다) → (라) → (가)
③ (다) → (나) → (가) → (라)
④ (라) → (다) → (나) → (가)
참고자료
https://product.kyobobook.co.kr/detail/S000001732437
소프트웨어 테스트 전문가(CSTS) 가이드 | 한국정보통신기술협회(TTA) - 교보문고
소프트웨어 테스트 전문가(CSTS) 가이드 | 『소프트웨어 테스트 전문가(CSTS) 가이드』는 〈테스트 개요〉, 〈테스트 설계기법〉, 〈테스트 프로세스〉, 〈SW테스트 전문가(CSTS) 자격시험 예제〉를
product.kyobobook.co.kr
'CSTS' 카테고리의 다른 글
| 8. 정적 테스트 (0) | 2023.06.12 |
|---|---|
| 7. 테스트 자동화 (0) | 2023.06.12 |
| 5. 위험 기반 테스트 (0) | 2023.06.12 |
| 4. 품질 특성과 비기능 테스트 (0) | 2023.06.12 |
| 3. 소프트웨어 개발 단계와 테스트 (0) | 2023.06.12 |
