반응형
1일 1개념정리 24.08.09.금 ~
큰 결정에 큰 동기가 따르지 않을 때도 있다. 하지만 큰 결심이 따라야 이뤄낼 수 있다.
무조건 무조건 1일 1개의 개념 정리하기 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#53. 테스팅 자동화
흔히 테스팅을 자동화한다는 이야기를 많이 하는데, 파라미터도 다 다르고... 몇몇 기능은 순서도 있고 그런데 어떻게 자동화화는 것일까 ?? 오늘은 테스팅 자동화에 대해 알아보자.
테스팅 자동화
사실 엄밀히 이야기하면 테스트 자동화랑, 자동화 테스트랑 다르다고 한다. 전자는 "반복 작업을 자동화 하는 것"이고, 후자는 "자동으로 테스트하는 프로세스" 정도를 의미한다고 하는데 내가 쓰고싶은 것은 전자이다. 어떻게 반복적인 작업을 자동화 했을까 ??
먼저 테스트 순서에 대해 말해보자. 일단 여기서 나오는 "테스트 스위트"라는 개념이 있다. 한마디로 "테스트 케이스의 집합"인데. 각 테스트 케이스는 서로 다른 파라미터, 산출물 등을 가질 것이다. 그런 각기 다른 테스트 케이스의 순서를 배열해서 모아놓은 것이 테스트 스위트이다. 프레임워크가 테스트간 의존성을 관리하기도 한다. 예를들어 JUnit에서 @Before, @After 같은 어노테이션을 사용해 순서를 제어할 수 있다.
public class Test {
@Before
public void beforeTest() {
// 테스트 전 실행할 코드 (환경설정, 초기화 등)
System.out.println("세팅.............");
}
@Test
public void 실제TEST() {
System.out.println("테스트.............");
}
@After
public void afterTest() {
// 테스트 후 실행할 코드 (리소스 정리 등)
System.out.println("리소스 정리..........");
}
}
자동화 흐름
결국 자동으로 테스트한다는 이야기는, 내가 어떤 입력을 하고, 그 입력이 어디로 들어가고, 그 결과로 인해 어떤 산출물들이 나오고, 또 다른 곳에 영향을 주고 이런 일련의 과정이 자동화된다는 것이다. 다음 테스트 스크립트를 보자. 로그인을 테스트한다고 해보자.
public class LoginTest {
@Test
public void testUserLogin() {
// 1. 입력 : 사용자 이름과 비밀번호
String username = "testuser";
String password = "password123";
// 2. 처리 : 로그인 시도
AuthService authService = new AuthService();
boolean isAuthenticated = authService.login(username, password);
// 3. 결과 확인 : 인증 성공 여부 및 인증 토큰 확인
assertTrue(isAuthenticated);
String authToken = authService.getAuthToken();
assertNotNull(authToken);
// 4. 대시보드 로드 : 인증 토큰을 사용하여 대시보드 불러오기
DashboardService dashboardService = new DashboardService();
dashboardService.loadUserDashboard(authToken);
// 5. 대시보드 로드 성공 확인
assertNotNull(dashboardService.getDashboardData());
}
}
대강 이런 느낌이 되지 않을까 ..... 싶다
반응형
'1일 1개념정리 (24년 8월~) > 테스팅 , SW공학개론' 카테고리의 다른 글
1일1개 (56) - 아나바다 패턴 (아껴쓰고 나눠쓰고 .....) (1) | 2024.10.10 |
---|---|
1일1개 (55) - Insomnia (8) | 2024.10.09 |
1일1개 (48) - 데이터 멍멍이 (3) | 2024.10.02 |
1일1개 (44) - 셀레니움 (0) | 2024.09.28 |
1일1개 (35) - 애자일은 신이야 (0) | 2024.09.16 |