본문 바로가기

CSTS

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