[TIL] Software Testing

minami·2022년 1월 23일
0

wecode

목록 보기
8/10

1. 소프트웨어 테스트란?

  • 제대로 된 소프트웨어를 개발했는가?
    • build right product?
  • 소프트웨어를 제대로 개발했는가?
    • build product right?

2. 테스트를 하는 이유

  • 결함 확인
  • 사전 방지
  • 시간 절약
  • 구조 개선
  • 품질 개선
  • 확장성

3. Manual Testing vs. Automation Testing

1. Manual Testing

사람이 직접 테스트해보는 것

  • 불안전성이 높다.
  • 인력소모가 많다.
  • 비용이 많이 든다.
  • 테스트 속도가 느리다.
  • 확장성이 낮다.

2. Automation Testing

컴퓨터로 테스트 자동화

  • 안정성이 높다.
  • 인력소모가 적다.
  • 비용이 낮다.
  • 테스트 속도가 빠르다.
  • 확장성이 높다.

4. 시스템 테스트 전략

  1. End-to-End (E2E) Tests

전체적인 Flow 테스트

  • ex) 브라우저상 클릭 후 생기는 변화에 대한 검증
  • 비중: 10%
  1. Integration Tests (통합 테스트)

모듈 간의 호환성 검증

  • ex) 웹페이지나 Postman을 통한 API 호출시 올바르게 동작하는지 확인
  • 비중: 20%
  1. Unit Tests (단위 테스트)

독립적으로 진행되는 가장 작은 단위의 테스트

  • ex) 하나의 기능 또는 메소드
  • 비중: 70%

5. 단위 테스트 작성의 필요성

  • 문제 파악을 빠르게 할 수 있다.
  • 시간과 비용 절감
  • 리팩토링시 안정성 확보
  • 코드에 대한 문서로 활용
profile
함께 나아가는 개발자💪

0개의 댓글