쉽게 배우는 소프트웨어 공학 8장 구현 연습문제
직접 푼거라 틀릴수도있음
1. 하향식 통합에서 모듈간의 통합 시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈을 무엇이라고 하는가?
① stub
② driver
③ procedure
④ function
답 : 1
설명 : 그렇다고 하네요
2. 인터페이스의 요구사항 검토 방법에 대한 설명이 옳은 것은?
① 리팩토링 : 작성자 이외의 전문 검토 그룹이 요구사항명세서를 상세히 조사해 결함, 표준위배, 문제점 등을 파악한다.
② 동료 검토 : 요구사항명세서 작성자가 요구사항명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견한다.
③ 인스펙션 : 자동화된 요구사항 관리 도구를 이용해 요구사항의 추적서과 일관성을 검토한다.
④ CASE 도구 : 검토 자료를 회의 전에 배포해 사전 검토한 후 짧은 시간 동안 검토 회의를 진행하면서 결함을 발견한다.
답 : 2
설명 : 리펙토링 - 외부 동작을 바꾸지 않으면서 내부 구조를 개선하는 방법
3. 소스 코드의 품질 분석 도구 중 정적 분석 도구가 아닌 것은?
① pmd
② cppcheck
③ valMeter
④ checkstyle
답 : 3
설명 : 그렇다네요
4. 소프트웨어 테스트에서 오류의 80%는 전체 모듈의 20%내에서 발견된다는 법칙은?
① Brooks의 법칙
② Boehm의 법칙
③ Pareto의 법칙
④ Jackson의 법칙
답 : 3
설명 : 네
5. 다음에서 설명하는 테스트 용어는?
[ - 테스트의 결과가 참인지 거짓인지를 판단하기 위해 사전에 정의된 참값을 입력해 비교하는 기법 및 활동을 말한다.
- 종류에는 참, 샘플링, 휴리스틱, 일관성 검사가 존재한다. ]
① 테스트 케이스
② 테스트 시나리오
③ 테스트 오라클
④ 테스트 데이터
답 : 3
설명 : 그렇다고 합니다
6. 문제 쓰기 귀찮음
① 경계 값 분석 기법, 70
② 경계 값 분석 기법, 100
③ 동등 분할 기법, 50
④ 동등 분할 기법, 80
답 : 1
설명 : 경계 값 분석 기법
- 경계에 있는 값을 테스트 데이터로 생성하여 테스트 하는 방법
- 경계 값과 경계 이전 값, 경계 이후 값을 가지고 테스트
동등 분할 기법
- 각 영역에 해당하는 값을 넣고 예상되는 출력값이 나오는지 실제 값과 비교
- 단순하고ㅗ 이해하기 쉬우며 사용자가 작성 가능하다는 장점
7. White Box Testing 에 대한 설명으로 옳지 않은 것은?
① Base Path Testing, Boundary Value Analysis 가 대표적인 기법이다.
② 소스코드의 모든 문장을 한번 이상 수행함으로써 진행된다.
③ 모듈 안의 작동을 직접 관찰할 수 있다.
④ 산출물의 기능별로 적절한 프로그램의 제어 구조에 따라 선택, 반복 등의 부분을 수행함으로써 논리적 경로를 점검한다.
답 : 1
설명 : 그렇다고 하네요
8. 다음이 설명하는 애플리케이션 통합 테스트 유형은?
[ - 깊이 우선 방식 또는 넓이 우선 방식이 있다.
- 상위 컴포넌트를 테스트하고 점증적으로 하위 컴포넌트를 테스트한다.
- 하위 컴포넌트 개발이 완료되지 않으면 스텁(stub)을 사용하기도 한다. ]
① 하향식 통합 테스트
② 상향식 통합 테스트
③ 회귀 테스트
④ 빅뱅 테스트
답 : 1
설명 : 상위 -> 하위 랬으니깐
9. 문제 너무 김
① v1=-2, v2=2
② v1=2, v2=0
③ v1=-2, v2=-2
④ v1=0, v2=0
답 : 1
설명 : 1번보기가 코드를 다 쓰면서 오류임
10. T.McCabe 의 순환복잡도(Cyclomatic Momplexity)에 대한 설명으로 옳지 않은 것은?
① 사이클로메틱 수는 각 모듈에 대한 제어도(fan-out)를 이용해 측정한다.
② 사이클로메틱 수는 코드 전체에서 독립적인 경로의 수를 선형적으로 측정한다.
③ 사이클로메틱 수는 그래프 이론을 기반으로 해 코드를 동등한 제어 흐름 그래프로 변환한 다음에 메트릭을 결정하기 위한 그래프의 속성을 이용해 계산한다.
④ 원시 코드의 구조적인 복잡성을 알아내는 측도이다.
답 : 1
설명 :
각 모듈에 대한 제어도를 이용하는것은 구조화이다.
- 소프트웨어 전체 구조와 그 구조가 시스템에 개념적인 무결성을 제공하는 방법
- 깊이, 너비, 제어도, 공유도 를 이용해 측정
11. 인터페이스 구현 검증 도구가 아닌 것은?
① ESB
② xUnit
③ STAF
④ NTAF
답 : 1
설명 : 그렇다네요
12. 인터페이스 구현 검증 도구 중 아래에서 설명하는 것은?
- 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임 워크
- 각 테스트 대상 분산 환경에 데몬을 사용해 테스트를 수행하고 통합해 자동화하는 검증 도구
① xUnit
② STAF
③ FitNesse
④ RubyNode
답 : 2
설명 : 그렇다네요
13. 다음은 어떤 시스템의 유지보수를 위한 요구사항의 일부이다. 아래 요구사항에 따라 수행한 유지보수 활동이 기존 기능에 영항을 끼쳤는지 알아보기 위해 수행하는 테스팅은?
Req-01 : 윈도 환경에서 동작하는 시스템을 리눅스 환경에서도 동작하도록 한다.
Req-02 : sms 문자 발송 기능의 오류를 수정한다.
Req-03 : 논리 흐름을 보다 이해하기 쉽도록 코드 구조를 개선한다.
① 회귀 테스팅
② 사용성 테스팅
③ 성능 테스팅
④ 보안성 테스팅
답 : 1
설명 :
회귀테스팅
- 원시코드의 결함을 수정한 후 제대로 수정되었는지 확인하는 테스트
- 한 모듈의 수정이 다른 부분에 영향을 끼칠수도 있다고 생각하여 수정된 모듈뿐아니라 관련된 모듈까지 문제가 없는지 테스트
- 한 모듈의 수정이 다른 부분에 미치는 영향을 최소화하기 위해 필요
14. 소프트웨어 테스팅 문성 관한 국제 표준 까지 외울필욘 없다고 생각하네요
①
②
③
④
답 :
설명 :
15. 다음은 무엇에 사용되는 도구인가?
JUnit Mockito JMeter
① 버전관리
② 프로젝트관리
③ 소프트웨어 설계
④ 소프트웨어 테스팅
답 : 4
설명 :
16. 점수가 80점 이상이면 '합격', 80점 이하이면 '불합격'이고 점수 범위는 0~100까지의 정수이다. 이것을 프로그램으로 작성하고 이 프로그램을 테스트 할 때 적합한 테스트 기법은 무엇이며 적절한 테스트 데이터는 얼마인가?
답 : 경계 값 분석 기법, 80
설명 :
17. 문제 생략
답 : 1개
설명 :
20. 다음 코드에서 순환복잡도는 얼마인가
코드생략
답 : 3
설명 : 순환복잡도 = 분기문 + 1
'IT etc > 소프트웨어공학' 카테고리의 다른 글
C10. 품질 연습문제 (0) | 2022.06.14 |
---|---|
C8. 구현 연습문제 (0) | 2022.06.13 |
C7. 디자인패턴 연습문제 (1) | 2022.06.13 |
C6. 아키텍처 설계와 클래스 설계 연습문제 (6) | 2022.06.12 |