dart - 테스트

jokil·2023년 12월 18일
0

플러터

목록 보기
12/15

테스트에 대해 정리 해보자.

  1. 수동 테스트
    수동 테스트는 사람이 직접 애플리케이션을 사용하면서 버그를 찾거나 개선점을 파악하는 방법이다. 예를 들어, 모바일 앱에서 사용자가 로그인 버튼을 눌렀을 때 발생하는 반응을 확인하는 것이다.

예시:
사용자가 로그인 버튼을 누른다.
사용자가 잘못된 정보를 입력했을 때 오류 메시지가 제대로 표시되는지 확인한다.
앱의 각 화면이 사용자의 조작에 따라 적절하게 반응하는지 검사한다.
인터페이스의 모든 버튼과 링크가 올바르게 작동하는지 확인한다.

  1. 단위 테스트
    단위 테스트는 소프트웨어의 가장 작은 단위, 예를 들어 함수나 메소드를 독립적으로 테스트하는 것이다. 이를 통해 각 기능이 정확하게 작동하는지 검증할 수 있다.
int add(int a, int b) {
  return a + b;
}

void main() {
  test('덧셈 함수 테스트', () {
    expect(add(2, 3), 5); // 2 + 3이 5와 같은지 확인
  });
}

이 코드에서 add 함수는 두 숫자를 더하는 기능을 수행하고, test와 expect를 사용하여 이 함수가 제대로 작동하는지 확인한다.

  1. 통합 테스트
    통합 테스트는 여러 개의 연관된 클래스나 모듈을 함께 테스트하는 방법이다. 이는 모듈 간의 상호작용과 인터페이스를 검증하는 데 중점을 둔다.

예시:
로그인 모듈과 사용자 프로필 모듈이 제대로 연동되는지 테스트한다.
데이터베이스에서 사용자 정보를 가져와서 화면에 표시하는 기능을 검사한다.
앱의 다양한 부분 간의 데이터 전달이 올바르게 이루어지는지 확인한다.


  1. 화이트 박스 테스트
    화이트 박스 테스트는 코드의 내부 로직과 구조에 초점을 맞추어 진행되는 테스트다. 개발자의 관점에서 코드의 세부적인 부분까지 검사한다.

예시:
함수의 조건문이 모든 경우에 대해 올바르게 동작하는지 검사한다.
반복문이 예상대로 실행되며, 종료 조건이 적절한지 확인한다.
예외 처리가 제대로 구현되어 있는지 검증한다.


  1. 블랙박스 테스트
    블랙박스 테스트는 내부 구조를 모르더라도 수행할 수 있으며, 사용자의 관점에서 기능적인 측면만을 테스트하는 방법이다.

예시:
사용자가 입력한 이메일 주소가 유효한 형식인지 검사한다.
검색 기능이 입력된 키워드에 맞는 결과를 반환하는지 확인한다.
결제 시스템이 다양한 결제 방법을 올바르게 처리하는지 테스트한다.
각각의 테스트 방법은 서로 다른 관점에서 소프트웨어를 검증해. 이를 통해 더욱 견고하고 신뢰할 수 있는 소프트웨어를 만들 수 있다.

profile
주니어 개발자에서 점핑점핑

0개의 댓글