목록csts (10)
나랑 now
3월 16일 시험을 응시했고 합격 기준이 75점인 걸 감안하면 간신히 턱걸이 합격이지만 시험 난이도는 어렵지 않은 수준. 발표가 빨리 난다고들 하던데 영업시간 시작인 09시에 바로 날 줄은 몰랐다. 생각보다 점수가 낮지만 들인 공수 대비 시험은 쉬운 수준이라 좀 놀랐다. 우선 시험 준비하는 데 사용한 교재는 "소프트웨어 테스트 전문가(CSTS) 가이드"(https://product.kyobobook.co.kr/detail/S000001732437) 그런데 자격증 시험을 본 게 너무 오랜만이라서 공부에 감이 안잡히고 뭐가 뭔지 모를 때 참고한 유튜브 영상이 있다. https://www.youtube.com/playlist?list=PLG40fo_JIjTCTCsZvFepKX1M0WFVx7PvD Introdu..
구조 기반 테스트(Structure-based test): 프로그램 제어 흐름이나 자료 흐름 정보를 이용하여 테스트 케이스를 설계하는 방법 구조적 테스트, 화이트박스 테스트, 글래스 박스 테스트라고도 함 제어 흐름 그래프 프로그램 구조를 흐름 그래프(flow-chart)로 나타냄 기본 블록: 단일 진입점과 단일 진출점을 가진 연속적인 실행 가능한 문제들의 집합 제어 흐름 그래프의 노드가 되며 박스로 표시 제어 흐름: 기본 블록 간의 실행 순서 화살표로 표시 구조 기반 테스트의 이해 이상적인 구조 기반 테스트는 프로그램의 모든 경로를 최소한 한 번씩 실행하여 테스트하는 것이겠지만, 물리적, 현실적 문제로 인해 구조 기반 테스트는 일부 경로만 테스트 문장 테스트, 분기 테스트, 조건 테스트, 다중 조건 테스..
소프트웨어 테스트 방법은 동적 테스트(프로그램 실행 필요)와 정적 테스트(프로그램 실행 불필요)로 분류 정적 테스트를 리뷰(Review)라고 하며 5종류로 분류(IEEE 1028-2008) 관리 리뷰(Management revie) 기술 리뷰(Technical review) 인스펙션(Inspection) 워크쓰루(Walk-through) 감사(Audit) 리뷰: 여러 전문가가 모여 프로그램을 검토하여 결함을 검출하는 방법 리뷰 대상 작업물은 프로그램 뿐만 아니라 소프트웨어 개발 중 생성되는 모든 산출물(요구사항 명세서, 설계 명세서, 테스트 계획서 등) 문서 방법에도 이용 가능. 테스트 대상으로 모든 산출물이 가능하다는 점은 결함 제거 비용 측면에서 큰 의미를 갖음. 리뷰 프로세스 경영진 준비(Manag..
테스트 자동화 분야 및 테스트 도구 완성도 높은 자동화 인프라는 테스트 케이스의 실행을 자동으로 하는 것을 핵심요소로 간주하는 것 뿐만이 아닌, 전체적인 테스트 활동의 전문성과 안전성에 관여 SEARCH 모델: 자동화 모델의 예, 각 단계의 자동화로 효율 증진과 실수 예방, 전문성과 일관성 유지 가능 셋업(Set up) 실행(Execution) 분석(Analysis) 보고(Report) 정리(Clean up) 도움말(Help) 테스트 설계 및 구현: 테스트 케이스 및 테스트 절차를 개발 테스트 환경 구축 및 관리: 테스트 환경 요구사항에 따라 테스트 환경을 구축하고 관리 테스트 실행: 테스트 절차를 실행하고 그 결과를 저장 결함 보고: 테스트 결과를 분석하여 결함이 식별되었을 때 이를 보고 테스트 설계 ..
소프트웨어 생명 주기: 소프트웨어를 개발하는 체계에 관한 추상적 표현 순차적 또는 병렬적인 일련의 단계로 구성 순차적 개발 모델 대표적으로 폭포수 모델과 V-모델이 있음 폭포수 모델 모든 소프트웨어 생명 주기 모형 중 가장 오래된 모형 소프트웨어 개발을 요구사항 분석에서 시작하여 설계, 코딩, 테스트, 유지보수 전 과정을 체계적이고 순차적으로 접근 사용자의 요구사항이 개발자에게 익숙한 경우나 요구사항 변경이 개발 도중에 빈번하게 이루어지지 않는 경우 적합 요구사항 분석: 개발하려는 소프트웨어에 대한 요구사항을 수집하고 문제를 이해 및 분석하여 명세화하는 단계 요구되는 기능, 성능 및 인터페이스를 이해하여 프로그램의 특성 파악 필요 주요 산출물: 요구사항 명세 구조 설계 단계: 소프트웨어의 전체적인 구조 ..
비용과 일정 등 주어진 자원 내에서 테스트를 수행하기 위해 테스트 대상을 결정하고 테스트 범위를 결정해야 함 이때, 테스트를 수행하지 않음으로써 발생할 위험을 고려하여 위험 수준이 낮은 것들은 테스트 대상에서 제외하면서도 테스트 제외에 따른 위험 수준이 높은 것은 테스트 대상에 포함되어야 함. 위험 분석 위험 요소 식별 테스트가 필요한 기능 및 비기능적 모든 피처들을 나열하여 위험 분석 이후 분석 결과에 따라서 테스트 계획 수립 요구사항 명세서에 적힌 시스템에 필요한 기능/비기능 요구사항들을 우선 피처로 사용 요구사항 명세서의 비완전성으로 인해 필요한 요구사항이 누락될 가능성이 있다면 품질 모델 바탕으로 피처를 찾음 시스템 유형에 따라 강조되는 품질 요소가 다를 수 있으며, 나열되는 피처 후보는 이후의 ..
ISO 25010 품질 모델 기능 적합성(Functional Suitability): 제품 또는 시스템이 명시적 또는 묵시적 요구를 충족하는 기능 제공 성능 효율성(Performance Efficiency): 명시적 조건하에서 사용된 자원의 양에 대한 성능 호환성(Compatibility): 다른 제품, 시스템 또는 구성요소와도 정보를 교환하거나 필요한 하드웨어/소프트웨어 환경을 공유하며 필요한 기능을 수행 가능 사용성(Usability): 특정한 사용자들이 주어진 사용 환경(특정 사용 컨텍스트)에서 특정 목적 달성 위한 제품 또는 시스템 사용시의 효율성, 효과성 및 만족도 신뢰성(Reliability): 특정 조건에서 특정 기간 동안 오동작 없이 요구되는 기능 수행 보안성(Security): 시스템의 ..
컴포넌트 테스트 컴포넌트(단위) 테스트는 개별적인 모듈(또는 컴포넌트)의 테스트를 의미 구현 단게에서 각 모듈을 구현한 후에 수행 개별적인 모듈에 대한 컴포넌트 테스트를 위해 모듈을 단독으로 실행시킬 수 있는 환경 필요 - 테스트베드(테스트 환경)의 주요 구성 요소로 테스트 드라이버와 테스트 스텁이 활용됨 각 컴포넌트의 테스트를 위해 컴포넌트의 입력값과 출력값의 전달을 위한 드라이버와 스텁을 구성함 위 예시에서 컴포넌트 2의 경우, 다른 컴포넌트를 호출하지 않으므로 스텁이 쓰이지 않음 모의 객체 생성 프레임워크 객체 지향 프로그램에서는 컴포넌트 테스트를 수행할 때 테스트되는 메소드가 다른 클래스의 객체에 의존해야 할 수 있음. 메소드를 고립화하여 테스트하는 것이 불가능하므로 절차 지향적 프로그래밍에서의 ..