본문 바로가기
카테고리 없음

모킹 데이터 만들기

by 위시우 2024. 3. 21.

테스트에는 두가지 종류가 있다. 

 

1. 단위테스트

- 각 테스트가 독립적이어야 함

- 의존성을 모킹하고, 테스트 대상이 되는 메서드나 클래스의 행위에만 집중해서 테스트를 한다.

- 의존성을 최소화하고 독립적인 테스트를 추구하기 때문에 DB 와 연결해서 데이터를 가져오지 않고 

객체를 새로 생성하는 방식으로 데이터를 주입한다. 

 

 

 

Random data generation in automation — `Faker` to your rescue!

We, automation testers have all been there! One of our biggest headaches is to generate test data and it’s usage in our scripts.

medium.com

 

2. 통합테스트

시스템 테스트의 경우, DB 에 있는 실제 객체 를 사용한다. 

때문에 테스트 시작시 테스트 데이터를 DB 에 사전 삽입하는 방식을 사용한다. 

시스템이 어떻게 함께 작동하는지를 검증하는 방식이다. 

 

Dummy Data 자동으로 생성하는 라이브러리

 

- DataFaker

https://www.datafaker.net/

 

Random Data Generator for Java and Kotlin - Datafaker

Generating fake data has never been easier Create fake data for your JVM programs within minutes, using our wide range of more than 200 data providers. Get started in minutes. Quick start

www.datafaker.net

- JavaFaker 

https://www.baeldung.com/java-faker

 

https://medium.com/@Deepashree.kmohan/random-data-generation-in-automation-faker-to-your-rescue-a5941f853778

 

테스트 데이터 -> DB 에 삽입하는 방법

- @DataJpaTest

- TestEntityManager

 

등을 활용하여 테스트 종료 후에 DB 상태를 원래대로 복원할 수 있음 

 

Test Code 짜는 일정

0. 이미 짜여있는 프로젝트에서 단위 테스트 적용해보기 [3시간] 목

1. 코드 리팩토링 -> 단위 테스트에 적합한 방식으로 [4시간] 목

2. 주요 기능 - 결제 포인트 차감 등에 대한 단위 테스트 작성[5시간] 목 / 금

 

성능 테스트

3. AOP 를 통한 성능 테스트 방법 이해[5시간] 금 

4. 기존 테스트 코드에 성능 테스팅을 위한 코드 변경[5시간] 금 / 토

5. Dummy data 생성을 위한  java-faker 도입[10시간] 토

5. querydsl 도입[20시간] 

6. 성능 개선 확인 테스트[10시간] 

댓글