유닛 테스트(unit tests)
코드의 개별 유닛이 의도한 대로 작동하는지 확인하기 위한 테스트
주로 함수, 클래스, 모듈 등의 작은 단위의 코드 조각을 대상으로 수행된다.
일반적으로 프로젝트에서 추가되는 새 코드 블록을 처음 테스트할 때 사용되는 용어이다.
보통 테스트될 때 가장 최근에 작성된 코드만을 보는 테스트라고 보면 된다.
유닛 테스트 프레임워크에서 사용되는 어트리뷰트
[SetUp] 어트리뷰트는 해당 테스트가 실행되기 전에 수행해야 하는 설정 작업을 지정한다.
예를 들어, [SetUp] 어트리뷰트를 사용하여 데이터베이스 연결을 설정하거나,
초기화 코드를 실행하거나, 필요한 객체를 생성하는 등의 작업을 수행할 수 있다.
[SetUp] 어트리뷰트가 있는 메서드는 각각의 테스트 메서드가 실행되기 전에 실행된다.
[TearDown] 어트리뷰트는 해당 테스트가 실행된 후에 수행해야 하는 정리 작업을 지정한다.
[SetUp] 어트리뷰트와 마찬가지로, [TearDown] 어트리뷰트를 사용하여 데이터베이스 연결을 닫거나,
리소스를 해제하거나, 필요한 정리 작업을 수행할 수 있다.
[TearDown] 어트리뷰트가 있는 메서드는 각각의 테스트 메서드가 실행된 후에 실행된다.
통합 테스트(integration tests)
게임이 실행되는 동안 코드의 multiple sections(다른 프로그래머들끼리 작성한)을 테스트할 때 사용되는 용어이다.
시스템 테스트(system tests)
통합테스트 이후에 시행되는 테스트로 전체적인 코드 결함이 없는지 체크하는 작업이다.
스모크 테스트(smoke tests)
현재의 빌드버전이 안정적인지를 확인하는 테스트로, 버그테스터들이 테스트를 진행하며,
빌드사이에 빈번하게 일어나는 테스트이다.
회귀 테스트(regression tests)
존재하는 코드블록이 변화하거나 새로 추가되었을 때 충돌되는 에러를 생성하지 않는지 확인하는 작업이다.
큰 프로젝트에서는 업데이트될 때마다 테스트하는 것이 적합하겠다.
인수 테스트(acceptance tests)
사용자의 요구사항을 충족하는지 확인하기 위해 애플리케이션 전체를 대상으로 수행되는 테스트
사용자 시나리오를 통해 애플리케이션의 기능과 동작을 테스트하며,
사용자의 관점에서 애플리케이션의 품질과 사용성을 평가한다.
이러한 테스트들은 소프트웨어 개발의 다양한 단계에서 사용되며,
애플리케이션의 품질, 안정성, 기능을 보장하기 위해 중요한 역할을 수행한다.
이를 통해 버그를 조기에 발견하고 수정하며, 사용자에게 신뢰성 있는 애플리케이션을 제공할 수 있다.