대부분의 개발자가 실제로 어떻게 테스트가 이루어지는지 아예 모른다라는 사실과 테스터 업무 경험은 소프트웨어 개발자로 일하는 데에도 큰 도움이 된다는 사실을 깨달았다. 테스트의 기초를 모르면 '의도한 대로 바르게 작동한다'는 말이 정확히 어떤 뜻인지 제대로 이해하기 어렵다. | 테스트의 핵심 목표 | 테스트의 핵심 목표는 위험 부담을 줄이는 것이다. 소프트웨어를 사용할 고객에게 가장 큰 영향을 미칠 문제를 사전에 찾아 제거함으로써 위험을 감소 시키는 것이 테스트의 목표다. 의도대로 작동하지 않는 일이 얼마나 자주 발생하는지, 혹은 그 문제가 얼마나 심각한 수준으로 발생하는지가 고객에게 영향을 미친다. 버그와 결함을 전부 찾아내거나 모든 입력 테스트해보는 건 불가능하다. 소프트웨어 테스트가 집중하는 핵심적인..
소프트웨어 애플리케이션은 빙산과 같다. 일반적으로 사용작에게 드러난 부분보다 사용자가 보지 못하는 영역이 더 크다. 보일 듯 보이지 않는 이 신비한 영역이 바로 '백엔드(back-end)'다. 애플리케이션 코드는 대부분 사용자 인터페이스와 관련이 없다. 복잡한 시스템의 백그라운드에 온갖 로직이 들어있다. 시스템을 작동시키는 건 그런 로직이다. 데이터를 저장하고 가져와야 한다. 비지니스 로직과 규칙을 따르고 결과를 계산해야 한다. 이 모든 일은 막후에서 일어난다. 백엔드 개발자의 역할은 이 모든 작업이 잘 돌아가게 하는 것이다. | '백엔드 개발'이란 정확히 무엇인가? | 저자는 사용자 인터페이스를 만들어내는 코드 작성과 관련 없는 모든 개발을 가리켜 백엔드 개발이라고 하겠다고 한다. 하지만 여기에는 AP..
일부 신입 개발자들은 프로그래밍 언어란 다양하게 배울수록 좋다고 생각한다. 하지만 사실은 그렇지 않다. 현존하는 모든 프로그래밍 언어를 전문가 수준으로 익힐 필요는 없다. 그렇지만 주요 프로그래밍 언어는 무엇이고, 각각 어떤 차이가 있는지 정도는 알아두는 게 좋다. C C는 1969 ~ 1973년 사이에 데니스 리치(Dennis Ritchie)가 벨 연구소(Bell Labs)에서 개발한 언어이다. C는 상당히 오래된 프로그래밍 언어이지만 아직도 사용되고 있을 뿐 아니라 인기도 여전하다. 아마 세계에서 가장 많이 쓰인 프로그래밍 언어일 것이다. 요즘 쓰이는 주요 프로그래밍 언어 다수가 C에 뿌리를 두고 있다. 사실 C를 익히고 나면 C++, C#, 자바, 자바스크립트 등 많은 언어를 쉽게 배울 수 있다. ..