[SPRING] 테스트 코드

Noah JEONG·2023년 12월 13일
0
post-thumbnail

테스트 코드

테스트의 필요성

테스트는 무엇이고, 테스트가 필요한 이유는 무엇일까요?

1) 개발은 어려운 일입니다.

  • '버그' (bug) 란?(출처: 위키백과)

    소프트웨어가 예상하지 못한 결과를 내는 것 입니다.
    버그는 '소스 코드' 나 '설계과정에서의 오류' 때문에 발생합니다.

2) 개발 코드 배포 전, 버그를 (최대한 많이) 찾아내는 법 - 테스트!

  • 블랙박스 테스팅

    블랙박스 테스팅이란 소프트웨어 내부 구조나 동작원리를 모르는 블랙박스와 같은 상태에서, 즉 웹 서비스의 사용자 입장에서 동작을 검사하는 방법입니다.

  1. 장점
    • 누구나 테스트가 가능합니다 - 개발자부터 디자이너, 베타 테스터 혹은 사장님까지!
  2. 단점
    • 기능이 증가될수록 테스트의 범위가 증가합니다.
      • 시간이 갈수록 테스트하는 사람이 계속 늘어나야함
    • 테스트 하는 사람에 따라 테스트 퀄리티가 다를 수 있습니다. -> QA 직군이 있는 이유
  • 개발자 테스트

    개발자가 직접 "본인이 작성한 코드"를 검증하기 위해 "테스트 코드"를 작성합니다.

  1. 장점
    • 빠르고 정확한 테스트가 가능합니다. (예상 동작 VS 실제 동작)
    • 테스트 자동화가 가능합니다.
      • 배포 절차 시 테스트 코드가 수행되어 동작 검증
    • 리팩토링이나 기능 추가를 할 때 더욱 편리합니다.
  2. 단점
    • 개발 시간이 오래 걸림
    • 테스트 코드를 유지보수하는 비용

Spring에서는 '테스트 코드' 작성을 잘 할수 있는 환경을 제공해줍니다.

JUnit

JUnit이란 자바 프로그래밍 언어 용 단위 테스트 프레임워크입니다.

  • build.gradle 파일을 열어보면 JUnit 사용을 위한 환경설정이 이미 되어있습니다.
  • 자바는 반드시 main( ) 메서드로 시작해 main( ) 메서드로 끝난다고 배우셨을 겁니다.
  • JUnit은 테스트 실행 환경을 가지고 있기 때문에 따로 main( ) 메서드를 실행하거나 서버를 실행시키지 않아도 이렇게 각각의 메서드 혹은 기능별로 테스트 코드를 작성하여 실행시킬 수 있습니다.
profile
23.10.04 IT공부 시작/하루에 한번씩 쓰기 10/10~

0개의 댓글