목차
Part 1 큰 그림 ... 25
   1장 소프트웨어 테스트의 배경지식 ... 27
      불명예스러운 소프트웨어 오류 사례에 대한 연구 ... 27
        디즈니의 라이온 킹, 1994-1995년 ... 28
        인텔 펜티엄 부동 소수점 나눗셈 버그, 1994년 ... 28
        NASA 화성 극지 착륙선, 1999년 ... 29
        패트리어트 미사일 방어 시스템, 1991년 ... 30
        Y2K((2000년) 버그, 1974년 경 ... 30
        위험한 미리 보기, 2004년 ... 31
      버그란 무엇인가? ... 32
        소프트웨어 오류에 대한 용어 ... 32
        소프트웨어 버그: 형식적인 정의 ... 33
      왜 버그가 발생하는가? ... 35
      버그의 비용 ... 37
      소프트웨어 테스터의 역할 ... 38
      좋은 소프트웨어 테스터의 자질 ... 39
      요약 ... 41
      퀴즈 ... 41
   2장 소프트웨어 개발 절차 ... 42
      제품 구성요소 ... 42
        소프트웨어 제품에는 어떤 노력이 들어가는가? ... 43
        소프트웨어 제품의 구성요소 ... 47
      소프트웨어 프로젝트 팀 구성원 ... 48
      소프트웨어 개발 생명주기 모델 ... 49
        빅뱅 모델 ... 50
        짜보고 고치기 모델 ... 51
        폭포수 모델 ... 52
        나선형 모델 ... 54
      요약 ... 56
      퀴즈 ... 56
   3장 소프트웨어 테스트의 현실 ... 58
      테스트의 원리(Testing Axioms) ... 58
        프로그램을 완벽하게 테스트하는 것은 불가능하다 ... 59
        소프트웨어 테스트는 위험을 수반하는 행위이다 ... 60
        테스트로 버그가 존재하지 않는다는 것을 증명할 수는 없다 ... 61
        찾은 버그가 많을수록, 존재하는 버그도 많다 ... 62
        살충제 내성(Pesticide Paradox) ... 62
        발견한 모든 버그들이 수정되지는 않는다 ... 63
        버그라고 하기 힘든 버그 ... 64
        제품 명세서는 결코 최종본이 아니다 ... 65
        소프트웨어 테스터가 프로젝트 팀의 환영받는 구성원은 아니다 ... 66
        소프트웨어 테스트는 훈련이 필요한 전문적인 일이다 ... 66
      소프트웨어 테스트의 용어와 정의 ... 67
        정밀도(Precision)와 정확성(Accuracy) ... 67
        검증(Verification)과 유효성(Validation) 확인 ... 69
        품질(Quality)과 신뢰성(Reliability) ... 70
        테스트와 품질 보증(QA, Quality Assurance) ... 70
      요약 ... 71
      퀴즈 ... 71
Part 2 테스트의 기본 ... 73
   4장 명세 검토 ... 75
      시작하면서 ... 75
        블랙박스(Black-Box) 테스트와 화이트박스(White-Box) 테스트 ... 77
        정적 테스트(Static Test)와 동적 테스트(Dynamic Test) ... 78
        정적 블랙박스 테스트: 명세서 테스트 ... 78
      명세서에 대한 상위 수준 검토 수행 ... 79
        고객의 입장에 서라 ... 79
        기존 표준들과 지침(Guideline)에 대한 조사 ... 80
        유사 소프트웨어 검토 및 테스트 ... 81
      명세서 세부 테스트 기법 ... 82
        명세서 속성 체크리스트 ... 82
        명세서 용어 체크리스트 ... 83
      요약 ... 84
      퀴즈 ... 85
   5장 블라인드 테스트 ... 86
      동적 블랙박스 테스트: 눈 가리고 소프트웨어 테스트하기 ... 87
      성공 테스트와 실패 테스트 ... 89
      동등 분할(Equivalence Partitioning) ... 90
      데이터 테스트 ... 93
        경계 조건(Boundary Conditions) ... 94
        경계 가장자리 테스트 ... 96
        하위 경계 조건 ... 98
        기본(Default), 비어 있음(Empty), 공백(Blank), 널(Null), 제로(O), 없음(None) ... 101
        유효하지 않은(Invalid), 틀린(Wrong, Incorrect), 쓰레기(Garbage) 데이터 ... 102
      상태 테스트 ... 103
        소프트웨어 논리 흐름 테스트 ... 104
        실패를 위한 상태 테스트 ... 108
      다른 블랙박스 테스트 기법들 ... 111
        멍청한 사용자가 되어 보라 ... 111
        버그가 발견된 곳을 다시 살펴라 ... 112
        해커처럼 생각하라 ... 112
        경험, 직감 그리고 예감을 따르라 ... 113
      요약 ... 113
      퀴즈 ... 114
   6장 코드 검토 ... 116
      정적 화이트박스 테스트: 설계 및 코드 검토 ... 116
      공식 검토 ... 117
        동료 검토(Peer Reviews) ... 119
        워크스루(Walkthroughs) ... 119
        검사(Inspections) ... 120
      코딩 표준 및 지침 ... 121
        프로그래밍 표준과 지침에 대한 예제 ... 121
        표준 구하기 ... 124
      일반적인 코드 검토 체크리스트 ... 124
        데이터 참조 오류 ... 125
        데이터 선언 오류 ... 125
        연산 오류 ... 126
        비교 오류 ... 126
        제어 흐름 오류 ... 126
        서브루틴 파라미터 오류 ... 127
        입출력 오류 ... 127
        기타 검사 ... 128
      요약 ... 128
      퀴즈 ... 129
   7장 X-Ray 렌즈를 사용한 소프트웨어 테스트 ... 130
      동적 화이트박스 테스트 ... 131
      동적 화이트박스 테스트 vs. 디버깅 ... 132
      부분 테스트 ... 133
        단위 테스트와 통합 테스트 ... 134
        모듈 테스트의 예 ... 136
      데이터 적용 범위 ... 139
        데이터 흐름 ... 139
        하위 경계(sub-boundary) ... 140
        수식들 ... 141
        에러 만들기 ... 141
      코드 커버리지 ... 142
        프로그램 명령과 라인 범위 ... 144
        분기 커버리지 ... 145
        조건 커버리지 ... 146
      요약 ... 147
      퀴즈 ... 148
Part 3 테스트 기법 적용 ... 149
   8장 구성(Configuration) 테스트 ... 151
      구성 테스트의 개요 ... 152
        구성 버그를 찾아내기 ... 155
        작업량 결정하기 ... 157
      작업에 접근하기 ... 159
        어떤 종류의 하드웨어가 필요한지 결정 ... 159
        사용 가능한 하드웨어 제조사, 모델, 장치 드라이버 결정 ... 160
        가능한 하드웨어 기능, 모드, 옵션 결정 ... 160
        관리 가능하도록 하드웨어 구성 줄이기 ... 161
        하드웨어 구성과 연관된 소프트웨어 고유의 기능 확인 ... 162
        각각의 구성에서 실행할 테스트 절차를 설계 ... 163
        각각의 구성에 대해 테스트 실시 ... 164
        만족할 만한 결과가 나올 때까지 테스트를 반복 ... 164
      하드웨어 구하기 ... 165
      하드웨어 표준 확인 ... 166
      그 밖의 하드웨어에 대한 구성 테스트 ... 166
      요약 ... 167
      퀴즈 ... 167
   9장 호환성 테스트 ... 169
      호환성 테스트의 개요 ... 170
      플랫폼과 프로그램의 버전 ... 171
        하위 호환성과 상위 호환성 ... 172
        다양한 버전을 테스트할 때 생기는 파급 효과 ... 173
      표준과 지침 ... 174
        고수준 표준과 지침 ... 175
        저수준 표준과 지침 ... 176
      데이터 공유 호환성 ... 177
      요약 ... 179
      퀴즈 ... 180
   10장 외국어 테스트 ... 181
      글과 그림을 이해할 수 있게 만들기 ... 182
      번역 문제 ... 182
        텍스트가 길어지는 현상 ... 183
        ASCII, DBCS 그리고 유니코드 ... 184
        핫키와 단축키 ... 185
        확장 문자 ... 186
        문자들에 대한 계산 ... 186
        왼쪽에서 오른쪽 vs. 오른쪽에서 왼쪽 읽기 ... 187
        그림에 포함된 텍스트 ... 188
        텍스트와 코드의 분리 ... 188
      지역화 문제 ... 189
        내용 ... 190
        데이터 형태 ... 191
      구성 문제와 호환성 문제 ... 193
        다른 국가용 플랫폼 구성 ... 193
        데이터 호환성 ... 195
      얼마나 많이 테스트해야 하는가? ... 196
      요약 ... 197
      퀴즈 ... 198
   11장 사용성(Usability) 테스트 ... 199
      사용자 인터페이스(UI) 테스트 ... 200
      훌륭한 GUI 조건 ... 201
        표준과 지침을 준수 ... 202
        직관성(intuitive) ... 203
        일관성(consistent) ... 204
        유연성(flexible) ... 205
        편리성(comfortable) ... 207
        정확성(correct) ... 207
        유용성(useful) ... 209
      장애인을 위한 테스트: 접근성 테스트(accessibility testing) ... 209
        법적 요구 ... 210
        소프트웨어의 접근성 기능 ... 211
      요약 ... 213
      퀴즈 ... 213
   12장 문서 테스트 ... 215
      소프트웨어 문서의 종류 ... 215
      문서 테스트의 중요성 ... 218
      문서 검토시 고려할 사항 ... 219
      문서 테스트의 실제 ... 221
      요약 ... 221
      퀴즈 ... 222
   13장 소프트웨어 보안 테스트 ... 224
      영화 "War Game" ... 224
      동기 이해하기 ... 225
      위협 모델링 ... 228
      소프트웨어 보안은 기능인가? 보안 허점은 버그인가? ... 231
      버퍼 오버런에 대한 이해 ... 232
      안전한 문자열 함수 사용하기 ... 233
      컴퓨터 법의학(Forensic) ... 236
      요약 ... 239
      퀴즈 ... 240
   14장 웹사이트 테스트 ... 241
      웹 페이지의 기본 ... 242
      블랙박스 테스트 ... 243
        텍스트 ... 245
        하이퍼링크 ... 246
        그림 ... 247
        폼(form) ... 247
        개체와 기라 기능들 ... 248
      그레이박스 테스트 ... 249
      화이트박스 테스트 ... 251
      구성 테스트와 호환성 테스트 ... 252
      사용성 테스트 ... 254
      자동화 입문 ... 257
      요약 ... 257
      퀴즈 ... 258
Part 4 테스트 도구 ... 259
   15장 테스트 자동화 및 테스트 도구 ... 261
      자동화 및 도구 사용의 장점 ... 261
      테스트 도구(Test Tools) ... 263
        뷰어 및 모니터 ... 264
        드라이버 ... 265
        스텁(Stubs) ... 267
        스트레스(Stress) 및 부하 도구(Load Tools) ... 268
        간섭 인젝터(Inteference Injectors)와 노이즈 발생기(Noise Generators) ... 269
        분석 도구 ... 270
      소프트웨어 테스트 자동화 ... 271
        매크로(Macro) 기록 및 재생 ... 271
        매크로 프로그래밍 ... 273
        완전한 프로그래밍이 가능한 테스트 자동화 도구 ... 275
      무작위 테스트: 원숭이와 고릴라 ... 277
        우둔한 원숭이(Dumb Monkeys) ... 278
        보통 원숭이(Semi-Smart Monkeys) ... 280
        똑똑한 원숭이(Smart Monkeys) ... 280
      테스트 도구와 자동화 사용의 현실 ... 282
      요약 ... 283
      퀴즈 ... 284
   16장 버그 배시 및 베타 테스트 ... 285
      다른 사람에 의한 소프트웨어 테스트 ... 285
      테스트 공유 ... 287
      베타 테스트 ... 288
      테스트 아웃소싱(Outsourcing) ... 290
      요약 ... 291
      퀴즈 ... 292
Part 5 테스트 문서 다루기 ... 293
   17장 테스트 작업 계획 ... 295
      테스트 계획의 목표 ... 296
      테스트 계획의 주제들 ... 297
        상위 수준 목표 ... 298
        사람, 장소 그리고 기타 ... 299
        정의 ... 299
        그룹간의 책임 ... 301
        테스트할 것과 하지 말아야 할 것 ... 303
        테스트 단계 ... 303
        테스트 전략 ... 304
        자원 요구 사항 ... 304
        테스터에게 작업 할당 ... 305
        테스트 일정 ... 305
        테스트 케이스 ... 307
        버그 보고 ... 308
        평가 기준과 통계 ... 308
        위험과 이슈 ... 308
      요약 ... 309
      퀴즈 ... 309
   18장 테스트 케이스 작성 및 추적 ... 311
      테스트 케이스 계획의 목표 ... 311
      테스트 케이스 계획 개요 ... 313
        테스트 설계 ... 315
        테스트 케이스 ... 317
        테스트 절차 ... 319
      테스트 케이스 구성과 추적 ... 322
      요약 ... 324
      퀴즈 ... 324
   19장 테스트 결과 보고 ... 325
      버그 수정하기 ... 326
      버그들을 격리(Isolating)하고 재현하기(Reproducing) ... 330
      생성된 모든 버그들은 동등하지 않다 ... 332
      버그의 생명주기(Life Cycle) ... 334
      버그 추적 시스템(Bug-Tracking Systems) ... 338
        표준: 테스트 사건 보고서(Test Incident Report) ... 338
        수동 버그 보고 및 추적 ... 339
        자동화된 버그 보고와 추적 ... 340
      요약 ... 345
      퀴즈 ... 346
   20장 테스트 결과 측정 ... 347
      버그 추적 데이터베이스에서 정보 사용하기 ... 347
      일일 테스트(Daily Testing)에서 사용할 측정 기준 ... 349
      일반적인 프로젝트 수준의 측정 기준 ... 355
      요약 ... 361
      퀴즈 ... 361
Part 6 미래 ... 363
   21장 소프트웨어 품질 보증 ... 365
      품질은 공짜다(Quality is free) ... 365
      일터에서의 테스트와 품질 보증 ... 367
        소프트웨어 테스트 ... 367
        품질 보증 ... 369
        소프트웨어 테스트 그룹들의 다른 이름들 ... 370
      테스트 관리와 조직 구조 ... 371
      역량 성숙도 모델(CMM, Capability Maturity Model) ... 374
      ISO 9000 ... 376
      요약 ... 379
      퀴즈 ... 379
   22장 소프트웨어 테스터로서의 경력 개발 ... 380
      소프트웨어 테스터로서 직업 ... 381
      소프트웨어 테스트 직업 찾기 ... 382
      실무 경험 얻기 ... 383
      정규 훈련 기회 ... 385
      웹사이트 ... 386
      소프트웨어 또는 소프트웨어 품질을 위한 전문 조직 ... 387
      더 읽을거리 ... 387
      요약 ... 389
      퀴즈 ... 390
부록 A 퀴즈 정답 ... 391
   1장 ... 391
   2장 ... 392
   3장 ... 393
   4장 ... 394
   5장 ... 395
   6장 ... 398
   7장 ... 399
   8장 ... 400
   9장 ... 402
   10장 ... 402
   11장 ... 404
   12장 ... 405
   13장 ... 406
   14장 ... 407
   15장 ... 408
   16장 ... 409
   17장 ... 410
   18장 ... 411
   19장 ... 412
   20장 ... 413
   21장 ... 414
   22장 ... 415
Part 1 큰 그림 ... 25
   1장 소프트웨어 테스트의 배경지식 ... 27
      불명예스러운 소프트웨어 오류 사례에 대한 연구 ... 27
        디즈니의 라이온 킹, 1994-1995년 ... 28
        인텔 펜티엄 부동 소수점 나눗셈 버그, 1994년 ... 28
        NASA 화성 극지 착륙선, 1999년 ... 29
        패트리어트 미사일 방어 시스템, 1991년 ... 30
        Y2K((2000년) 버그, 1974년 경 ... 30
        위험한 미리 보기, 2004년 ... 31
      버그란 무엇인가? ... 32
        소프트웨어 오류에 대한 용어 ... 32
        소프트웨어 버그: 형식적인 정의 ... 33
      왜 버그가 발생하는가? ... 35
      버그의 비용 ... 37
      소프트웨어 테스터의 역할 ... 38
      좋은 소프트웨어 테스터의 자질 ... 39
      요약 ... 41
      퀴즈 ... 41
   2장 소프트웨어 개발 절차 ... 42
      제품 구성요소 ... 42
        소프트웨어 제품에는 어떤 노력이 들어가는가? ... 43
        소프트웨어 제품의 구성요소 ... 47
      소프트웨어 프로젝트 팀 구성원 ... 48
      소프트웨어 개발 생명주기 모델 ... 49
        빅뱅 모델 ... 50
        짜보고 고치기 모델 ... 51
        폭포수 모델 ... 52
        나선형 모델 ... 54
      요약 ... 56
      퀴즈 ... 56
   3장 소프트웨어 테스트의 현실 ... 58
      테스트의 원리(Testing Axioms) ... 58
        프로그램을 완벽하게 테스트하는 것은 불가능하다 ... 59
        소프트웨어 테스트는 위험을 수반하는 행위이다 ... 60
        테스트로 버그가 존재하지 않는다는 것을 증명할 수는 없다 ... 61
        찾은 버그가 많을수록, 존재하는 버그도 많다 ... 62
        살충제 내성(Pesticide Paradox) ... 62
        발견한 모든 버그들이 수정되지는 않는다 ... 63
        버그라고 하기 힘든 버그 ... 64
        제품 명세서는 결코 최종본이 아니다 ... 65
        소프트웨어 테스터가 프로젝트 팀의 환영받는 구성원은 아니다 ... 66
        소프트웨어 테스트는 훈련이 필요한 전문적인 일이다 ... 66
      소프트웨어 테스트의 용어와 정의 ... 67
        정밀도(Precision)와 정확성(Accuracy) ... 67
        검증(Verification)과 유효성(Validation) 확인 ... 69
        품질(Quality)과 신뢰성(Reliability) ... 70
        테스트와 품질 보증(QA, Quality Assurance) ... 70
      요약 ... 71
      퀴즈 ... 71
Part 2 테스트의 기본 ... 73
   4장 명세 검토 ... 75
      시작하면서 ... 75
        블랙박스(Black-Box) 테스트와 화이트박스(White-Box) 테스트 ... 77
        정적 테스트(Static Test)와 동적 테스트(Dynamic Test) ... 78
        정적 블랙박스 테스트: 명세서 테스트 ... 78
      명세서에 대한 상위 수준 검토 수행 ... 79
        고객의 입장에 서라 ... 79
        기존 표준들과 지침(Guideline)에 대한 조사 ... 80
        유사 소프트웨어 검토 및 테스트 ... 81
      명세서 세부 테스트 기법 ... 82
        명세서 속성 체크리스트 ... 82
        명세서 용어 체크리스트 ... 83
      요약 ... 84
      퀴즈 ... 85
   5장 블라인드 테스트 ... 86
      동적 블랙박스 테스트: 눈 가리고 소프트웨어 테스트하기 ... 87
      성공 테스트와 실패 테스트 ... 89
      동등 분할(Equivalence Partitioning) ... 90
      데이터 테스트 ... 93
        경계 조건(Boundary Conditions) ... 94
        경계 가장자리 테스트 ... 96
        하위 경계 조건 ... 98
        기본(Default), 비어 있음(Empty), 공백(Blank), 널(Null), 제로(O), 없음(None) ... 101
        유효하지 않은(Invalid), 틀린(Wrong, Incorrect), 쓰레기(Garbage) 데이터 ... 102
      상태 테스트 ... 103
        소프트웨어 논리 흐름 테스트 ... 104
        실패를 위한 상태 테스트 ... 108
      다른 블랙박스 테스트 기법들 ... 111
        멍청한 사용자가 되어 보라 ... 111
        버그가 발견된 곳을 다시 살펴라 ... 112
        해커처럼 생각하라 ... 112
        경험, 직감 그리고 예감을 따르라 ... 113
      요약 ... 113
      퀴즈 ... 114
   6장 코드 검토 ... 116
      정적 화이트박스 테스트: 설계 및 코드 검토 ... 116
      공식 검토 ... 117
        동료 검토(Peer Reviews) ... 119
        워크스루(Walkthroughs) ... 119
        검사(Inspections) ... 120
      코딩 표준 및 지침 ... 121
        프로그래밍 표준과 지침에 대한 예제 ... 121
        표준 구하기 ... 124
      일반적인 코드 검토 체크리스트 ... 124
        데이터 참조 오류 ... 125
        데이터 선언 오류 ... 125
        연산 오류 ... 126
        비교 오류 ... 126
        제어 흐름 오류 ... 126
        서브루틴 파라미터 오류 ... 127
        입출력 오류 ... 127
        기타 검사 ... 128
      요약 ... 128
      퀴즈 ... 129
   7장 X-Ray 렌즈를 사용한 소프트웨어 테스트 ... 130
      동적 화이트박스 테스트 ... 131
      동적 화이트박스 테스트 vs. 디버깅 ... 132
      부분 테스트 ... 133
        단위 테스트와 통합 테스트 ... 134
        모듈 테스트의 예 ... 136
      데이터 적용 범위 ... 139
        데이터 흐름 ... 139
        하위 경계(sub-boundary) ... 140
        수식들 ... 141
        에러 만들기 ... 141
      코드 커버리지 ... 142
        프로그램 명령과 라인 범위 ... 144
        분기 커버리지 ... 145
        조건 커버리지 ... 146
      요약 ... 147
      퀴즈 ... 148
Part 3 테스트 기법 적용 ... 149
   8장 구성(Configuration) 테스트 ... 151
      구성 테스트의 개요 ... 152
        구성 버그를 찾아내기 ... 155
        작업량 결정하기 ... 157
      작업에 접근하기 ... 159
        어떤 종류의 하드웨어가 필요한지 결정 ... 159
        사용 가능한 하드웨어 제조사, 모델, 장치 드라이버 결정 ... 160
        가능한 하드웨어 기능, 모드, 옵션 결정 ... 160
        관리 가능하도록 하드웨어 구성 줄이기 ... 161
        하드웨어 구성과 연관된 소프트웨어 고유의 기능 확인 ... 162
        각각의 구성에서 실행할 테스트 절차를 설계 ... 163
        각각의 구성에 대해 테스트 실시 ... 164
        만족할 만한 결과가 나올 때까지 테스트를 반복 ... 164
      하드웨어 구하기 ... 165
      하드웨어 표준 확인 ... 166
      그 밖의 하드웨어에 대한 구성 테스트 ... 166
      요약 ... 167
      퀴즈 ... 167
   9장 호환성 테스트 ... 169
      호환성 테스트의 개요 ... 170
      플랫폼과 프로그램의 버전 ... 171
        하위 호환성과 상위 호환성 ... 172
        다양한 버전을 테스트할 때 생기는 파급 효과 ... 173
      표준과 지침 ... 174
        고수준 표준과 지침 ... 175
        저수준 표준과 지침 ... 176
      데이터 공유 호환성 ... 177
      요약 ... 179
      퀴즈 ... 180
   10장 외국어 테스트 ... 181
      글과 그림을 이해할 수 있게 만들기 ... 182
      번역 문제 ... 182
        텍스트가 길어지는 현상 ... 183
        ASCII, DBCS 그리고 유니코드 ... 184
        핫키와 단축키 ... 185
        확장 문자 ... 186
        문자들에 대한 계산 ... 186
        왼쪽에서 오른쪽 vs. 오른쪽에서 왼쪽 읽기 ... 187
        그림에 포함된 텍스트 ... 188
        텍스트와 코드의 분리 ... 188
      지역화 문제 ... 189
        내용 ... 190
        데이터 형태 ... 191
      구성 문제와 호환성 문제 ... 193
        다른 국가용 플랫폼 구성 ... 193
        데이터 호환성 ... 195
      얼마나 많이 테스트해야 하는가? ... 196
      요약 ... 197
      퀴즈 ... 198
   11장 사용성(Usability) 테스트 ... 199
      사용자 인터페이스(UI) 테스트 ... 200
      훌륭한 GUI 조건 ... 201
        표준과 지침을 준수 ... 202
        직관성(intuitive) ... 203
        일관성(consistent) ... 204
        유연성(flexible) ... 205
        편리성(comfortable) ... 207
        정확성(correct) ... 207
        유용성(useful) ... 209
      장애인을 위한 테스트: 접근성 테스트(accessibility testing) ... 209
        법적 요구 ... 210
        소프트웨어의 접근성 기능 ... 211
      요약 ... 213
      퀴즈 ... 213
   12장 문서 테스트 ... 215
      소프트웨어 문서의 종류 ... 215
      문서 테스트의 중요성 ... 218
      문서 검토시 고려할 사항 ... 219
      문서 테스트의 실제 ... 221
      요약 ... 221
      퀴즈 ... 222
   13장 소프트웨어 보안 테스트 ... 224
      영화 "War Game" ... 224
      동기 이해하기 ... 225
      위협 모델링 ... 228
      소프트웨어 보안은 기능인가? 보안 허점은 버그인가? ... 231
      버퍼 오버런에 대한 이해 ... 232
      안전한 문자열 함수 사용하기 ... 233
      컴퓨터 법의학(Forensic) ... 236
      요약 ... 239
      퀴즈 ... 240
   14장 웹사이트 테스트 ... 241
      웹 페이지의 기본 ... 242
      블랙박스 테스트 ... 243
        텍스트 ... 245
        하이퍼링크 ... 246
        그림 ... 247
        폼(form) ... 247
        개체와 기라 기능들 ... 248
      그레이박스 테스트 ... 249
      화이트박스 테스트 ... 251
      구성 테스트와 호환성 테스트 ... 252
      사용성 테스트 ... 254
      자동화 입문 ... 257
      요약 ... 257
      퀴즈 ... 258
Part 4 테스트 도구 ... 259
   15장 테스트 자동화 및 테스트 도구 ... 261
      자동화 및 도구 사용의 장점 ... 261
      테스트 도구(Test Tools) ... 263
        뷰어 및 모니터 ... 264
        드라이버 ... 265
        스텁(Stubs) ... 267
        스트레스(Stress) 및 부하 도구(Load Tools) ... 268
        간섭 인젝터(Inteference Injectors)와 노이즈 발생기(Noise Generators) ... 269
        분석 도구 ... 270
      소프트웨어 테스트 자동화 ... 271
        매크로(Macro) 기록 및 재생 ... 271
        매크로 프로그래밍 ... 273
        완전한 프로그래밍이 가능한 테스트 자동화 도구 ... 275
      무작위 테스트: 원숭이와 고릴라 ... 277
        우둔한 원숭이(Dumb Monkeys) ... 278
        보통 원숭이(Semi-Smart Monkeys) ... 280
        똑똑한 원숭이(Smart Monkeys) ... 280
      테스트 도구와 자동화 사용의 현실 ... 282
      요약 ... 283
      퀴즈 ... 284
   16장 버그 배시 및 베타 테스트 ... 285
      다른 사람에 의한 소프트웨어 테스트 ... 285
      테스트 공유 ... 287
      베타 테스트 ... 288
      테스트 아웃소싱(Outsourcing) ... 290
      요약 ... 291
      퀴즈 ... 292
Part 5 테스트 문서 다루기 ... 293
   17장 테스트 작업 계획 ... 295
      테스트 계획의 목표 ... 296
      테스트 계획의 주제들 ... 297
        상위 수준 목표 ... 298
        사람, 장소 그리고 기타 ... 299
        정의 ... 299
        그룹간의 책임 ... 301
        테스트할 것과 하지 말아야 할 것 ... 303
        테스트 단계 ... 303
        테스트 전략 ... 304
        자원 요구 사항 ... 304
        테스터에게 작업 할당 ... 305
        테스트 일정 ... 305
        테스트 케이스 ... 307
        버그 보고 ... 308
        평가 기준과 통계 ... 308
        위험과 이슈 ... 308
      요약 ... 309
      퀴즈 ... 309
   18장 테스트 케이스 작성 및 추적 ... 311
      테스트 케이스 계획의 목표 ... 311
      테스트 케이스 계획 개요 ... 313
        테스트 설계 ... 315
        테스트 케이스 ... 317
        테스트 절차 ... 319
      테스트 케이스 구성과 추적 ... 322
      요약 ... 324
      퀴즈 ... 324
   19장 테스트 결과 보고 ... 325
      버그 수정하기 ... 326
      버그들을 격리(Isolating)하고 재현하기(Reproducing) ... 330
      생성된 모든 버그들은 동등하지 않다 ... 332
      버그의 생명주기(Life Cycle) ... 334
      버그 추적 시스템(Bug-Tracking Systems) ... 338
        표준: 테스트 사건 보고서(Test Incident Report) ... 338
        수동 버그 보고 및 추적 ... 339
        자동화된 버그 보고와 추적 ... 340
      요약 ... 345
      퀴즈 ... 346
   20장 테스트 결과 측정 ... 347
      버그 추적 데이터베이스에서 정보 사용하기 ... 347
      일일 테스트(Daily Testing)에서 사용할 측정 기준 ... 349
      일반적인 프로젝트 수준의 측정 기준 ... 355
      요약 ... 361
      퀴즈 ... 361
Part 6 미래 ... 363
   21장 소프트웨어 품질 보증 ... 365
      품질은 공짜다(Quality is free) ... 365
      일터에서의 테스트와 품질 보증 ... 367
        소프트웨어 테스트 ... 367
        품질 보증 ... 369
        소프트웨어 테스트 그룹들의 다른 이름들 ... 370
      테스트 관리와 조직 구조 ... 371
      역량 성숙도 모델(CMM, Capability Maturity Model) ... 374
      ISO 9000 ... 376
      요약 ... 379
      퀴즈 ... 379
   22장 소프트웨어 테스터로서의 경력 개발 ... 380
      소프트웨어 테스터로서 직업 ... 381
      소프트웨어 테스트 직업 찾기 ... 382
      실무 경험 얻기 ... 383
      정규 훈련 기회 ... 385
      웹사이트 ... 386
      소프트웨어 또는 소프트웨어 품질을 위한 전문 조직 ... 387
      더 읽을거리 ... 387
      요약 ... 389
      퀴즈 ... 390
부록 A 퀴즈 정답 ... 391
   1장 ... 391
   2장 ... 392
   3장 ... 393
   4장 ... 394
   5장 ... 395
   6장 ... 398
   7장 ... 399
   8장 ... 400
   9장 ... 402
   10장 ... 402
   11장 ... 404
   12장 ... 405
   13장 ... 406
   14장 ... 407
   15장 ... 408
   16장 ... 409
   17장 ... 410
   18장 ... 411
   19장 ... 412
   20장 ... 413
   21장 ... 414
   22장 ... 415
닫기