일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- istqb dump
- App QA
- 테스팅
- Test
- 테스트 외주
- testing
- ISTQB
- QA
- Polaris Office
- FL
- 테스트 아웃소싱
- 실라버스
- qa테스트
- 자격증
- qa 자격증
- 검증
- mobile QA
- 테스트케이스
- TestCase
- Office test
- 외주 테스트
- 모바일앱 QA
- qa 아웃소싱
- 폴라리스오피스
- istqb 기출문제
- 테스트
- istqb fl
- QA자격증
- ctfl
- 게임 qa
- Today
- Total
QA Outsourcing & Consulting
[CSTS AL] 2. 테스트 개념 본문
테스트 개념에 대해 정리합니다.
※ SW 테스트 정의
- 프로그램이나 시스템이 자신이 해야되는 일을 수행하는 확신을 주는 과정
- 컴퓨터 소프트웨어를 실행하여 그 결과가 올바른지 판단하는 과정
- 에러를 발견할 목적으로 프로그램을 실행하는 과정
- 소프트웨어 품질을 측정하고 개선하기 위한 테스트웨어를 공학화하여 사용하고 유지하기 위한 또 다른 라이프사이클 프로세스
※ 테스트 개념
1. 테스트 목적
▶ 소프트웨어가 올바르게 동작하지 않는 경우 다양한 문제가 발생한다. 테스팅은 이러한 소프트웨어 시스템의 문제를 최소화하기 위해 반드시 필요하다.
* 일반적인 테스트 목적
- 명시된 모든 요구사항이 충족되었는지 확인
- 장애 및 결함 발견
- 결함 예방
- 사용자 및 이해관계자(stakeholders)의 요구 충족 확인
- 품질수준에 대한 자신감 획득
- 이해관계자가 테스트 대상의 품질 수전을 결정하는데 필요한 정보 제공
* 테스트의 관점에 따른 목적(현재의 테스트 레벨, SW 개발수명주기, 모델 등에 따름)
- 컴포넌트 테스팅
: 내재되어 있는 결함(failure)을 최대한 조기에, 가능한 많이 식별하고 수정하는 것
: 코드 커버리지를 높이는 것
- 인수 테스팅
: 예상된 대로 시스템이 동작하는지 확인하고 요구사항에 맞는지 확인하는 것
: 특정 시간에 시스템을 출시(release)하는 것의 리스크를 이해관계자(stakeholders)에게 전달하는 것
- 유지보수 테스팅
: 개발 과정에서 변경 작업이 일어나는 경우 새로운 결함이 유입되었는지 확인하는 것(regression testing)
- 운영 테스팅
: 신뢰성 또는 가용성과 같은 시스템의 특성을 평가하는 것
2. 오류, 결함, 장애
▶ 오류(Error), 결함(Defect, Fault, Bug), 장애(Failure)
- 사람은 프로그램 코드 또는 기타 작업산출물을 작성하면서 결함을 발생시키는 오류를 범할 수 있다.
* 오류(Error)
- 사람에 의해 발생함
- 요구사항의 잘못된 이해, Typo, 프로그램/시스템에 대한 이해 부족 등으로 발생하는 실수
* 결함(Defect, Fault, Bug)
- 사람이 오류를 범하기 쉽기 때문에 발생
* 장애,오작동(Failure)
- 코드에 존재하는 결함은 장애의 원인이 된다.
- 의도된 대로 동작하지 않거나, 동작하면 안되는 경우 동작하는 것
- 모든 결함이 장애를 일으키는 것은 아니다.
- 결함 외 환경 조건으로 인해 발생할 수도 있다.
- 테스트 결과가 기대와 다르다고 모두 장애인 것은 아니다.
- False Positive : 정확하지 않은 data, 테스트 환경, 테스트웨어의 결함 등으로 발생하는 경우
> 기대와 달라 결함으로 보고되었으나 실제 결함이 아님
- False Negative : 비슷한 오류, 결함으로 인해 발견해야할 결함을 발견하지 못하는 경우
* SW 오류 원인
- 요구사항 오류
: 고객의 요구사항을 불완전하거나 잘못 반영
: 시간/예산의 압박으로 인한 기능 일부를 빠뜨리는 것
: 개발자가 임의의 기능을 고객 승인 없이 추가
- 설계 오류
: 요구사항을 설계에 반영하는 과정에서 발생하는 오류(요구사항과 설계 등에 대한 프로젝트 참여자 간의 의사소통 문제가 원인이 될 수 있다.)
- 코딩 오류
: 설계 문서의 잘못된 이해, 프로그래밍 언어/개발도구 사용의 경험부족으로 발생
- 기타 오류
: 문서나 코딩 표준에 따르지 않는 경우
: 미흡한 테스트 프로세스
: 기반환경(infrastructure)의 복잡성
: 기술이나 시스템의 변경
: 수많은 시스템 상호간의 연동
3. 테스트와 품질
▶ 테스팅을 통해 발견된 결함에 근거하여 기능/비기능적 요구사항과 품질특성 관련 품질측정 가능
* 품질관리(quality management)
: 품질 측면에서 조직이 가야하는 방향을 제시, 제어하는 모든 활동을 포함
- 품질보증(quality assurance)
: 적절한 품질 수준을 달성했는지 확신을 얻기 위해 적절한 프로세스를 준수하도록 하는 것이 초점
: 결함의 근본 원인에 대한 이해를 바탕으로 비슷한 결함의 재발을 방지하기 위해 프로세스를 개선하는것
- 품질제어(quality control)
: 적합한 품질 수준을 달성하기 위한 여러 활동을 한다.
: 테스트 활동이 이에 포함될 수 있다.
- 테스트(testing)
: 전반적인 소프트웨어 개발, 유지보수 프로세스의 일부
: 올바르게 설계된 테스팅은 시스템의 전반적인 리스크 수준을 감소시킨다.
'IT Trend > CSTS AL & ISO 29119' 카테고리의 다른 글
[CSTS AL] 3. 테스트 방법 - 소프트웨어 개발모델과 테스팅 (0) | 2019.04.11 |
---|---|
[ISO 29119] 2. 표준소개 (0) | 2019.04.04 |
[ISO 29119] 1. 시험준비 (0) | 2019.02.22 |
[CSTS AL] 1. 시험준비 (0) | 2019.02.15 |