2023-10-16

대휘·2023년 10월 16일
0

TIL

목록 보기
8/11

소프트웨어 테스팅

소프트웨어에 결함이 있는지 찾는 과정

테스팅 레벨

  • Unit testing
  • Integration testing
  • System testing
  • Acceptance testing

Unit Testing

가장 중요하고, 가장 많이 작성하게 되는 테스트이다.
특정 부분을 고립해서 테스트하며, 클래스나 메서드 하나를 단위로 테스트를 작성하게 된다.
단위 테스트 작성 시, 대상 클래스와 협력 관계인 객체는 테스트 더블로 대체해서 전달하게 된다.

단위 테스트의 3 단계

  • GIVEN: Mock 객체를 만들고, 상황 주입
  • WHEN: 실제 클래스의 메서드 호출
  • THEN: 결과값과 기대값 비교

Integration Testing

모듈 간의 연동, 외부 시스템과의 연동까지 테스트 하는 것
시스템 전체를 보는 것은 End-to-End 테스트라 한다.

Mock Object

테스트 중,행위 검증을 위해 사용하는 모의 객체

Mock 객체 - mock, spy
Stub 객체 - stub, dummy, fake

  • 상태 검증: 메소드가 수행된 후, 객체의 상태를 확인하여 올바른 동작인지를 확인하는 것
  • 행위 검증: 메소드의 리턴 값으로 판단할 수 없을 때, 특정 동작의 수행을 확인하는 법

Spring Test Context Framework

테스트에 사용되는 애플리케이션 컨텍스트를 관리해주는 프레임워크
통합테스트를 할 때, 스프링 컨테이너 내에서 Bean들간의 커뮤니케이션을 테스트해야하는 경우가 생긴다. 이 때, 테스트를 위한 IoC 컨테이너를 제공하며 캐싱을 통해 빠른 테스트를 가능하도록 돕는다.
https://docs.spring.io/spring-framework/reference/testing/testcontext-framework.html

profile
학생

0개의 댓글