본문 바로가기

분류 전체보기

(357)
9. 구조 기반 테스트 구조 기반 테스트는 프로그램 제어 흐름이나 자료 흐름 정보를 이용하여 테스트 케이스를 설계하는 방법 구조적 테스트, 화이트박스 테스트, 글래스 박스 테스트라고도 함 제어 흐름 그래프 프로그램 구조를 효과적으로 나타내는 수단 제어 흐름 그래프 요소 기본 블록 : 단일 진입점, 단일 진출점을 가진 일련의 연속적인 실행 가능한 문장들의 집합 제어 흐름 : 기본 블록 간의 실행 순서를 나타냄 구조 기반 테스트의 이해 가장 이상적인 구조 기반 테스트는 프로그램의 모든 경로를 최소 한 번 실행하여 테스트하는 것 일부 경로만 테스트하는 방법 사용 대표적인 기본 경로 테스트 : 문장 테스트, 분기 테스트, 조건 테스트, 다중 조건 테스트, MCDC 및 자료 흐름 테스트 문장 테스트 프로그램의 모든 문장을 최소 한 번은..
8. 정적 테스트 정적 테스트는 리뷰라고 하고 관리리뷰, 기술 리뷰, 인스펙션, 워크쓰루, 감사로 분류 리뷰는 여러 전문가가 모여 프로그램을 검토하여 결함을 검출하는 방법 TomGilb, 리뷰를 이용하면 결함을 발견하고 제거하는 평균 비용울 60~80% 감소할 수 있다. 리뷰테스트 리뷰 프로세스 경영진 준비 : 필요한 자원 제공, 법규 표준 관련 정책의 요구에 따른 리뷰 수행 보장 리뷰 계획 : 리뷰 리더가 목적을 파악해서 팀을 구성하고 책임 할당, 자료 제공, 일정 결정, 공지 리뷰 절차 개요 설명 : 리더의 요청이 있을 때 수행, 목적과 절차 설명. 리더가 할 필요 없음. 작업물 개요 설명 : 리더의 요청이 있을 때 수행, 리뷰 참가자가 작업물을 더 친숙하게 느끼고 이해도를 높이기 위함 개별 준비 : 멤버들이 개별적으..
7. 테스트 자동화 도구 분류 자원 업무 도구 종류 설명 테스트 관리 테스트 관리 도구, 요구사항 관리, 인시던트 관리(이슈 추적), 형상 관리 테스트 계획, 노력 추정, 테스트 일정 관련 작업 수행 테스트 진행과 보고 테스트 문서 관리 요구사항과 테스트 케이스 추적성 관리 이슈 등록 및 추적 변경 관리 및 통제 정적 테스트 리뷰 프로세스 지원 도구, 정적 분석 도구, 모델링 도구 표준 코딩 규칙 검사 복잡도 검사 자료 흐름 검사 동적 테스트 테스트 설계 도구, 테스트 데이터 준비 도구 모델이나 소스코드에서 테스트 케이스 생성 테스트 실행에 필요한 데이터 자동 생성 테스트 실행 및 로깅 테스트 실행 도구, 보안 도구, 테스트 하네스/단위 테스트 프레임워크, 테스트 비교기, 커버리지 측정 도구 테스트 케이스 실행 모의 객체 ..
6. 소프트웨어 생명 주기 모델과 테스트 순차적 개발 모델 대표적으로 폭포수 모델과 V-모델이 있음 폭포수 모델 모든 소프트웨어 생명 주기 모델 중 가장 오래된 전통적인 모형 요구사항 변경이 개발 도중 빈번하게 이루어지지 않는 경우 적합한 개발 모형 문서와 정보가 많이 산출되어 테스트 작업에 필요한 정보를 얻기 좋음 테스트를 한 단계로만 생각해서 초기에 결함을 발견할 수 있는 일이 없음 - 나중에 시간과 비용이 많이 듦 요구사항 분석 : 요구사항을 수집하고 이해, 명세화. 산출물로는 요구사항 명세가 있음 구조 설계 단계 : 소프트웨어의 전체적인 구조를 결정하는 단계. 시스템의 전체적인 아키텍처를 보여주는 설계 명세 상세 설계 단계 : 각 모듈의 알고리즘 세부사항, 구체적인 데이터 표현, 루틴과 데이터 간의 인터페이스 결정. 주요 산출물은 모듈 ..
5. 위험 기반 테스트 위험 분석 위험 요소 식별 위험 분석 기반 테스트 수행 시 우선 기능 및 비기능적 모든 요소(피처)를 나열함 나열된 피처는 이후에 수행되는 위험 분석의 대상이 되고 위험 분석 결과에 따라 테스트 계획 수립 피처는 요구사항 명세서를 바탕으로 구할 수 있음 요구사항 명세서가 완전하지 못해서 누락될 가능성이 있다면 품질 모델을 바탕으로 하여 적극적으로 테스트할 피처를 찾을 수 있음 시스템 유형에 따라 강조되는 품질 요소가 다를 수 있음 위험도 산정 도출된 피처 후보 중 무엇을 테스트 대상에 포함할지에 대한 결정과 효과적인 테스트 전략의 결정을 위해 위험도 산정 각 피처 후보의 위험도 산정은 발생 가능성, 심각성, 긴급성을 바탕으로 수행 각 산정 항목마다 3가지 및 5가지 등급으로 세분화될 수 있음 장애 발생 ..
4. 품질 특성과 비기능 테스트 기능 적합성 : 제품 또는 시스템이 명시적 또는 묵시적 요구를 충족시키는 기능을 제공하는 정도 기능 완전성 : 기능 집합이 모든 명시된 요구사항을 포괄하는 정도 기능 정확성 : 시스템이 정의된 정밀도로 정확한 결과를 제공하는 정도 기능 적절성 : 기능이 목적 달성에 도움을 주는 정도 성능 효율성 : 명시된 조건 하에서 사용된 자원의 양에 대한 성능의 정도 시간 반응성 : 기능 수행 시 시스템의 응답, 처리 시간 및 처리율이 요구사항을 충족시키는 정도 자원 효율성 : 기능 수행 시 시스템이 사용하는 자원이 요구 사항을 충족시키는 정도 수용성 : 시스템 매개 변수(동시 사용자, 통신 대역폭, 트랜잭션 처리량)의 최대 한계가 요구사항을 충족시키는 정도 호환성 : 제품, 시스템 또는 구성 요소가 다른 제품, 시..
3. 소프트웨어 개발 단계와 테스트 테스트 레벨에 따른 테스트 분류 테스트 설계 방식에 따른 분류 테스트 유형(품질 특성)에 따른 분류 테스트 레벨 컴포넌트/단위 테스트 : 각각의 컴포넌트를 테스트 통합 테스트 : 컴포넌트 간의 인터페이스를 테스트 시스템 테스트 : 전체 시스템이 목적을 만족시키는지 테스트 인수 테스트 : 사용자의 요구사항을 만족하는지 확인 테스트 설계 - 동적 테스트 명세 기반 테스트 : 명세를 바탕으로 테스트 케이스 생성 구조 기반 테스트 : 프로그램 코드 정보를 바탕으로 테스트 케이스 생성 경험 기반 테스트 : 테스터의 경험을 기반으로 테스트 케이스 생성 테스트 설계 - 정적 테스트 리뷰 : 산출물에 존재하는 결함을 검출하거나 프로젝트의 진행 상황을 점검 정적 분석 : 자동화된 도구를 이용하여 산출물의 결함을 검출하거..
2. 테스트 분류와 테스팅 방법 테스트 분류에서는 테스트 레벨(컴포넌트, 통합, 시스템, 인수), 테스트 유형(기능, 품질), 테스트 설계 기법을 기준으로 테스트 분류를 설명함 테스팅 방법에는 개발 생명 주기, 프로젝트 단계 등 프로젝트의 상황을 고려하여 현실적으로 적용할 수 있는 테스트 방법을 설명 테스트 분류 테스트 레벨은 컴포넌트 테스트, 통합 테스트, 시스템 테스트, 인수 테스트로 분류 테스트 유형은 기능 테스트, 성능 테스트, 신뢰성 테스트, 보안 테스트 등으로 분류 테스트 유형에서 기능 테스트를 제외한 성능 테스트, 신뢰성 테스트, 보안 테스트 등을 비기능 테스트라고 부름 테스트 레벨에 의한 분류 컴포넌트/단위 테스트 : 시스템을 구성하는 단위 모듈을 테스트 대상으로 해서 개별 단위 모듈을 독립적으로 테스트 통합 테스트 : ..