테스트 소개

Java 테스트 소개

Maria Milusheva

Senior Software Engineer

테스트란?

소프트웨어 테스트:

  • 소프트웨어가 명세된 요구사항을 충족하는지 평가하는 과정

테스트 유형:

  • 수동 — 필요하지만 한계가 있고 신뢰도가 낮음
  • 자동 — 수백 개 테스트를 수초 내 실행하는 강력한 방법

본 과정에서는 JUnit 5로 자동 테스트를 진행합니다

프로그래머 그래픽

Java 테스트 소개

경계 사례

"테스트되지 않았다면, 깨진 것입니다."$^1$

경계 사례: 일반적 범위의 극한 또는 경계에 있는 입력/조건

예시: 최대값 변수, null/빈 변수, 음수 값

테스트를 상징하는 그래픽

1 인용: Bruce Eckel
Java 테스트 소개

경계에서의 예상 밖 동작 예시

다음 코드를 보십시오:

public int addTwoNumbers(int a, int b) {
    return a + b;
}

⚠ 입력 2147483647(int 최대값)과 1을 고려해 보세요

➡ 출력은 -2147483648(int 최소값)입니다

Java 테스트 소개

복습: 변수 크기 — 기본형은 크기가 제한됨

기본 타입 요약 표 - byte, short, int, long, float, double, char, boolean

Java 테스트 소개

예시: 아리안 5 발사

1996년 아리안 5 로켓 첫 비행:

  • 개발에 8년 이상 소요
  • 비용 3억7천만 달러 이상
  • 발사 37초 후 폭발
  • 원인은 소프트웨어 오류: short 오버플로우

유럽우주국의 아리안 5 로켓 발사 장면.

Java 테스트 소개

테스트의 이점

  • 경계 사례 버그를 방지합니다
  • 프로젝트와 요구사항 이해를 높입니다
  • 장기적으로 개발 속도를 높입니다
  • 요구사항 준수를 자동화합니다
  • 인간 오류를 줄입니다

전구 이미지

1 https://books.google.com/books/about/Clean_Architecture.html?id=8ngAkAEACAAJ
Java 테스트 소개

연습해 봅시다!

Java 테스트 소개

Preparing Video For Download...