Testing

수현·2023년 7월 18일
0

Book

목록 보기
7/12
post-thumbnail

📂 테스트 용어

📌 테스트 목적

" 테스트는 시스템이 정해진 요구를 만족하는지, 예상과 실제 결과가 어떤 차이를 보이는지 수동 또는 자동화된 방법을 동원하여 검사하고 평가하는 일련의 과정" - IEEE

"프로그램 테스트는 결함이 있음을 보여줄 뿐, 결함이 없음을 증명할 수는 없다" - Dahl, Dijkstra, Hoare

  • 테스트는 사람이 만든 실수(error)로 인해 발생하는 문제점이나 실패(failure)를 사전에 발견 및 방지하기 위해 결함(defect) 찾아내는 행위

📌 테스트 분류 (단계별)

1) 컴포넌트 테스트

  • 단위 테스트, unit 테스트
  • 모듈이나 객체, 프로그램과 같이 개별적으로 테스트 가능한 단위에서 테스트 수행 (실제로 거의 하지X)
  • 테스트 수행을 위해 드라이버스텁 필요
    • Driver : 컴포넌트에 쉽게 접근 불가하지만, 해당 컴포넌트에 접근하기 위한 부분이 개발되지 않았을 경우 테스트할 때 사용(ex. class)
    • Stub : 컴포넌트에 쉽게 접근 가능하지만, 프로세스를 수행할 부분이 아직 개발되지 않았거나, 접근 가능한 컴포넌트만 테스트할 때 사용 (ex. JSP)

2) 통합 테스트

  • 각 컴포넌트 사이의 인터페이스를 테스트함
  • UI부분과 서버 부분을 묶어서 테스트하거나 각 기능 사이의 연결관계를 테스트 수행
  • 종류
    • 컴포넌트 통합 테스트 : 한 시스템 내에서 컴포넌트 사이의 관계를 테스트
    • 시스템 통합 테스트 : 두 개 이상의 시스템 사이의 관계를 테스트

3) 시스템 테스트

  • 개발된 시스템이 제대로 동작되는지 테스트 (Verification)
  • 성능 테스트 및 보안 테스트와 다름

4) 인수 테스트

  • 시스템이 고객이 원하는대로 만들어졌는지 테스트 수행 (Validation)

📖 참고 📖 Verification(검증) vs Validation(확인)

  • Verification : 시스템 기능이 잘 작동하는지 점검
  • Validation : 요구사항에 정의된 대로 설계되었는지 점검
  • V & V : Verification + Validation

📌 테스트 분류 (목적별)

1) 기능 테스트

2) 비기능 테스트

3) 구조 테스트

4) 확정 및 회귀 테스트

✔ QAO (Quality Assurance Officer) / QA

  • 프로젝트에서 품질을 관리하는 사람
  • SI 프로젝트에서 수행 중인 프로젝트에 적합하도록 방법론템플릿 수정, 품질 관련 표준 지키는지 확인

✔ 요구공학 (Requirement Engineering)

  • 요구사항을 정의할 때 고객사의 매뉴얼이나 시스템을 보고 요구사항 분석 (소프트웨어 공학의 일부)
  • 요구사항을 유도, 분석, 문서화, 검증, 관리하는 작업을 체계적 접근

✔ ISTQB (International Software Testing Qualifications Board)

  • 국제 소프트웨어 테스트 능력 인정 기관
  • 테스터를 위한 자격 시험 및 자격증 제공
  • Syllabus 문서 참고

✔ 주요 품질 특성

  • 기능성 (Functionality)
  • 신뢰성 (Reliability)
  • 사용성 (Usability)
  • 효율성 (Effiency)
  • 유지보수성 (Maintainability)
  • 이식성 (Portability)

📂

📖 출처 📖

자바 개발자도 쉽고 즐겁게 배우는 테스팅 이야기

profile
Notion으로 이동 (https://24tngus.notion.site/3a6883f0f47041fe8045ef330a147da3?v=973a0b5ec78a4462bac8010e3b4cd5c0&pvs=4)

2개의 댓글

comment-user-thumbnail
2023년 7월 19일

좋은 글 잘 읽었습니다, 감사합니다.

답글 달기
comment-user-thumbnail
2023년 7월 20일

내용 좋네요 좋은 글 감사합니다

답글 달기