//구글콘솔 광고 추가가

유튜버 "Ares"의 ISTQB 자격증 강의를 보면서 정리해 둔 내용.

이전에 봤던 유튜버 "김기테의 JAVA를 자바"의 SW 테스팅 강의를 다 듣고 들으니 이해가 쉽게 된다.

혹시나 ISTQB를 준비한다면 이 두 유튜브 강의를 둘다 들어보는 것을 추천함!


 

하드웨어 : 

- 입력장치, 중앙처리 장치, 기억장치, 출력장치

소프트웨어 :

- 시스템 소프트 웨어 : 컴퓨터를 사용하기 위해 가장 근본 적으로 필요한 소프트웨어 (ex. 윈도우, 리눅스, 맥)

- 응용 소프트 웨어 : 컴퓨터를 사용할 때 편리한 기능을 제공해주는 소프트웨어(ex. exe 파일)

오류, 결함, 장애 구분해야 ISTQB 문제를 풀수 있다!
오류 사람이 코드나 요구사항 문서에서 실수하는 것
결함 코드문안에 있는 것은 결함(눈으로 볼수 없어, 코드문안에 내제)
장애 결함이 실행되는 것이 장애(눈으로 볼수 있어, 블루스크린)

 

소프트웨어 테스팅의 필요성 - 결함을 발견하는 것.
테스팅의 필요성 - 소프트웨어 시스템의 문제를 최소화하는 것.

 

테스팅의 정의

- 결함 발견과 격리(때로는 예방까지).

- 결함 발견(Defect Detenction) 메커니즘.

- 결함 예방 조화를 이루어야 함.

- 품질과 리스크에 대한 통찰력을 제공.

- 테스팅은 수명 주기와 프로세스를 갖는 프로젝트

- "테스트"는 실제 수행하는 하나하나의 실체

 

소프트웨어 테스팅의 정의

- 프로그램의 동작(기능)과 성능, 안정성이 사용자가 요구하는 수준을 만족하는지 확인하기 위해 결함을 발견하는 방법.

소프트웨어 테스팅 용어
오류 >> 결함 == 결점 == 버그 == 인시던트 == 이슈 >> 장애 >> 리스크로 이어질 수 있음.

*인시던트 : 테스팅 중 발생하여 조사가 요구되는 모든 이벤트 ( 6 파트에서 나옴 )

오류(에러) : 사람의 실수에 의한 에러, 원인은 사람.
결함 : == 결점(Defect), 버그(bug), 에러에 의해 발생하는 것, 에러가 실제로 코드에 구현(내재화) 된 것.
장애 : 결함을 가진 SW 실행하면 발생(눈에 보이게)하는 것, 눈에 보여지는 것.

★ 모든 결함이 장애로 가지는 않는다.  
결함이 있어도 정상적으로 실행될 수 있다.

 

소프트웨어 결함의 원인
소프트웨어 결함 :
- 인간의 실수 : 사람의 실수는 소프트웨어 또는 시스템 코드에 결함을 야기시킬 수 있다.
- 주변환경에 의한 결함: 전자파, 자석, 공해, 자연현상 등과 같은 주변 환경의 영향으로 소프트웨어 또는 시스템이 사용하는 하드웨어에 영향을 주어 오류를 발생시킬 수 있다.(ex. 컴퓨터 속에 먼지나 벌레가 들어가서 전원이 제대로 안 켜지는 경우)

ISTQB 답)
 결함은 소프트웨어에서만 문제를 야기시킨다 >> X,
 결함은 소프트웨어와 하드웨어에서 모두 다 문제를 야기시킬 수 있다. >> O

 

소프트웨어의 개발, 유지보수, 운영과 테스팅
▶ 소프트웨어 개발 과정에서의 테스팅은?
- 개발 초기부터 정적 분석(코드 문을 보면서 테스팅하는 것 >>정적분석은 리뷰랑 연계됨)을 통해 시작한다.
- 개발 단계에 대응하는 테스트 레벨에 따라 테스팅을 실행한다.
- 테스트 조직의 독립성 문제.

운영 테스팅
- 기존 운영 시스템의 변경/ 단종/ 환경 변화 등으로 변경된 시스템에 대한 테스팅.

 

테스팅과 품질
▶ 소프트웨어 품질 특성
: 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성

▶ 테스팅
: 기능 테스팅, 비기능 테스팅
어느 정도의 테스팅이 적절한가?
▶ 테스팅의 제약 사항
- 테스팅을 많이 할수록 좋겠지만, 현실적으로는 제약이 있다.
- 대표적인 4가지 제약 사항 : 일정, 비용, 조직의 성숙도, 테스터의 역량.
▶ 적절한 테스팅의 정도는?
- 리스크 수준을 고려(리스크 큰 것부터 제거)
- 기술적인 내용, 비즈니스, 제품 리스크, 프로젝트 리스크, 시간, 비용 등을 고려.

 

소프트웨어 테스팅의 목적 1
옛날 방식의 테스트 개념 : 소프트웨어의 정상 작동 여부 확인
현재의 테스트 개념 : 사용자의 기대수준과 요구사항에 맞게 구현되고 동작하는 지 확인
>> 결함 데이터를 근간으로 소프트웨어의 리스크 정보를 정량적 수치화하여 의사결정권자에게 전달

 

소프트웨어 테스팅의 목적 2
▶ 주요 이유 
- 잔존 결함을 발견
- 개발 시스템/ SW 자신감 부여
- 결함을 미연에 방지
- 명세를 충족 확인 >>엑셀 파일 문서(테스트 베이시스 == 요구사항문서)
- 사용자 및 비즈니스의 요구 충족 확인 (사용자가 원한 거 충족 됐는지 확인)
- 비즈니스 리스크를 감소시키는 정보 제공 (발견된 결함 기반의 수치 데이터 제공)

▶ 기타 이유
- 개발 프로세스 점검
- 논리적 설계의 구현 검증
- 시스템/ SW가 적절히 동작함을 확인
소프트웨어 테스팅의 목적 3
테스팅의 목적은 테스트의 상황이나 관점에 따라 달라질 수 있다.
1. 개발 과정: 소프트웨어의 결함을 찾아내고 수정하기 위해서 가능한 많은 장애의 원인을 발생시킴.
2. 인수 과정: 사용자에게 예상된 대로 시스템이 동작하는지 확인하고, 요구사항에 맞는지 확신을 얻는 과정.
3. 품질 평가: 특정 시간에 시스템을 출시하는 것의 리스크를 개발 프로젝트 관련자에게 전달.
4. 유지 보수: 변경사항을 추가적으로 개발하는 중에 새로운 결함이 유입되었는지 확인하는 테스팅 과정 포함.
5. 운영 과정 : 신뢰성 또는 가용성과 같은 시스템의 특성을 평가.
테스팅은 문서의 리뷰와 함께 정적 분석에 의한 테스트 포함한다. 

 

728x90
반응형

+ Recent posts