장바구니 담기 close

장바구니에 상품을 담았습니다.

소프트웨어 테스팅

소프트웨어 테스팅

  • 권용래
  • |
  • 생능
  • |
  • 2010-08-04 출간
  • |
  • 324페이지
  • |
  • 188 X 254 X 30 mm
  • |
  • ISBN 9788970506746
판매가

27,000원

즉시할인가

26,730

배송비

2,500원

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
26,730

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




소프트웨어 테스팅이 소프트웨어 개발에 있어서 품질 수준을 높이기 위한 가장 중요한 수단의 하나이며 최후의 수단임에도 불구하고 소홀히 되어온 것이 사실이다. 그 이유는 소프트웨어 개발의 1차적인 관심이 요구되는 시스템을 가능한 한 빠른 시간에 개발해 내는 데에 있었고, 개발 완료된 소프트웨어의 품질 자체에는 부차적인 관심을 두었기 때문이다. 또한 테스팅이 개발 완료된 소프트웨어를 고객에게 인도하기 직전에 수행하는 작업이다 보니까 인도하기에 바빠서 충분한 시간을 가지고 철저하게 테스팅을 할 여유가 없었기 때문이다.
그러나 이제 이러한 경향은 급격히 변화할 것으로 예상된다. 소프트웨어의 응용이 확산되고 소프트웨어가 응용 시스템에서 점점 더 중요한 역할을 맡게 됨으로써 소프트웨어의 품질에 대한 관심이 빠른 속도로 높아지고 있기 때문이다. 우선 낮은 품질의 소프트웨어가 초래하는 피해가 이용자의 불편은 물론, 국가 안보를 위협하거나 환경의 피해, 재산상의 손실 등 점점 규모와 파장이 커지고 있기 때문이다.
소프트웨어 품질을 획기적으로 제고하기 위해서는 지금까지의 임시방편적인 기법의 적용으로는 불충분하고 개발 단계 전반에 걸쳐서 품질을 제고시킬 수 있는 노력이 체계적으로 가해져야 할 것이다. 따라서 그 사이에 연구되고 축적되어 온 체계적 테스팅 기술을 적용하여 시간이 허용하는 한도 내에서 최대한 결함을 검출해 내어야 할 것이다.

그럼에도 불구하고 소프트웨어 프로세스의 경우와 달리 소프트웨어 테스팅에 관한 지식을 얻을 수 있는 기회가 별로 없는 것이 사실이다. 대개의 경우 대학의 학부과정에서 소프트웨어 공학 개론 한 과목을 수강할 수 있을 뿐, 소프트웨어 테스팅을 독립된 과목으로 다루는 대학은 거의 없다. 그렇다고 실무적인 교육의 기회가 제공되는 사례도 별로 보이지 않는다. 그뿐 아니라 산업체 현장에서도 소프트웨어 테스팅에 관한 교육은 다른 분야에 비해 체계가 잡혀 있지 않다.
이러한 상황에서 이 책에 관한 구상을 하게 되었다. 더욱이 2004년 한국과학기술원에 소프트웨어 전문가 과정이 설치되고, 그 과정을 위하여 소프트웨어 품질 보증이라는 과목의 강의를 새롭게 개설한 것이 이 책의 구상을 더욱 구체적으로 만든 계기가 되었다. 전문과 과정의 목표는 일반 정규 과정과 달리 산업체의 유경험자를 대상으로 산업체에서 얻은 경험적 지식을 체계화하고 과정을 수료한 후에 다시 실무에 돌아가게 될 때 요구되는 기술을 제공하는 데 있다. 따라서 소프트웨어 테스팅이라는 과목이 이러한 목표에 잘 부합하겠다는 판단이 섰던 것이다.
특히 2006년 한국과학기술원에서 연구연가를 얻어 2006년 3월부터 1년여 동안 삼성전자 소프트웨어연구소에서 소프트웨어 테스트 프로세스 개선에 관한 자문 활동을 하면서 소프트웨어 개발 현장에서 직면하는 품질 요구 수준, 테스팅을 위한 주변 환경, 활용 가능한 테스팅 기법을 접하면서 소프트웨어 개발 현장에서 사용할 수 있는 테스팅 전문 서적에 대한 필요성을 인식하게 되었다.
따라서 이 책은 처음부터 소프트웨어 개발 현장에서 참고할 수 있는 소프트웨어 테스팅에 관한 전문 서적으로 기획되었다.

그렇다고 해서 이 책이 실무적인 지침서만으로 쓰여진 것은 아니다. 현장에서 활용 가능한 기법을 포함하는 것은 물론이고, 현재까지 소개되어 있는 테스트 기법을 최대한 균형 있게 망라하되 그중에서 실제로 활용 가능한 기법을 선별하여 비교적 상세하게 설명하는 방식으로 서술하였다. 따라서 일반 대학에서 소프트웨어 테스팅이 한 학기 정도의 독립 과목으로 개설된다면 그러한 과목의 교재로서도 사용 가능할 것으로 사료된다. 단, 이 경우에는 테스팅 도구를 사용한 실습이 보완되어야 할 것이다.
현장에서는 품질 관리 기법도 테스트 기법 못지않게 긴요하지만 이 책에서는 품질 관리 기법에 관해서는 비교적 적은 분량을 할애하였다. 그 이유 중의 하나는 품질 관리 기법에 관해서는 다른 좋은 책들이 많이 소개되어 있기 때문이고, 또 다른 이유는 소프트웨어 품질 관리 기법이 대체로 일반 공학의 품질 관리 기법을 상당 부분 원용하고 있기 때문에 거기에 특별히 추가할 내용이 많지 않다고 생각하였기 때문이다.
이 책은 앞부분에서 소프트웨어 품질 제고를 위한 테스팅의 역할, 테스팅이란 무엇인지, 어떠한 유형의 테스팅이 존재하는지, 테스팅이 왜 기술적으로 어려운지 등에 관해 논의하고, 이어서 소프트웨어 테스팅이 수행되는 절차를 설명하고 있다. 서론적인 부분에 이어서 본문으로 들어와 테스팅의 기술적인 내용, 즉 테스트 설계 기법들을 비교적 상세하게 소개하고 있다. 테스트 설계 기법은 크게 명세서를 기반으로 하는 기법과 코드를 기반으로 하는 기법으로 나누어서 소개하고 있는데, 각 기법을 적용하는 예를 곁들였다.
그 다음에는 소프트웨어 시스템의 개발이 진행되고 있는 과정에 각종 테스트 기법들이 어떠한 시점에 어떠한 조합을 가지고 적용되는지를 논의하고 있다. 끝으로 새롭게 등장하는 새로운 소프트웨어 패러다임에 대응한 소프트웨어 테스트 전략 및 앞에서 다루지 않은 테스팅의 고급과제를 간략하게 소개하고 있다. 소프트웨어 테스팅은 엄밀하게 진행되어야 하고 많은 작업이 반복되어 수행되어야 한다. 따라서 테스팅에 수반하는 작업들은 최대한 자동화가 되어야 한다. 테스트 작업의 자동화 방법과 자동화 도구는 따로 모아서 설명하지 않고 테스트 기법과 작업이 소개될 때 그와 더불어 설명하고 있다.


목차


제1부 소프트웨어 테스팅의 기본 개념

제1장 소프트웨어의 품질과 테스팅
1.1 개요
1.2 소프트웨어의 품질 요소
1.3 소프트웨어 결함의 예방
1.4 소프트웨어 테스팅이 어려운 이유

제2장 소프트웨어 테스팅이란?
2.1 개요
2.2 소프트웨어 에러, 결함과 고장
2.3 소프트웨어 테스팅의 유형
2.4 체계적 테스팅의 예
2.5 테스팅의 한계

제3장 소프트웨어 테스트 프로세스
3.1 개요
3.2 테스트의 절차
3.3 테스트 케이스의 설계
3.4 테스트 오라클
3.5 테스트 기준
3.6 테스트 프로세스의 자동화
3.7 테스트 프로세스 개선

제4장 소프트웨어 정적 분석 기법
4.1 정적 분석
4.2 비공식 검토 기법
4.3 공식 검토회
4.4 사열과 감리
4.5 정형적 정적 분석 기법
4.6 프로그램의 정확성 증명법

제2부 명세서 기반 테스트 설계 기법

제5장 분할 테스트
5.1 명세 기반 테스트
5.2 분할 테스트
5.3 분할 테스트의 예
5.4 경계치 테스트
5.5 경계치 테스트의 예
5.6 테스트 데이터의 조합 방법

제6장 기타 명세 기반 테스트 설계 기법
6.1 개요
6.2 결정표 테스트
6.3 결정표 테스트의 예
6.4 원인 결과 그래프
6.5 Random 테스트
6.6 상태에 기반을 둔 테스트

제3부 코드 기반 테스트 설계 기법

제7장 문장 테스트와 분기 테스트
7.1 제어 흐름 그래프
7.2 문장 테스트
7.3 문장 테스트 설계의 예
7.4 분기 테스트
7.5 분기 테스트 설계의 예
7.6 조건 테스트
7.7 조건 테스트 설계의 예

제8장 경로 테스트
8.1 개요
8.2 테스트 커버리지
8.3 경로 테스트 설계의 예
8.4 루프 테스트
8.5 데이터 흐름 테스트

제4부 소프트웨어 테스트의 수행

제9장 단위 테스트와 통합 테스트
9.1 개요
9.2 단위 테스트
9.3 단위 테스트의 진행
9.4 단위 테스트 드라이버
9.5 다른 형태의 단위 테스트
9.6 테스트 주도형 소프트웨어 개발
9.7 통합 테스트

제10장 시스템 차원의 테스트
10.1 개요
10.2 기능 테스트
10.3 시스템 테스트의 유형
10.4 신뢰성 테스트
10.5 인도 직전의 테스트

제11장 회귀 테스트
11.1 인도 이후의 테스트
11.2 회귀 테스트 전략
11.3 회귀 테스트 절차
11.4 회귀 테스트 케이스 선별 방법
11.5 회귀 테스트 시스템

제12장 소프트웨어 테스트 관리와 품질 보증
12.1 개요
12.2 소프트웨어 결함 관리
12.3 테스트 인력 관리
12.4 소프트웨어 테스트 계획 수립
12.5 독립적 테스팅
12.6 소프트웨어 품질 보증
12.7 검증과 확인

제5부 소프트웨어 테스팅의 고급 과제

제13장 결함 기반 테스트 기법
13.1 개요
13.2 변종 분석법
13.3 비용 절감 기법
13.4 변종 분석 시스템

제14장 객체지향 소프트웨어 테스팅
14.1 개요
14.2 객체 지향 시스템의 테스팅 차원
14.3 클래스 테스팅
14.4 상속 관계의 테스팅
14.5 소프트웨어 컴포넌트 테스팅

제15장 실시간 내장형 소프트웨어 테스팅
15.1 개요
15.2 실시간 시스템 테스팅
15.3 임베디드 소프트웨어 테스팅

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.