IT정보공학/SW 공학

소프트웨어 테스트 종류

하늘후니82 2023. 4. 12. 09:50

소프트웨어 테스트는 소프트웨어 개발 과정에서 오류를 찾아내고 수정하는 과정

 

단위 테스트(Unit Testing)
소프트웨어의 가장 작은 단위인 모듈을 테스트하는 것으로, 프로그래머가 수행합니다.

통합 테스트(Integration Testing)
단위 테스트가 끝난 후 각 모듈을 통합하여 전체적인 소프트웨어의 동작을 테스트하는 것입니다.

시스템 테스트(System Testing)
전체적인 소프트웨어 시스템을 테스트하는 것으로, 사용자가 실제로 사용하는 환경에서 테스트합니다.

성능 테스트(Performance Testing)
소프트웨어의 성능을 측정하는 것으로, 대용량 데이터나 동시 접속자 수 등을 통해 소프트웨어의 성능을 테스트합니다.

인수 테스트(Acceptance Testing)
사용자가 실제로 사용하는 환경에서 소프트웨어가 정상적으로 동작하는지를 검증하는 것으로, 사용자의 요구사항을 충족시키는지 여부를 판단합니다.

회귀 테스트(Regression Testing)
소프트웨어에 수정사항이 있을 때 기존의 기능들이 올바르게 동작하는지 확인하는 것입니다.

성능 모니터링(Performance Monitoring)
실제 운영 환경에서 소프트웨어의 성능을 모니터링하고, 문제가 발생하면 대처하는 것입니다.

 

병행 테스트(Parallel Testing)
새로운 시스템 또는 기능이 추가된 시스템을 기존의 시스템과 병행하여 테스트하는 것으로, 새로운 기능이나 시스템이 기존 시스템에 문제를 발생시키지 않는지를 검증합니다.

회복 테스트(Recovery Testing)
소프트웨어가 비정상적인 상황에서도 회복할 수 있는지를 테스트하는 것으로, 비정상적인 상황에서 소프트웨어가 어떻게 동작하는지 검증합니다.

국제화/지역화 테스트(Internationalization/Localization Testing)
소프트웨어가 다양한 언어와 국가에서 사용 가능한지 검증하는 것입니다.

스트레스 테스트(Stress Testing)
소프트웨어의 한계를 검증하고, 과부하 상황에서의 소프트웨어 동작을 확인하는 것입니다.

페널티 테스트(Penalty Testing)
소프트웨어가 잘못된 사용이나 부정행위로 인해 벌칙을 받을 수 있는 경우, 그 벌칙이 제대로 적용되는지를 검증하는 것입니다.

선순환 테스트(Positive Testing)
소프트웨어가 예상한 대로 동작하는지를 확인하는 것으로, 올바른 입력값을 제공하여 기능이 정상적으로 동작하는지 확인합니다.

역설적 테스트(Negative Testing)
소프트웨어가 잘못된 입력값, 예외 상황 등에 대해 적절하게 처리되는지 검증하는 것입니다.

 

병목 테스트(Bottleneck Testing)
시스템에서 가장 느린 부분을 찾아내는 것으로, 시스템의 성능을 최적화하는 데 도움을 줍니다.

성능 테스트(Performance Testing)
소프트웨어의 성능을 측정하고 분석하여, 소프트웨어가 사용자 요구를 충족시키는지 검증합니다.

보안 테스트(Security Testing)
소프트웨어가 해킹이나 악성 코드 등의 보안 위협으로부터 안전한지를 검증하는 것입니다.

호환성 테스트(Compatibility Testing)
소프트웨어가 다양한 운영체제, 브라우저, 하드웨어 등에서 동작하는지를 검증하는 것입니다.

UI(User Interface) 테스트
소프트웨어의 UI가 사용자에게 적절한지, 사용이 편리한지를 검증하는 것입니다.

 

블랙박스 테스트(Black Box Testing)
소프트웨어의 내부 동작 원리나 코드를 알지 못하고, 오직 기능적인 요구사항에만 초점을 두어 테스트하는 방법입니다.

화이트박스 테스트(White Box Testing)
소프트웨어의 내부 동작 원리나 코드를 알고 있어, 코드의 실행 경로나 논리적인 결함 등을 찾는 방법입니다.

그레이박스 테스트(Gray Box Testing)
블랙박스와 화이트박스 테스트의 중간 형태로, 내부 동작 원리는 알 수 있지만 모든 코드를 알 필요는 없는 경우에 사용됩니다.

에스캘레이션 테스트(Escalation Testing)
소프트웨어에 대한 테스트를 강도를 높여가면서 진행하는 방법으로, 기본적인 기능을 확인한 후에 성능, 안정성, 보안 등의 다양한 측면에서 점진적으로 테스트를 수행합니다.

A/B 테스트(A/B Testing)
소프트웨어의 두 가지 버전을 동시에 실행하여, 사용자들이 어떤 버전을 선호하는지 비교하는 방법입니다.

스트레스 테스트(Stress Testing)
소프트웨어가 예상치 못한 상황에서도 어떻게 동작하는지 확인하는 방법으로, 시스템에 부하를 주어 최대치까지 성능을 테스트합니다.

병목 테스트(Bottleneck Testing)
소프트웨어에서 가장 느린 부분을 찾아내어 최적화를 도와주는 방법입니다.

모의 테스트(Mock Testing)
소프트웨어의 일부 기능을 대체하는 가짜 모듈을 사용하여, 실제 환경에서 발생할 수 있는 다양한 오류 상황을 시뮬레이션하여 테스트하는 방법입니다.



'IT정보공학 > SW 공학' 카테고리의 다른 글

PoC (Proof of Concept)  (0) 2023.03.24
이벤트 스토밍(Event Storming)  (0) 2023.03.24