Top

소프트웨어 테스팅의 정석, 이론과 실제 세트

  • 원서명The Art of Software Testing, Second Edition, How We Test Software at Microsoft
  • 지은이글렌포드 마이어스, 톰 뱃지트, 토드 토마스, 코리 샌들러, 앨런 페이지, 켄 존스톤, 비제이 롤리슨
  • 옮긴이이공선, 권원일, 김민영, 김윤명, 여용구
  • ISBN : 9788960773141
  • 59,000원
  • 2012년 06월 19일 펴냄
  • 페이퍼백 | 876쪽 | 188*235mm
  • 시리즈 : 소프트웨어 테스팅

책 소개

[ 세트 구성: 전2권 ]

1) 『The Art of Software Testing (Second Edition) 한국어판: 소프트웨어 테스팅의 정석』
2) 『소프트웨어 테스팅, 마이크로소프트에선 이렇게 한다: MS 최고의 현직 테스터들이 밝히는 베스트 프랙티스』


『The Art of Software Testing (Second Edition) 한국어판』 소개

글렌포드 J. 마이어스가 쓴 이 책은 소프트웨어 테스팅 분야에서 한 획을 그은 진정한 명서이며 고전이다. 테스팅에 대한 일반적인 내용을 개발과 연계해 최근 출간된 그 어떤 책보다 오히려 더 체계적이고 설득력 있게 소개한다. 또한 인터넷 애플리케이션 테스팅, 익스트림 테스팅 등 테스팅의 최신 내용도 같은 맥락에서 다뤄 30여 년 전에 저자가 정립한 테스팅 이론의 탁월성과 적용성을 입증하고 있다. 이 책은 소프트웨어 테스트 엔지니어만을 위한 것은 아니다. IT 전문가라면 누구나 한 번은 읽어야 할, 글자 그대로 소프트웨어 테스팅의 정석을 알려주는 책이다.

이 책에서 다루는 내용
• 테스팅의 기본 원리와 전략
• 프로그램 인스펙션과 워크스루
• 코드 인스펙션
• 오류 체크리스트
• 동료 평가
• 블랙박스와 화이트박스 테스팅
• 오류 추정
• 하향식 테스팅 대 상향식 테스팅
• 고수준 테스팅
• 기능 테스팅과 시스템 테스팅
• 인수 테스팅
• 설치 테스팅
• 모듈(단위) 테스팅
• 테스트 계획과 제어
• 독립 테스팅 에이전시
• 디버깅 원리
• 오류 분석
• 익스트림 테스팅
• 인터넷 애플리케이션 테스팅
• e커머스 아키텍처의 고수준 테스팅


『소프트웨어 테스팅, 마이크로소프트에선 이렇게 한다』 소개

마이크로소프트 테스팅의 실체를 속속들이 들여다 본다! 마이크로소프트의 유명 현직 테스팅 전문가(SDET)들이 집필한 소프트웨어 테스팅 실무서. 사내 9,000여 명의 테스터가 사용하고 있는 툴과 시스템, 베스트 프랙티스를 소개한다. 마이크로소프트의 테스트 설계와 관리 방식, 그들만의 교육 방법과 커리어 개발 방식, 앞으로의 도전을 알려준다.

이 책에서 다루는 내용
• 제품 생명주기에 걸쳐 효과적인 테스트를 설계하고 실행하는 방법 • 기능 테스트의 비용과 리스크를 최소화하고 구조적 기법의 적용 시점을 파악하는 방법 • 버그와 잠재적인 유지 보수 이슈를 파악하기 위해 코드 복잡도를 측정하는 방법 • 모델을 사용해 테스트 케이스를 생성하고 예측 불가능한 애플리케이션 동작을 찾고 리스크를 관리하는 방법 • 자동화 테스트를 적용하는 시점을 파악하는 방법과 자동화 테스트의 장기적 사용을 위해 설계하고 이를 자동화 인프라스트럭처에 통합하는 방법 • 우수한 테스터의 특징을 파악하고, 테스트 실행, 시스템 검사, 효율적인 진척도를 추적하는 데 효과적인 툴을 검토하는 방법 • 서비스와 상용 패키지 소프트웨어 테스팅의 차이점을 탐색하는 방법

저자/역자 소개

[ 저자 소개 ]

글렌포드 마이어스(Glenford J. Myers)
현재 스펙트럼 시그널사의 경영자이다. 래디시스 사의 창업자이자 대표였으며 IBM 시스템연구소의 선임연구원이었다.

톰 뱃지트(Tom Badgett)
국책기업인 아이들에어테크놀로지 사의 CIO이고 복잡한 실시간 빌링 및 고객지원 시스템을 설계•유지•보수하는 소프트웨어 개발팀 매니저다. 소프트웨어와 하드웨어 관련 50여권의 책을 집필했으며, 「피씨주니어(PCJr)」와 「디지털뉴스(Digital News)」의 기술 편집인이기도 하다. 또한 컴퓨터 관련 주요 잡지에 수백 편의 글을 기고했다.

토드 토마스(Todd M. Thomas)
9년 이상 경력을 가진 소프트웨어 전문 개발자이면서 데이터베이스 관리자로서 민간 및 공공 분야에서 다양한 규모의 소프트웨어 프로젝트에 참여한 경력을 보유하고 있다. 기업의 데이터 저장을 극대화하는 데 자바 기술을 사용하는 방법을 다룬 『자바 데이터 액세스(Java Data Access)』의 저자이다.

코리 샌들러(Corey Sandler)
컴퓨터, 과학, 비즈니스 및 여행 책을 발굴해 여러 나라의 대규모 출판사에 제공하는 워드어소시에이션 사의 대표이다. 베스트셀러인 『내 PC 고치기(Fix Your Own PC)』의 저자이며 「디지털뉴스」의 수석편집인이었고 편집장을 역임했다. 또한 「PC위크」의 뉴욕지부장을 역임했고 「PC매거진」의 첫 번째 대표편집인이었다.

앨런 페이지(Alan Page)
1993년 소프트웨어 테스팅 분야 일을 시작해 1995년 마이크로소프트에 입사했다. 마이크로소프트에서 윈도우, 인터넷 익스플로러, 윈도우 CE 분야 등에서 다양한 작업을 했다. 윈도우 CE팀에 재직할 때 2001년 마이크로소프트의 첫 번째 테스트 아키텍트가 됐다. 2005년 엔지니어링 우수 팀의 구성원이 됐고, 현재 마이크로소프트의 테스터에게 교육과 컨설팅을 하는 테스트 우수 팀의 관리자다.

켄 존스톤(Ken Johnston)
마이크로소프트 오피스 인터넷 플랫폼과 운영 팀의 그룹 관리자다. 이 팀은 오피스 온라인, 오피스 라이브, CRM 온라인 등과 같은 서버 제품과 서비스를 위한 관리 기능을 개발한다. 1998년 입사 이후 사이트 서버와 MCIS의 테스트 리더, 익스체인지, 지식 노동자 서비스, Net Docs, 마이크로소프트 과금 및 가입자 플랫폼 서비스 등의 테스트 관리자로 일했다. 2004년부터 2006년까지는 마이크로소프트 테스트 우수 팀의 관리자로 근무했다.

비제이 롤리슨(Bj Rollison)
엔지니어링 우수 팀의 테스트 아키텍트다. 1994년 마이크로소프트에 입사해 윈도우 95 팀에서 근무를 시작했다. 1999년 테스트 관리자가 되기 전까지 인터넷 익스플로러, 아웃룩 98 등을 포함한 작은 프로젝트에 참여했다. 마이크로소프트 입사 전 일본에서 중소기업용 솔루션을 개발하는 작은 회사에서 근무했다. BJ는 국제 학술대회에 연사로 참가하고, 저널에 기고하며, 워싱톤 대학의 소프트웨어 테스팅과 테스트 자동화 공개강좌에서 강의한다.


[ 옮긴이 소개 ]

이공선
한국정보통신기술협회(TTA)의 소프트웨어 시험 인증팀에서 일하고 있다. 관심 분야는 소프트웨어 테스트와 IT 관련 신기술 및 신제품이다.

권원일
㈜STA테스팅컨설팅의 대표이며 현재 1만 7000명 이상의 회원을 가진 테스팅 커뮤니티인 STEN(Software Test Engineers Network, www.STEN.or.kr)을 운영하고 있다. 소프트웨어 테스팅 분야에서 커리어의 승부를 보고자 테스팅 교육∙컨설팅∙책 집필∙국제활동 등을 즐기고 있다. 지식경제부 기술표준원을 대신해 ISO 소프트웨어 테스팅 표준을 주도적으로 만들고 있으며, ISTQB(International Software Testing Qualifications Board) 국제 테스팅 자격증을 국내에 성공적으로 도입했다. 최근에는 TMMi(Testing Maturity Model integration)를 국내는 물론 아시아권에 확산하는 일에 주력하고 있다.

김민영
현재 삼성전자 DMC 연구소 SE Lab에서 책임 연구원으로 재직 중이다. 주요 관심분야는 테스트 메니지먼트, 컨버전스(Convergence) 테스팅, 사용성(Usability) 테스팅이다. 대한민국의 후배 테스트 엔지니어 양성을 위해 일조하자는 목표를 가지고 있다.

김윤명
소프트웨어 개발자로 커리어를 시작해 현재 GTOne 에서 테스트 엔지니어로 일하고 있다. 테스팅 방법론에 관심이 많고, 여러 조직의 베스트 프랙티스를 공유할 수 있는 방법을 찾고 있다.

여용구
현재 NHN 비즈니스 플랫폼(Business Platform)의 QA팀에서 일하고 있다. 끝까지 ‘테스터의 야성’을 잃지 않고 조금이나마 QA 분야에 기여하는 것이 바람이다. QA 분야 전문가가 되기 위해 관련 책 100권 읽기를 목표로 하고 있으며, 테스트 자동화 부분에 관심을 갖고 있다.

목차

목차
  • 『The Art of Software Testing (Second Edition) 한국어판』
  • 1장 자체평가 테스트
  • 2장 프로그램 테스팅의 심리학과 경제학
    • 테스팅의 심리학
    • 테스팅의 경제학
      • 블랙박스 테스팅
      • 화이트박스 테스팅
    • 소프트웨어 테스팅 원칙
    • 요약
  • 3장 프로그램 인스펙션과 워크스루, 리뷰
    • 인스펙션과 워크스루
    • 코드 인스펙션
    • 인스펙션용 에러 체크리스트
      • 데이터 참조 에러
      • 데이터 선언 에러
      • 연산 에러
      • 비교 에러
      • 제어흐름 에러
      • 인터페이스 에러
      • 입출력 에러
      • 기타 체크
      • 워크스루
      • 데스크 체킹
      • 동료 평가
      • 요약
  • 4장 테스트 케이스 설계
    • 화이트박스 테스팅
      • 논리 커버리지 테스팅
      • 동등분할
      • 예제
      • 경계 값 분석
      • 원인-결과 그래핑
    • 에러 추측
    • 전략
  • 5장 모듈 테스팅
    • 테스트 케이스 설계
    • 점진적 테스트
    • 하향식 테스팅 대 상향식 테스팅
      • 하향식 테스팅
      • 상향식 테스팅
      • 비교
    • 테스트 수행
  • 6장 고수준 테스팅
    • 기능 테스팅
    • 시스템 테스팅
      • 편의 테스팅
      • 볼륨 테스팅
      • 스트레스 테스팅
      • 사용성 테스팅
      • 보안성 테스팅
      • 성능 테스팅
      • 스토리지 테스팅
      • 구성 테스팅
      • 호환성∙변환 테스팅
      • 설치 테스팅
      • 신뢰성 테스팅
      • 회복 테스팅
      • 유용성 테스팅
      • 문서 테스팅
      • 절차 테스팅
      • 시스템 테스팅 수행
    • 인수 테스팅
    • 설치 테스팅
    • 테스트 계획 및 제어
    • 테스트 완료 기준
    • 독립적 테스트 기관
  • 7장 디버깅
    • 무차별 디버깅
    • 귀납적 디버깅
    • 연역적 디버깅
    • 역추적에 의한 디버깅
    • 테스팅에 의한 디버깅
    • 디버깅 원리
      • 에러 발생 위치 파악의 원리
      • 에러 수정 기법
    • 에러 분석
  • 8장 익스트림 테스팅
    • 익스트림 프로그래밍 기초
    • 익스트림 테스팅의 개념
      • 익스트림 단위 테스팅
      • 인수 테스팅
    • 익스트림 테스팅 활용
      • 테스트 케이스 설계
      • 테스트 드라이버와 테스트 애플리케이션
    • 요약
  • 9장 인터넷 애플리케이션 테스팅
    • 기본적인 e커머스 아키텍처
    • 테스팅 관련 어려운 과제
    • 테스팅 전략
      • 프리젠테이션 레이어 테스팅
      • 비즈니스 레이어 테스팅
      • 데이터 레이어 테스팅
  • 부록 A 익스트림 테스팅 애플리케이션 예제
  • 부록 B 1,000보다 작은 소수

  • 『소프트웨어 테스팅, 마이크로소프트에선 이렇게 한다』
  • 1부 마이크로소프트에 대해
  • 01장 마이크로소프트의 소프트웨어 엔지니어링
    • 마이크로소프트의 비전, 기업 가치, 높은 선호도의 비결
    • 대규모 소프트웨어 엔지니어링 기업
    • 효율적인 대규모 비즈니스 개발
      • 공유 팀 모델
    • 대기업의 소규모 비즈니스
    • 다양한 엔지니어 고용
      • 엔지니어링 분야
    • 세계적 소프트웨어 개발사를 향해
    • 정리
  • 02장 마이크로소프트의 소프트웨어 테스트 엔지니어
    • 이름을 붙여볼까?
    • 마이크로소프트의 테스터가 항상 SDET는 아니다
    • 테스터가 더 많아야 한다
      • 학교 방문 채용
      • 업계 경력직 채용
    • 마이크로소프트 SDET 되기
    • 마이크로소프트 엔지니어링 커리어
    • 테스트 부문의 커리어 패스
      • 테스트 아키텍트
      • IC 테스터
      • 관리자가 되는 것이 승진은 아니다
      • 테스트 관리자
    • 정리
  • 03장 엔지니어링 생명주기
    • 마이크로소프트의 소프트웨어 공학
      • 전통적 소프트웨어 공학 모델
      • 마일스톤
      • 마이크로소프트에서의 애자일
      • 기능 통합
    • 프로세스 개선
      • 마이크로소프트의 정형적 프로세스 개선 시스템
    • 전시상황실에서 소프트웨어 출시
      • 의무 실행
    • 정리: 음식을 다 만들고
  • 2부 테스팅
  • 04장 테스트 케이스 작성을 위한 실용적 접근
    • 좋은 소프트웨어 설계와 테스트 설계
    • 테스트 패턴 사용
    • 테스트 시간 추정
    • 테스트 시작
      • 질문하기
      • 테스트 전략 수립
    • 테스트 용이성
      • 테스트 설계 명세서
    • 정상 동작 테스트와 오동작 테스트
    • 테스트 케이스 설계 시 고려해야 할 기타 항목
      • 블랙박스, 화이트박스, 그레이박스
      • 마이크로소프트의 탐색적 테스팅
    • 정리
  • 05장 기능 테스팅 기법
    • 기능 테스팅의 필요성
    • 동등 클래스 분할
      • 변수 데이터 분할
      • 동등 클래스 분할 동작
      • 파라미터의 서브셋 분석
      • ECP 테스트
      • 동등 클래스 분할 요약
    • 경계 값 분석
      • 경계 값 테스트의 정의
      • 경계 값 분석을 위한 새로운 공식
      • 숨겨진 경계 값
      • 경계 값 분석 요약
    • 조합 분석
      • 조합 테스팅 접근 방법
      • 조합 분석의 적용
      • 조합 분석의 효과
      • 조합 분석 요약
    • 정리
  • 06장 구조적 테스팅 기법
    • 블록 테스팅
      • 블록 테스팅 요약
    • 결정 테스팅
      • 결정 테스팅 요약
    • 조건 테스팅
      • 조건 테스팅 요약
    • 기본 경로 테스팅
      • 기본 경로 테스팅 요약
    • 정리
  • 07장 코드 복잡도에 따른 리스크 분석
    • 비지니스 리스크
    • 복잡한 문제
      • 코드 라인 수 측정
    • 사이클로매틱 복잡도 측정
      • 할스테드 메트릭
      • 객체지향 메트릭
      • 사이클로매틱 복잡도가 높다고 반드시 버그가 많은 것은 아니다
    • 복잡도 메트릭 제대로 다루기
    • 정리
  • 08장 모델 기반 테스팅
    • 모델링 기초
  • 모델 테스팅
    • 모델 설계
    • 소프트웨어 모델링
    • 유한 상태 모델 만들기
    • 모델 자동화
  • 테스팅을 지원하는 모델링
    • 베이시안 도해 모델
    • 페트리 넷
  • 마이크로소프트의 모델 기반 테스팅 툴
    • 스펙 익스플로러
    • 언어와 엔진
    • 모델링 팁
  • 정리
  • 추천 도서와 툴
  • 3부 테스트 툴과 시스템
  • 09장 버그와 테스트 케이스 관리
    • 버그 워크플로우
    • 버그 추적
      • 버그의 일생
      • 버그 추적 시스템의 속성
      • 버그 리포트를 작성하는 이유
      • 버그 리포트의 구조
      • 버그 선별
      • 버그 리포트의 일반적인 실수
      • 데이터 사용
      • 데이터 오용: 성과 측정으로서의 버그
      • 버그 바
    • 테스트 케이스 관리
      • 테스트 케이스란?
      • 테스트 케이스의 가치
      • 테스트 케이스 구조
      • 테스트 케이스 작성 시의 실수
    • 테스트 케이스 관리하기
      • 케이스와 포인트: 테스트 케이스 수 세기
      • 테스트 결과 추적과 해석
    • 정리
  • 10장 테스트 자동화
    • 자동화의 가치
      • 자동화냐 아니냐, 그것이 문제로다
    • UI 자동화
    • 테스트 자동화 구성 요소
    • 마이크로스프트에서의 SEARCH
      • 설정
      • 실행
      • 분석
      • 보고
      • 초기화
      • 도움말
    • 실행, 자동화, 실행!
      • 모두 연동하기
      • 대규모의 테스트 자동화
      • 일반적인 자동화 실수
    • 정리
  • 11장 비기능 테스팅
    • 기능성을 넘어
    • ‘~성’ 테스트하기
    • 성능 테스팅
      • 성능 측정 방법
    • 스트레스 테스팅
      • 분산 스트레스 테스팅
      • 분산 스트레스 아키텍처
      • 멀티 클라이언트 스트레스 테스트 속성
    • 호환성 테스팅
      • 애플리케이션 라이브러리
      • 애플리케이션 검증기
    • 자기 개밥 먹기
    • 접근성 테스팅
      • 접근성 페르소나
      • 접근성 테스트하기
      • MS 액티브 액세서빌리티를 위한 테스팅 툴
    • 사용성 테스팅
    • 보안성 테스팅
      • 보안 위협 모델링
      • 퍼지 테스팅
    • 정리
  • 12장 다양한 툴 활용
    • 코드 변경
    • 통제하기
      • 변경 추적
      • 무엇이 변경됐나?
      • 왜 변경됐나?
      • 소스 관리를 위한 공간
    • 빌드
      • 일일 빌드
    • 정적 분석
      • 네이티브 코드 분석
      • 매니지드 코드 분석
      • 단지 또 다른 툴
      • 테스트 코드 분석
      • 테스트 코드가 제품 코드다
    • 더 많은 툴
      • 특수한 문제를 위한 툴
      • 모든 사람을 위한 툴
    • 정리
  • 13장 고객 피드백 시스템
    • 테스팅과 품질
      • 정보를 제공하는 테스팅
      • 품질에 대한 이해
    • 해결책은 고객
      • 게임에서의 사례
    • 윈도우 오류 보고
      • WER 사용 사례
      • 버킷 활용하기
      • 버킷에 쌓인 문제 처리하기
      • 테스트와 WER
    • 스마일 전송 프로그램
      • 스마일 전송 프로그램 효과
    • 고객과의 연결(커넥트)
    • 정리
  • 14장 소프트웨어 플러스 서비스 테스팅
    • 두 가지 부문: 서비스와 테스트 기법
  • 1절: 서비스
    • 마이크로소프트 서비스 전략
    • 인터넷 서비스로의 관심 이동
    • 라지 스케일에서 메가 스케일로의 성장
    • 성장의 발목을 잡는 전력
    • 서비스와 패키지 제품
    • 독립형에서 계층형 서비스로 이동
  • 2절: S+S 테스팅
    • 혁신의 물결
    • S+S와 서비스에 대한 테스트 접근 방법 설계
    • S+S 테스팅 기법
    • 통합 테스팅, 테스트 플래그, 에뮬레이션
  • S+S에 대한 몇 가지 중요한 생각
    • 지속적인 품질 개선 프로그램
    • 내가 본 일반적인 버그
  • 정리
  • 4부 앞으로의 전망
  • 15장 문제의 조기 해결
    • 결함 분석 자동화
      • 분석 마비 상황의 극복
      • 결함 비교
      • 좋은 로깅 사례
      • 로그 파일의 구조
      • 결함 분석 자동화 통합
    • 머신 가상화
      • 가상화의 장점
      • 가상 머신 테스트 시나리오
      • 테스트 도중 발생하는 오류
      • 추천하지 않는 테스트 시나리오
    • 코드 리뷰와 인스펙션
      • 코드 리뷰의 유형
      • 체크 리스트
      • 리뷰 시 고려 사항
      • 리뷰의 두 얼굴
    • 툴이 너무 많아도 문제
      • 간소화, 재사용, 재활용
      • 무엇이 문제인가?
      • 공개 개발
    • 정리
  • 16장 테스팅의 미래
    • 전향적 사고의 필요성
      • 한걸음 물러서서 앞을 내다보기
      • 품질 문화를 위한 노력
      • 테스팅과 품질 보증
      • 누가 품질의 주인인가?
      • 품질 비용
      • 테스트의 새로운 역할
    • 테스트 리더십
      • 마이크로소프트 테스트 리더십 팀
      • 테스트 리더십 의장
      • 테스트 리더십 활동
      • 테스트 아키텍트 그룹
    • 테스트 엑설런스 팀
      • 공유
      • 도움
      • 소통
      • 미래 주목하기
      • 마이크로소프트 테스트 엑설런스 팀의 감독
      • 리더십 3원소
  • 도서 오류 신고

    도서 오류 신고

    에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

    오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

    (예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안