테스트
일반적으로 작업이 끝난 후, 처음에 요구된 것과 현재 상태의 차이를 발견하기 위해 수행하는 활동이다. 즉, 제품이 만들어지고 난 뒤 요구된 기능들이 제대로 작동하는지 확인하는 활동도 일종이라고 할 수 있다.
리뷰
1. 코드를 포함하여 소프트웨어 개발 및 테스트 산출물을 검토하고 테스팅하는 방법
2. 동적 테스팅을 실행하기 전에 적절하게 수행할 수 있다.
3. 동적 테스팅에서 발견하기 어려운 개발 산출물의 누락과 같은 결함을 발견할 수 있다.
4. 정적 기법은 동적 테스팅과는 달리 장애 자체 보다는 장애의 원인을 발견한다.
소프트웨어 결함
1. 코드에 존재하는 결함은 장애의 원인이 된다.
2. 이때 시스템은 의도된 대로 동작하지 않거나, 동작하지 말아야함에도 동작한다.
3. 소프트웨어, 시스템, 문서의 결함은 장애의 원인이 되지만, 모든 결함이 장애를 일으키는 것은 아니다.
4. 장애는 이와 같은 결함에 의해서 뿐만 아니라 환경적인 조건에 의해서도 발생한다.
V-모델
요구사항 정의 및 분석, 시스템 설계, 구현, 테스팅이라는 일련의 단계를 통해 소프트웨어를 개발하는 개발 모델에 근간을 두고 있으며 이에 해당하는 모델은 폭포수 모델이다.
전통적인 테스트 개념
응용 프로그램 또는 시스템의 정상 작동 여부를 확인하기 위한 테스트 개념
검증
소프트웨어가 특정 기능을 올바르게 구현하였는지를 보장하는 일련의 작업을 의미하는 것
소프트웨어 테스팅의 기본원칙
검증과확인, 테스팅원리, 테스팅 용이성
화이트박스 기법의 검사종류
기초경로검사, 조건검사, 루프검사
테스팅의 원리
1. 테스팅은 결함이 존재함을 밝히는 활동이다.
2. 테스팅은 개발 초기에 시작한다.
3. 결함집중은 적은 수의 모듈에서 대다수의 결함이 발견되는 것을 말한다.
화이트박스 기법
컴포넌트 또는 소프트웨어의 구조를 중심으로
테스트 케이스를 도출하고 선택하는 방법
테스팅의 목표
오류를 발견하는 것
훌륭한 테스트
오류를 발견할 확률이 높은 것
개발자는 "테스트 용이성"을 염두하여 컴퓨터 기반 시스템이나 제품을 설계하고 개발하여야한다.
테스트 가능한 소프트웨어의 특징
운용성, 관찰가능성, 제어가능성
정적 테스팅의 개념
실제 시스템이 구현되기 전에 요구사항 정의서, 설계서, 소스코드 등의 개발 산출물을 테스팅하는 것을 의미.
개발 프로세스의 초기 결함을 발견함으로써 전체 개발 수명 주기의 효율을 높여 개발 비용을 낮추는데 도움을 주는 테스팅 활동.
리뷰와 같은 수동적 기법과 정적 분석 자동화 도구를 활용한 방법이 있다.
기술적 리뷰
동료 검토라고도 하며, 동료와 기술 전문가가 참여하는, 결함 발견을 위한 문서화되고 정의된 프로세스가 존재하며, 기술적 문제해결, 토론, 의사 결정, 대안평가, 결함 발견, 명세서 또는 표준과의 적합성 검토 등을 목적
기술적 리뷰의 특징
지식전달, 결함 조기 발견 및 제거, 재작업 및 테스트 노력감소
등가분할 기법
입력값/출력값 영역을 유한개의 상호 독립적인 집합으로 나누어 수학적인 집합을 만든 후 집합의 원소 중 대푯값을 선택하여 테스트 케이스를 도출하는 방법
리뷰의 유형
비공식적 리뷰, 기술적 리뷰, 워크스루
통합 테스트 수행 방법
하향식 통합, 상향식 통합 ,회기 테스팅
블랙박스 기법의 검사종류
경곗값 분할, 동등분할, 비교검사
NCS공부/개발자 테스트
[NCS] 개발자 테스트
728x90
728x90