저는 1994년에 윈도우 95 국제화 테스트 팀에 소프트웨어 테스트 엔지니어로 합류하기 위해 일본에서 시애틀로 전근했습니다. 우리의 목표는 영어판 윈도우와 동아시아판 윈도우 버전 간의 격차를 줄이는 것이었고, 한국, 일본, 중국의 팀들과 즐겁게 일했습니다. 그 당시, 테스팅의 초점은 가능한 한 많은 버그를 발견하는 데 있었고, 많은 개발자가 2바이트 인코딩을 이해하지 못했기 때문에 파싱 에러와 같은 버그 리포팅은 어려운 일이 아니었습니다. 하지만 기술은 변하고, 개발자도 문제점들을 예방하는 방법을 알고 적용하게 돼 우리는 테스팅 접근 방법을 수정해야 했습니다. 저는 소프트웨어 테스팅 관련 책을 읽기 시작했습니다. 버그를 찾는 테스팅 프로세스를 이해했지만 소프트웨어 테스팅의 기술적 원리는 이해하지 못하고 있었고, 이런 원리를 업무에 적용해 문제를 예방하는 데까지는 이르지 못했습니다.
현재 저는 테스트 아키텍트로서 마이크로소프트에서 새로운 테스터에게 수많은 제품을 테스트하는 데 사용되는 기술적 원리와 그 원리를 실무에 적용하는 법을 가르치고 있습니다. 기술적인 원리가 실무에 적용되어 제품의 품질을 향상시키고, 제품에 포함될 수 있는 문제를 예방하며, 전체 비용을 절감시킵니다. 이와 같이 테스팅의 기술적인 원리와 이를 실무에 적용하는 방법을 가르치고 있지만 저도 계속해서 테스팅을 공부하는 중입니다. 제품의 품질을 향상시키기 위해서는 끊임없이 배워야 한다고 생각합니다. 고객들이 소프트웨어를 접하는 방법은 급격하게 변화하고 있으므로 테스팅 접근 방법을 계속 배워 적용해야 합니다. 이 책은 테스팅 관련 모든 해결책을 알려주지는 않습니다. 그러나 앨런과 켄, 그리고 제가 수년간 다양한 제품을 테스팅하면서 배웠던 경험을 담고 있습니다. 이 책은 어떤 독자에게는 새로운 지식을 제공하고, 이미 주제를 알고 있는 독자에게는 새로운 시각을 제시합니다. 우리의 책이 한국어로 번역돼 기쁘고, 한국의 테스팅 입문자나 소프트웨어 테스팅 경력자가 이 책을 통해 소프트웨어 테스터 역할 수행에 도움이 될 수 있는 지식을 많이 얻었으면 합니다.