Thief of Wealth
Published 2020. 9. 15. 11:14
2. testing 기초 개발/QA

- sw 오류란 무엇인가?

1. sw가 요구사항에서 명시된 일을 수행하고 있지 않다.

2. sw가 요구사항에서 동작하지 않도록 명시된 일을 수행하고 있다.

3. sw가 요구사항에서 언급하지 않은 일을 수행하고 있다.

4. sw가 요구사항에서 언급하고 있지는 않지만 해야 하는 일을 수행하고 있지 않다.

5. sw가 테스터의 관점에서 이해하기 어렵고, 사용하기 힘들고, 느리다면 사용자에게 직관적으로 편리하게 보이지 않을 것이다.

 

- sw 오류가 발생하는 이유

1. 인간이 범하기 쉬운 실수

2. 수많은 시스템 상호간의 연동

3. 시간적인 압박

4. 기반환경의 복잡성

5. 복잡한 코드

6. 기술 또는 시스템의 변경

 

- 테스트의 목적

1. 명세 충족을 확인

2. 결함을 발견

3. 사용자의 명세 및 비즈니스의 요구 충족 확인

4. 결함 예방

 

- 상세한 테스트의 목적

1. 품질 수준에 대한 확신 획득과 정보를 제공

2. 비즈니스 리스크를 감소시키는 정보에 근거한 조언 제공

3. 발견된 결함 기반의 수치적 데이터 활용

4 .개발 프로세스 점검, 이슈 제기

5. 논리적 설계의 구현 검증

6. 시스템과 소프트웨어가 적절히 동작함을 확인

 

- 테스트의 정의

: 응용 프로그램 또는 시스템의 동작과 성능, 안정성이 요구하는 수준을 만족하는지 확인하기 위해 결함을 발견하는 매커니즘

 

- 전통적인 테스팅

: 응용 프로그램 또는 시스템의 잘 작동하는지 확인

- 현재의 테스팅

: 사용자의 기대 수준과 요구사항에 맞게 구현되고 동작하는지 확인하고 이를 통해 결함을 발견, 최종적으로 결함 데이터를 근간으로 

개발 프로젝트의 리스크에 대한 수치적인 판단, 근거를 의사결정권자에게 전달

 

- Verification vs Validation

Verification

: 개발단계의 산출물이 초기에 설정된 조건을 만족하는지 평가하는 프로세스

: 사람에 의한 테스트

: 인스펙션, 워크쓰루, 동료검토

 

Validation

: 명시된 요구사항들을 만족하는지 여부를 확인하기 위한 프로세스

: 컴퓨터기반 테스팅 (동적테스팅)

: 단위, 통합, 시스템, 인수 테스팅...

 

 

- 단위 테스팅

: 하나의 소프트웨어 모듈이 기능을 수행하는지 여부테스트

: 주로 화이트박스테스트

: 다른 부분과의 연계성은 고려안하고 격리해서 테스트

 

- 통합 테스팅

: 시스템이나 구성요소 등의 인터페이스가 정상적으로 작동하는지에 중점을 두고 수행하는 테스트

: 모듈간 인터페이스를 위주로 테스트

 

- 시스템 테스트

: 실 사용환경과 동일한 모의 시스템을 구성

: 시스템 성능과 관련된 고객의 요구사항이 수행되는지 테스트

: 단위/통합 테스트가 완료되어서 기능상 문제가 없어야한다.

 

- 인수 테스트

: 계약상의 요구 사항이 만족되었는지 확인하기 위해서 시스템 또는 기능 단위를 공식테스트

: 고객이 개발된 시스템을 인수할 것인지 결정

 

 

 

- 테스트 계획이란

: 테스트 목적과 임무를 만족시키기 위해서 테스팅의 임무를 검증하고 테스팅의 목적과 테스트 활동들의 명세를 정의하는 활동

: 테스팅의 범위와 위험 결정 및 목표 정의

 

- 테스트 통제란

: 실제 진행 상황과 계획을 비교하고 , 계획의 오차를 표시하는것

 

- 테스트 분석, 설계 활동이란

: 추상적인 테스팅 목적을 테스트 조건과 테스트 설계로 변환하는 활동

 

- 테스트 구현과 실행

 

 - 테스트 실행 완료 활동

 

- 리포팅 활동

 

- 테스트 종료활동

: 완료된 테스트 활동에서 데이터를 수집하고 테스트 경험과 테스트웨어를 종합적으로 축적하는 활동

: 테스트가 얼마나 체계적으로 수행되었는지 평가하고 향후 테스팅을 개선하는 활동

 

 

 

- 정적 테스팅

: 코드리뷰, 인스펙션, 워크스루

: Verification 영역

: 코딩에 문법적에러가 없는지 등

 

=> 코드리뷰

: 동료검토라고도하고, 초기단계에서 소스코드의 오류 또는 결함을 찾고 수정하기 위한 계획적인 검사.

: 메모리 누수, 버퍼오버플로우, 형식 검사

 

=> 인스펙션

: 특정 코드 또는 산출물의 결함을 발견하기 위해서 훈련된 팀원이 잘 정의된 프로세스를 가지고 수행하는 일종의 공식적인 동료검토

: Author: 리뷰 대상 산출물 작성자

: Moderator: 리뷰 미팅을 계획하고 리딩

: Reader: 검토하고 다른 부분의 결함을 지적

: Recorder: 인스펙션 미팅에서 발견된 결함을 기록

 

=> 워크스루

: 설계자 또는 개발자가 주도하여 개발팀원을 모아놓고 수행하는 공식적인 동료검토활동으로 팀원들이 질문을 통해서 표준 위반 또는 결함을 발견하고 코멘트 하는 형태

: 주로 설계단계에서 다른 팀원들의 아이디어를 얻고 좀더 나은 품질을 향상시키기 위한 목적

 

 

'개발 > QA' 카테고리의 다른 글

4. White box testing  (0) 2020.09.15
3. BlackBox Testing  (0) 2020.09.15
1. SW는 무엇이고 testing이란 무엇인가  (0) 2020.09.14
칸반과 스크럼이란?  (0) 2020.09.12
디버깅과 테스팅의 차이  (0) 2020.09.11
profile on loading

Loading...