2024.07.15 - 1일차

1. Overview

  • Today's Topic: 테스트 개요
  • Objective: 테스트에 관한 전반적인 지식 이해

2. Key Concepts

  • Concept 1: 오류, 결함, 장애
    • Explanation
    : 장애 - 실행 결과와 요구사항에 차이가 있음을 의미오류 - 결함이 생기게 한 개발자의 행위
  • 결함- 장애를 유발할 수 있는 문제
  • Concept 2: 테스팅, 디버깅, 재테스팅
    • Explanation
    :테스팅- 실제 동작과 요구사항의 차이를 확인재테스팅- 결함이 제거되었는지 확인
  • 디버깅- 테스팅을 통해 결함의 존재를 확인후 결함의 위치를 파악하고 이를 제거
  • Concept 3:테스트, 품질 보증
    • Explanation
    : 품질 보증>V&V>테스트

3. Detailed Notes

  • 결함 유형
  1. 누락 : 요구 명세서에 명시된 요구사항이 시스템의 구현에 반영되지 않은 결함

ex)출력하도록 명시되었으나 소프트웨어에 구현되지 않은 경우

  1. 부정확한 구현 : 요구사항이 소프트웨어에 부정확하게 반영된 결함

ex) 출력하도록 명시된 것이 다르게 구현된 경우

  1. 비관련 결함 : 요구 명세와 관련되지 않은 구현

ex) 요구 명세서에 언급된 기능 품질들과 무관한 경우

  • 결함 해결 비용

유지보수(20)>인수 테스팅(5)>단위 테스팅(2)>코딩(1)>설게(0.5)>요구분석(0.1-0.2)

  • 테스트의 진화 과정
    • 레벨 1 : 테스트와 디버깅에 뚜렷한 차이가 없는 레벨
    • 레벨2 : 프로그램이 올바르게 동장한다는 것을 입증하는 레벨
    • 레벨3: 프로그램에 결함이 존재함을 보여주기위한 레벨
    • 레벨4: 소프트웨어 개발 전 단계에서 발생하는 결함을 발견하는 레벨
    • 레벨5: 사전에 결함을 방지하는 레벨
  • 테스트 원칙
    • 테스트는 개발팀과는 무관한 그룹이 수행해야 한다
    • 결함이 발견되지 않을 것이라는 가정하에 계획을 세우면 안된다
    • 타당하지 않고 예상 못한 경우에서도 테스트를 해야한다
    • 프로그램의 결함이 남아있을 확률은 이미 발견된 결함의 수에 비례한다
    • 테스트 케이스를 체계적으로 관리한다
    • 각각의 테스트 결과를 철저하게 점검한다
  • V&V

: verification(검증)과 validation(확인)의 약자

검증- 개발 과정에서 수행한 활동의 적합성 검사에 초점을 둠

확인- 결과물의 적합성에 초점을 둠

  • 테스트 기본 용어
    • 테스트 대상 : 테스트를 통해 결함을 검출하려는 대상 소프트웨어
    • 시스템 테스트 : 전체 소프트웨어를 대상으로 한 테스트
    • 컴포넌트. 단위 테스트 : 부분을 대상으로 한 테스트
    • 피쳐 : 테스트 대상의 특성 중에서 테스트하고자 하는 측면 , 관점
  • 정적 테스트 : 테스트 대상을 실행하지 않고 테스트를 수행하는 방식
  • 동적 테스트 : 소프트웨어를 실행하는 방식으로 테스트
  • 테스트 케이스: 입력과 대응되는 예상 결과를 묶은 것
  • 테스트 절차 : 테스트를 준비하고, 실행하고, 결과를 관찰하고 기록하는 절차를 정의한 것
  • 테스트 환경 : 테스트 대상을 실행하는 모든 환경으로 하드웨어, 운영 체제를 포함한 시스템 소프트웨어, 외부 연동 시스템, 공존하는 응용 소프트웨어, 테스트 도구 등을 포함한다

4. Diagrams / Visual Aids

  • 관련된 다이어그램, 시각자료, 그림 등을 추가합니다.

5. Practical Examples / Exercises

  • Example 1: 실제 예제 1
    • Steps: 단계별 설명
  • Exercise 1: 연습 문제 1
    • Solution: 해결 방법

6. Questions / Clarifications

  • Question 1: 질문 1
    • Clarification: 질문에 대한 명확한 답변
  • Question 2: 질문 2
    • Clarification: 질문에 대한 명확한 답변

7. Summary

  • Key Takeaways: 오늘 학습한 주요 내용 요약

8. Additional Resources

  • Links: 추가 자료 링크
  • Books / Papers: 관련 서적이나 논문

9. Reflections / Thoughts

  • Today's Challenges: 오늘의 어려움
  • Learnings: 배운 점
  • Future Improvements: 향후 개선점