본문 바로가기
[ISTQB]

[ISTQB CTFL]개알 #1장 소프트웨어 테스팅의 기초

by DDBobD 2022. 8. 17.
728x90
반응형

1.1 소프트웨어 테스팅이 왜 필요한가?

  • 소프트웨어 테스팅의 필요성
    • 소프트웨어의 시스템 문제를 최소화 하기 위한 것
  • 소프트웨어 결함 원인
    • 오류 : 사람의 실수
    • 결함 : 오류의 결과
    • 장애 : 결함에 의해서 실제 발생된 문제

  • 테스팅과 품질
    • 소프트웨어가 고객의 기대에 얼마나 부응하는지의 정도를 결정하는 소프트웨어 제한 속성
    • 제품 품질(Tester)
      • 직접적인 영향을 미치는 품질
      • 결함 발견 활동
    • 프로세스 품질(QM, QA, QC)
      • 개발 과정에서 수행되는 작업의 품질
      • 결함 예방 활동

1.2 테스팅이란 무엇인가

  • 소프트웨어테스팅 진화 모델
구현이 완료된 상태에서
테스팅
Debugging - 정상동작 여부만 확인
Demonstration - Debugging + 추가적인 테스트
Destruction - 예외적인 사항을 처리하는지 확인
개발과정에서
테스팅
Evalution - 소프트웨어 테스팅 생명주기, V&V 개념 도입
- 결함이 다음단계로 전이 되는것을 방지
Prevention - 개발 초기부터 발생 가능한 결함을 사전에 방지
  • 테스팅이란?
    • 결함을 발견하는 활동
    • 동작(기능)과 성능, 안전성(비기능)이 사용자가 요구하는 수준을 만족하는지 확인하기 위해 결함을 발견하는 메커니즘
    • 결함 데이터를 근간으로 개발 프로젝트의 리스크 정보를 정량적 수치로 의사결정권자에게 전달하는 것
    • 실제와 기대 결과와의 차이 식별
    • 수동 또는 자동화된 방법으로 시험하고 평가
  • 일반적인 목적
    • 결함 발견
    • 사용자 및 비즈니스(법규, 규칙)의 요구사항 충족 확인
    • 결함 예방
  • 부가적인 목적
    • 품질 수준에 대한 자신감 획득(실제 테스트를 하면서 얻어지는 결과)
    • 발견된 결함 기반의 수치적 데이터 활용(테스트를 하면서 얻어지는 데이터)
    • 개발 프로세스 점검, 이슈 제기

1.3 테스팅의 일반적인 원리

  • 테스팅은 결함이 존재함을 밝히는 활동이다.
    • 결함을 줄일수는 있지만, 결함이 없다는것을 증명할 수 없다.
  • 완벽한 테스팅(가능한 모든 경우의 수)은 불가능하다.
  • 테스팅을 개발 초기에 시작한다.
    • 문서상 결함 발견
    • 전체 테스팅 시간 단축
  • 결함은 집중된다.
    • 복잡한 구조를 가지고 있는 모듈
    • 개발 난이도가 높거나 최신 기술을 사용한 모듈
    • 크기가 큰 모듈
    • 경험이 미흡한 개발자가 개발한 모듈
  • 살충제 패러독스
  • 테스팅은 정황에 의존적이다.
    • 상황에 따라서 테스트 방식을 선택해야 한다.
  • 오류의 부재는 궤변이다.
    • 결함을 모두 발견하여 제거 하였어도 품질이 높다고 볼 수 없다.

 

728x90
반응형