소프트웨어 테스팅의 정석, 이론과 실제 세트
- 원서명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여 명의 테스터가 사용하고 있는 툴과 시스템, 베스트 프랙티스를 소개한다. 마이크로소프트의 테스트 설계와 관리 방식, 그들만의 교육 방법과 커리어 개발 방식, 앞으로의 도전을 알려준다.
이 책에서 다루는 내용
• 제품 생명주기에 걸쳐 효과적인 테스트를 설계하고 실행하는 방법 • 기능 테스트의 비용과 리스크를 최소화하고 구조적 기법의 적용 시점을 파악하는 방법 • 버그와 잠재적인 유지 보수 이슈를 파악하기 위해 코드 복잡도를 측정하는 방법 • 모델을 사용해 테스트 케이스를 생성하고 예측 불가능한 애플리케이션 동작을 찾고 리스크를 관리하는 방법 • 자동화 테스트를 적용하는 시점을 파악하는 방법과 자동화 테스트의 장기적 사용을 위해 설계하고 이를 자동화 인프라스트럭처에 통합하는 방법 • 우수한 테스터의 특징을 파악하고, 테스트 실행, 시스템 검사, 효율적인 진척도를 추적하는 데 효과적인 툴을 검토하는 방법 • 서비스와 상용 패키지 소프트웨어 테스팅의 차이점을 탐색하는 방법
1) 『The Art of Software Testing (Second Edition) 한국어판: 소프트웨어 테스팅의 정석』
2) 『소프트웨어 테스팅, 마이크로소프트에선 이렇게 한다: MS 최고의 현직 테스터들이 밝히는 베스트 프랙티스』
『The Art of Software Testing (Second Edition) 한국어판』 소개
글렌포드 J. 마이어스가 쓴 이 책은 소프트웨어 테스팅 분야에서 한 획을 그은 진정한 명서이며 고전이다. 테스팅에 대한 일반적인 내용을 개발과 연계해 최근 출간된 그 어떤 책보다 오히려 더 체계적이고 설득력 있게 소개한다. 또한 인터넷 애플리케이션 테스팅, 익스트림 테스팅 등 테스팅의 최신 내용도 같은 맥락에서 다뤄 30여 년 전에 저자가 정립한 테스팅 이론의 탁월성과 적용성을 입증하고 있다. 이 책은 소프트웨어 테스트 엔지니어만을 위한 것은 아니다. IT 전문가라면 누구나 한 번은 읽어야 할, 글자 그대로 소프트웨어 테스팅의 정석을 알려주는 책이다.
이 책에서 다루는 내용
• 테스팅의 기본 원리와 전략
• 프로그램 인스펙션과 워크스루
• 코드 인스펙션
• 오류 체크리스트
• 동료 평가
• 블랙박스와 화이트박스 테스팅
• 오류 추정
• 하향식 테스팅 대 상향식 테스팅
• 고수준 테스팅
• 기능 테스팅과 시스템 테스팅
• 인수 테스팅
• 설치 테스팅
• 모듈(단위) 테스팅
• 테스트 계획과 제어
• 독립 테스팅 에이전시
• 디버깅 원리
• 오류 분석
• 익스트림 테스팅
• 인터넷 애플리케이션 테스팅
• e커머스 아키텍처의 고수준 테스팅
『소프트웨어 테스팅, 마이크로소프트에선 이렇게 한다』 소개
마이크로소프트 테스팅의 실체를 속속들이 들여다 본다! 마이크로소프트의 유명 현직 테스팅 전문가(SDET)들이 집필한 소프트웨어 테스팅 실무서. 사내 9,000여 명의 테스터가 사용하고 있는 툴과 시스템, 베스트 프랙티스를 소개한다. 마이크로소프트의 테스트 설계와 관리 방식, 그들만의 교육 방법과 커리어 개발 방식, 앞으로의 도전을 알려준다.
이 책에서 다루는 내용
• 제품 생명주기에 걸쳐 효과적인 테스트를 설계하고 실행하는 방법 • 기능 테스트의 비용과 리스크를 최소화하고 구조적 기법의 적용 시점을 파악하는 방법 • 버그와 잠재적인 유지 보수 이슈를 파악하기 위해 코드 복잡도를 측정하는 방법 • 모델을 사용해 테스트 케이스를 생성하고 예측 불가능한 애플리케이션 동작을 찾고 리스크를 관리하는 방법 • 자동화 테스트를 적용하는 시점을 파악하는 방법과 자동화 테스트의 장기적 사용을 위해 설계하고 이를 자동화 인프라스트럭처에 통합하는 방법 • 우수한 테스터의 특징을 파악하고, 테스트 실행, 시스템 검사, 효율적인 진척도를 추적하는 데 효과적인 툴을 검토하는 방법 • 서비스와 상용 패키지 소프트웨어 테스팅의 차이점을 탐색하는 방법
목차
목차
- 『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장 모델 기반 테스팅
- 모델링 기초
- 모델 테스팅
- 모델 설계
- 소프트웨어 모델링
- 유한 상태 모델 만들기
- 모델 자동화
- 테스팅을 지원하는 모델링
- 베이시안 도해 모델
- 페트리 넷
- 마이크로소프트의 모델 기반 테스팅 툴
- 스펙 익스플로러
- 언어와 엔진
- 모델링 팁
- 정리
- 추천 도서와 툴
- 버그 워크플로우
- 버그 추적
- 버그의 일생
- 버그 추적 시스템의 속성
- 버그 리포트를 작성하는 이유
- 버그 리포트의 구조
- 버그 선별
- 버그 리포트의 일반적인 실수
- 데이터 사용
- 데이터 오용: 성과 측정으로서의 버그
- 버그 바
- 테스트 케이스 관리
- 테스트 케이스란?
- 테스트 케이스의 가치
- 테스트 케이스 구조
- 테스트 케이스 작성 시의 실수
- 테스트 케이스 관리하기
- 케이스와 포인트: 테스트 케이스 수 세기
- 테스트 결과 추적과 해석
- 정리
- 자동화의 가치
- 자동화냐 아니냐, 그것이 문제로다
- UI 자동화
- 테스트 자동화 구성 요소
- 마이크로스프트에서의 SEARCH
- 설정
- 실행
- 분석
- 보고
- 초기화
- 도움말
- 실행, 자동화, 실행!
- 모두 연동하기
- 대규모의 테스트 자동화
- 일반적인 자동화 실수
- 정리
- 기능성을 넘어
- ‘~성’ 테스트하기
- 성능 테스팅
- 성능 측정 방법
- 스트레스 테스팅
- 분산 스트레스 테스팅
- 분산 스트레스 아키텍처
- 멀티 클라이언트 스트레스 테스트 속성
- 호환성 테스팅
- 애플리케이션 라이브러리
- 애플리케이션 검증기
- 자기 개밥 먹기
- 접근성 테스팅
- 접근성 페르소나
- 접근성 테스트하기
- MS 액티브 액세서빌리티를 위한 테스팅 툴
- 사용성 테스팅
- 보안성 테스팅
- 보안 위협 모델링
- 퍼지 테스팅
- 정리
- 코드 변경
- 통제하기
- 변경 추적
- 무엇이 변경됐나?
- 왜 변경됐나?
- 소스 관리를 위한 공간
- 빌드
- 일일 빌드
- 정적 분석
- 네이티브 코드 분석
- 매니지드 코드 분석
- 단지 또 다른 툴
- 테스트 코드 분석
- 테스트 코드가 제품 코드다
- 더 많은 툴
- 특수한 문제를 위한 툴
- 모든 사람을 위한 툴
- 정리
- 테스팅과 품질
- 정보를 제공하는 테스팅
- 품질에 대한 이해
- 해결책은 고객
- 게임에서의 사례
- 윈도우 오류 보고
- WER 사용 사례
- 버킷 활용하기
- 버킷에 쌓인 문제 처리하기
- 테스트와 WER
- 스마일 전송 프로그램
- 스마일 전송 프로그램 효과
- 고객과의 연결(커넥트)
- 정리
- 두 가지 부문: 서비스와 테스트 기법
- 마이크로소프트 서비스 전략
- 인터넷 서비스로의 관심 이동
- 라지 스케일에서 메가 스케일로의 성장
- 성장의 발목을 잡는 전력
- 서비스와 패키지 제품
- 독립형에서 계층형 서비스로 이동
- 혁신의 물결
- S+S와 서비스에 대한 테스트 접근 방법 설계
- S+S 테스팅 기법
- 통합 테스팅, 테스트 플래그, 에뮬레이션
- 지속적인 품질 개선 프로그램
- 내가 본 일반적인 버그
- 결함 분석 자동화
- 분석 마비 상황의 극복
- 결함 비교
- 좋은 로깅 사례
- 로그 파일의 구조
- 결함 분석 자동화 통합
- 머신 가상화
- 가상화의 장점
- 가상 머신 테스트 시나리오
- 테스트 도중 발생하는 오류
- 추천하지 않는 테스트 시나리오
- 코드 리뷰와 인스펙션
- 코드 리뷰의 유형
- 체크 리스트
- 리뷰 시 고려 사항
- 리뷰의 두 얼굴
- 툴이 너무 많아도 문제
- 간소화, 재사용, 재활용
- 무엇이 문제인가?
- 공개 개발
- 정리
- 전향적 사고의 필요성
- 한걸음 물러서서 앞을 내다보기
- 품질 문화를 위한 노력
- 테스팅과 품질 보증
- 누가 품질의 주인인가?
- 품질 비용
- 테스트의 새로운 역할
- 테스트 리더십
- 마이크로소프트 테스트 리더십 팀
- 테스트 리더십 의장
- 테스트 리더십 활동
- 테스트 아키텍트 그룹
- 테스트 엑설런스 팀
- 공유
- 도움
- 소통
- 미래 주목하기
- 마이크로소프트 테스트 엑설런스 팀의 감독
- 리더십 3원소