Software testing은 개발된 소프트웨어가 설계된 대로 정확하게 작동하는지 확인하고, 잠재적인 결함이나 오류(bug)를 찾아내는 일련의 과정을 의미하는 명사입니다. 단순히 프로그램의 오류를 발견하는 것에 그치지 않고, 사용자의 요구사항을 충족하는지, 성능이나 보안에 취약점은 없는지 등 전반적인 품질을 검증하는 절차를 모두 포함합니다. 현대의 소프트웨어 개발 주기(SDLC)에서 매우 핵심적인 단계로 간주되며, 품질 보증(Quality Assurance, QA)의 가장 구체적이고 실질적인 활동입니다. 'Test'가 단일한 시험 행위를 뜻한다면, 'Testing'은 계획, 설계, 실행, 결과 분석을 아우르는 체계적인 프로세스라는 뉘앙스가 강합니다. 실무에서는 단위 테스트, 통합 테스트, 시스템 테스트 등 단계별로 세분화하여 부르기도 하며, 자동화 도구 사용 여부에 따라 수동 테스트와 자동화 테스트로 구분하기도 합니다.