테스트 관련 서적2018. 9. 24. 00:00

 

The Art of Software Testing 3판
국내도서
저자 : 글렌포드 마이어스(Glenford J. Myers),톰 뱃지트(Tom Badgett),코리 샌들러(Corey Sandler) / 이상기,신준식역
출판 : 인피니티북스 2013.05.31
상세보기


1. 다음 괄호에 공통으로 들어갈 내용은 무엇인가? 테스트 관리자 또는 관찰자는 여러 방법으로 테스트 결과를 수집할 수 있다. 사용자 테스트를 촬영하고 ( )을 사용하면 소프트웨어 사용성 및 애플리케이션 사용자 인식에 대한 우수한 데이터를 얻을 수 있다. ( )은 할당된 소프트웨어 테스팅 작업을 수행하는 동안 큰 소리로 자신의 생각과 관찰을 말하는 것을 포함한다. 이 프로세스를 사용하여 테스트 참가자들은 큰 소리로 자신들의 작업에 대해 어떻게 생각하는지 및 그들이 테스트 시나리오를 수행함에 따라 그들이 신경 쓰는 것이 무엇인지 설명한다.




정답

think-aloud protocol


설명

think-aloud protocol의 단점은 비디오 촬영 또는 관찰자가 연관됨으로써 부자연스러운 환경으로 인해 사용자 경험을 흐리게 하거나 수정될 수 있는 가능성이 존재하는 것이다. 또한 개발자는 최종적으로 사용하게 될 위치인 테스트 사용자에 설치되어 있는 애플리케이션에 대한 원격 테스트를 수행할 수도 있다.


2. 본 교재에서 언급한 테스트 케이스 설계 기법에 대한 설명으로 올바르지 못한 것은 무엇인가?

  ① 논리 범위 : 모든 구문이나 시작 점이 적어도 한 번 이상 실행되는 것을 보장하도록 테스트하라.

  ② 동등 분할 : 테스트를 유한하게 줄일 수 있도록 상태 또는 오류 클래스를 정의하라.

  ③ 원인-결과 그래핑 : 효율적이고 완벽한 테스트 케이스를 선택할 수 있도록 불린 그래픽 표현을 만들어라.

  ④ 오류 추정 : 동등한 클래스의 양쪽 끝 조건을 테스트하고, 클래스의 출력뿐 아니라 입력도 고려하라.

정답

4


설명

경계 값 분석 : 동등한 클래스의 양쪽 끝 조건을 테스트 하라. 또한 동등한 클래스의 출력뿐 아니라 입력 클래스도 고려하라. 오류 추정 : 테스트 팀 구성원의 직관적이고 전문적인 지식을 바탕으로 효율적인 테스트 케이스 설계를 위해 잠재적인 소프트웨어 오류를 정의한다.


3. 테스트 대상 프로그램과 초기 요구 사항 및 현재 사용자의 요구를 비교하는 프로세스로 이해할 수 있다. 일반적으로 프로그램의 고객 또는 최종 사용자에 의해 수행되며, 개발 조직의 책임으로 간주되지 않는 특이한 형태의 테스팅은 무엇인가?

정답

인수 테스팅(Acceptance Testing)


설명

인수 테스팅(Acceptance Testing) : 테스트 대상 프로그램과 초기 요구 사항 및 현재 사용자의 요구를 비교하는 프로세스로 이해할 수 있다. 일반적으로 프로그램의 고객 또는 최종 사용자에 의해 수행되며, 개발 조직의 책임으로 간주되지 않는 특이한 형태의 테스팅이다. 계약에 의해 개발된 프로그램은 계약 조직(사용자)을 통해 최초의 계약 내용대로 프로그램이 동작하는지를 인수 테스팅 한다. 다른 유형의 테스트와 마찬가지로, 프로그램이 계약에 명시된 조건을 만족시키지 못하는 것을 보여줄 수 있는 테스트 케이스 설계가 가장 좋은 인수 테스팅 방법이다. 궁극적으로 인수 테스트는 고객 또는 최종 사용자의 책임이지만, 능숙한 개발자는 개발 주기 동안 사용자 테스트를 실시하고 최종 사용자 또는 계약 고객에게 완성된 제품을 제공하기 이전에 인수 테스트를 수행한다.


4. 다음 중 테스팅의 '정의'로 올바른 것은 무엇인가?

  ① 테스팅은 오류가 존재하지 않는 것을 입증하는 프로세스이다.

  ② 테스팅은 오류를 찾기 위해 프로그램을 실행하는 과정이다.

  ③ 테스팅의 목적은 프로그램이 의도한 기능을 정확히 수행하는지 보여주는 것이다.

  ④ 테스팅은 프로그램이 의도한대로 작업하는지에 대한 신뢰를 확립하는 과정이다.

정답

2


설명

프로그램을 테스트하는 것은 그 프로그램에 가치를 추가하고자 하는 것이다. 가치를 추가한다는 것은 테스트를 통해 프로그램의 품질이나 안전성을 높이는 것을 의미한다. 프로그램의 안정성을 높이는 것은 오류를 찾고 수정하는 것을 의미한다. 따라서 프로그램이 실행되는지 보여주기 위해 테스트를 하는 것이 아니라 오히려 프로그램에 오류가 있다고 가정 하고 가능한 많은 오류를 찾기 위해 테스트한다.



5. 모듈 테스팅(Module Testing)에 대한 설명으로 올바르지 못한 것은 무엇인가?

  ① 프로그램의 큰 구성 단위에 초점을 맞추기 때문에 테스팅을 거대화 해서 관리한다.

  ② 다중 모듈을 동시에 테스트할 수 있으므로 프로그램 테스팅 프로세스를 병렬화 한다.

  ③ 발견된 오류를 정확히 찾고 수정하는 디버깅 작업을 쉽게 한다.

  ④ 테스팅의 결합된 요소를 단순화해서 관리하는 방법이다.

정답

1


설명

모듈 테스팅은 프로그램의 작은 구성 단위에 초점을 맞추기 때문에 모듈 테스팅은 테스팅의 결합된 요소를 단순화해서 관리하는 방법이다.


 

 


 


 

 


 

03. 


 

 

 

 


6. "최종 사용자가 논리적으로 기대하는 동작을 프로그램이 수행하지 않을 때 소프트웨어 오류가 발생한다"는 개념을 기반으로, 정말 완벽한 모듈 테스트를 수행하더라도 소프트웨어의 모든 오류를 발견했다고 확신할 수 없으며 테스팅을 완료하려면 어떤 형식의 추가 테스팅이 필요하다는 새로운 형식의 테스팅을 무엇이라 하는가?
정답
고수준 테스팅(Higher-Order Testing)

설명
고수준 테스팅(Higher-Order Testing) : "최종 사용자가 논리적으로 기대하는 동작을 프로그램이 수행하지 않을 때 소프트웨어 오류가 발생한다"는 개념을 기반으로한다. 정말 완벽한 모듈 테스트를 수행하더라도 소프트웨어의 모든 오류를 발견했다고 확신할 수 없다. 테스팅을 완료하려면 어떤 형식의 추가 테스팅이 필요하다. 이와 같은 새로운 형식을 고수준 테스팅(Higher-Order Testing)이라고 한다.

7. 코드 베이스 개발 시 같은 장비에서 두 개발자가 함께 작업하며, 실시간 코드 리뷰를 지원해서 결함 발견 및 해결을 용이하게 하는 익스트림 프로그래밍의 핵심 실행을 무엇이라 하는가?
정답
페어 프로그래밍(Pair Programming)

설명
페어 프로그래밍(Pair Programming) : 코드 베이스 개발 시 같은 장비에서 두 개발자가 함께 작업한다. 페어 프로그래밍은 실시간 코드 리뷰를 지원해서 결함 발견 및 해결을 용이하게 한다.

8. 한 사람이 하는 인스펙션이나 워크스루라고 볼 수 있는 인간 기반 오류 탐색 프로세스로, 체계가 없는 프로세스이기 때문에 대부분의 사람들에게 비생산적이다. 작성자가 아닌 사람이 검사를 더 잘 할 것으로 추론할 수 있지만, 효과가 미미한 프로세스는 무엇인가?
정답
탁상 검사(Desk Checking)

설명
탁상 검사(Desk Checking) : 한 사람이 하는 인스펙션이나 워크스루라고 볼 수 있다. 대부분의 사람들에게 탁상 검사는 비생산적이다. 이유는 체계가 없는 프로세스이기 때문이다. 두 번째이자 더 중요한 이슈는 자신의 프로그램을 테스트하는 것이 비효율적이라는 테스팅 원칙에 위배되기 때문이다. 탁상 검사는 아무런 것도 하지 않는 것보다 좋지만, 인스펙션이나 워크스루보다 효과적이진않다.

9. 애자일 개발 방법론과 그 설명이 올바르게 묶이지 않은 것은 무엇인가?
  ① 필수 통합 프로세스 - 프로젝트에 맞는 사례를 선택하는 RUP 적용, RUP는 일반적으로 필요여부와 관계 없이 모든 방법을 사용함.
  ② 열린 통합 프로세스 - 소프트웨어 팀이 빠른 속도로 자신의 제품을 개발할 수 있도록 표준 통합 관행을 구현한 애자일 접근법.
  ③ 동적 시스템 개발 방법 - 반복적이고 점진적인 단위 및 인수 테스트에 의존적인 또 다른 방식. 가장 잘 알려진 애자일 방법론.
  ④ 기능 주도 개발 - 모범적 사례를 사용하여 일반 빌드, 도메인 객체 모델링 및 기능 구성 등을 구현하는 방법론으로 고객의 기능 구성에 의해 주도됨.
정답
3

설명
동적 시스템 개발 방법 - 신속한 애플리케이션의 개방 방법에 따라, 이 방법론은 지속적인 고객의 참여에 의존하고 시간과 예산의 한도 내에서 소프트웨어 공급을 목적으로 반복적이고 점진적인 방법을 사용한다.


10. 다음 중 프레젠테이션 티어(Tier)에 대한 설명으로 올바르지 못한 것은 무엇인가?
  ① 그래픽의 해상도와 사이즈가 적절한지 확인
  ② 유용성과 정확성을 위한 백엔드 데이터 입력 및 관리 루틴 확인
  ③ 각 페이지의 맞춤법 확인 편집기의 문법과 스타일 확인
  ④ 대화형 작업에 대한 일관성과 사용자 친화적인 피드백 여부 확인
정답
2

설명
유용성과 정확성을 위한 백엔드 데이터 입력 및 관리 루틴 확인은 데이터 티어에 관한 설명이다.


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Posted by 프리스케이터