소프트웨어 테스팅이란
잘 정의된 평가 방법 세트(테스트라고 함)를 통해 개발/설계된 코드/기능/시스템 블록을 대상으로 버그와 결함을 격리하는 프로세스를 소프트웨어 테스팅이라고 합니다.
테스트를 통해 고객이 제공한 요구 사항이 준수되고 제품이 주어진 환경에서 예상대로 작동하는지 확인합니다.
소프트웨어 테스팅에 대해 무엇을 알고 있나요?
- 배송된 제품의 품질을 보장하기 위해 수행됩니다.
- 소프트웨어 개발 수명주기(SDLC)의 가장 중요한 단계 중 하나
- 테스트는 개발/구축 후 배포/설치 전에 수행되는 SDLC의 5단계입니다.
- 기존 폭포 모델에서 SDLC는 SDLC의 블록 프로세스인 반면 AGILE 또는 SPIRAL 모델과 같은 다른 모델에서는 지속적인 통합/지속적 배포(CI/CD)의 일부로 진행 중인 프로세스입니다.
- 테스트 결과는 버그/결함 보고에서 끝나지 않습니다. 다음과 같이 종료 및 재테스트를 보장하는 프로세스가 필요하므로 품질은 100%입니다
- 버그는 중요할 수도 있고 그렇지 않을 수도 있는 코드 관련 문제입니다. 일반적으로 개발 단계 자체에서 식별 및 주소 지정이 가능합니다. 버그는 구문 오류, 논리적 실수 또는 런타임 문제로 인해 발생할 수 있습니다. 대부분 개발자가 수정했습니다. 숨겨진/확인되지 않은 버그로 인해 시스템 동작이 지연될 수 있으며 결과적으로 리소스 활용이 저하될 수 있습니다.
- 결함은 획득한 사양/요구 사항과의 편차이며 심각하므로 즉시 해결해야 합니다. 결함을 수정하지 않으면 자원 측면에서 심각한 피해를 입을 수 있습니다. 일반적으로 테스트 단계에서 식별됩니다. 테스터가 요구사항 기반의 테스트 케이스를 사용하여 테스트를 수행할 때 사양의 편차를 식별하고 개발자에게 다시 문의하거나 고객과 대안을 논의하며 논의 결과에 따라 문제를 해결하고 수정할 수 있습니다.
- 테스팅은 요구 사항 및/또는 사양에 따른 테스트 케이스 개발을 사용하여 테스터가 수동으로 수행하거나 테스트 케이스와 데이터가 제공되고 요구 사항 준수를 위해 출력이 분석되는 도구를 사용하여 자동화될 수 있습니다.
- 소프트웨어는 각 코드 또는 기능 단위를 테스트하고, 코드 단위 및 기능을 통합 및 테스트하고, 시스템 전체를 테스트하고, 온전성 테스트를 수행하고, 인터페이스를 테스트하거나 회귀(기존 버전과의 역호환성) 기능을 테스트할 수 있습니다. 기능) 테스트를 받음
- 비기능 테스트에는 성능, 로드, 스트레스, 보안, 호환성, 설치, 신뢰성 등이 포함되며, 여기서 시스템은 테스트 환경에 적용되어 그에 따라 어떻게 작동하는지 평가합니다.
소프트웨어 테스팅의 관련성:
설계 및 개발된 시스템은 설계 및 구축에 기여하는 많은 정신으로 인해 결코 완벽하지 않습니다. 프로세스로서의 소프트웨어 테스트는 제품의 전반적인 품질을 보장합니다. 테스트는 고객 요구 사항을 준수하고 비즈니스 요구에 맞는 제품의 제공을 보장합니다. 잘 정의된 테스트 프로세스는 버그가 수정되고 결함이 식별되고 인터페이스가 함께 작동하며 제품의 보안과 온전성이 손상되지 않도록 보장합니다. 테스트 결과에 따라 제품이 필요에 따라 작동하고, 모든 테스트를 수행하고, 모든 종류의 중단에 대처할 수 있게 되었습니다. 검증되고 검증된 제품은 오래 지속되고 내구성이 뛰어난 제품을 제공할 수 있는 최고 수준의 자원과 그 능력을 입증합니다.