본문 바로가기
반응형

개발자도 알아야 할 소프트웨어 테스팅6

7. 테스트 지원 도구 1. 테스트 도구의 종류 테스트 도구는 반복적인 테스팅 작업을 자동화함으로써 테스팅 활동의 효율성을 높이는데 도움을 준다. 또한, 테스트 도구는 대용량의 데이터를 비교하거나 동작을 시뮬레이션하는 것을 자동화함으로써 신뢰성을 높이기도 한다. 어떤 종류의 도구는 도구 자체가 테스트의 실제 결과에 영향을 미친다는 측면에서 침입적이라고 할 수 있다. (서로 다른 종류의 성능 테스트 도구로 어떻게 측정하느냐에 따라) 이러한 침입적 도구를 사용하여 달라진 결과를 탐사 효과(Probe effect)라고 부른다. 테스트 관리 지원 도구 테스팅 전반과 테스트 프로세스를 관리를 지원해주는 도구로서 테스트 계획, 설계, 실행, 리포팅, 테스트 프로세스 개선 등의 활동의 지원한다. 테스트 관리 도구(Test managemen.. 2020. 12. 16.
6. 테스트 관리 1. 테스트 조직(Test organiztion) 테스트 조직과 독립성 테스트 조직의 독립성 수준은 해당 조직의 테스트 요구사항과 테스트 대상 제품의 특성, 요구되는 품질 수준, 프로젝트 조직 구조 등을 고려하여 적절하게 조정하여야 한다. 독립성의 장점 : 결함을 보는 시각, 결함 발견 방법이 개발자와 달라 상대적으로 객관적이다. 개발 단계에서 작성된 명세와 구현 산출물을 객관적으로 검증할 수 있다. 테스트 전문가로서 결함을 효과적이고 효율적으로 찾아내는 전략적 접근이 가능하다. 테스팅 프로세스 평가를 통해 테스팅을 개선할 수 있다. 독립성의 단점 : 독립성 수준이 강할수록 개발 및 제품 관련 정보로부터 고립될 가능성이 높다. 독립적 테스트를 마지막 체크포인트로 활용한다면, 프로젝트의 병목으로 작용할 수.. 2020. 12. 11.
4. 테스트 설계 기법 1. 테스트 설계 및 구현 프로세스테스트 조건(Text condition)을 식별하기 위해 테스트 베이시스(Test basis)를 분석한다. 테스트 조건은 하나 이상의 테스트 케이스로 확인 가능한 항목 또는 이벤트이다. 테스트 조건의 예로는 기능, 트랜잭션, 품질 특성 또는 구조적 요소 등이 있다.테스트 조건과 명세 및 요구사항 사이에 추적성을 유지함으로써, 요구사항이 변경되었을때의 영향도 분석과 테스팅에 의한 요구사항 커버리지를 확인할 수 있게 한다.테스트 설계과정에서 설계기법을 이용하여 테스트 케이스와 테스트 데이터를 설계하고 명세화한다.테스트 케이스 구성 요소 : ID, 테스트 케이스명, 사전 조건, 테스트 수행절차, 기대결과, 결과, 추적성, 중요도, 비고테스트 설계 및 구현 단계에서 테스트 케이.. 2020. 11. 26.
3. 정적 기법 1. 정적 기법과 테스트 프로세스정적 기법은 소프트웨어를 실행하지 않고 테스팅하는 기법으로 리뷰와 같은 수동적 기법과 정적 분석 자동화 도구를 활용한 정적 분석이 있다.리뷰는 코드를 포함하여 소프트웨어 개발 및 테스트 산출물을 검토하고 테스팅 하는 방법이며, 동적 테스팅을 실행하기 전에 적절하게 수행할 수 있다. 리뷰는 동적 테스팅에서 발견하기 어려운 개발 산출물의 누락과 같은 결함을 발견할 수 있다. 리뷰의 이점 :- 조기 결함 발견 및 수정- 개발 생산성 향상- 개발 기간 단축- 테스팅 비용 감소 및 시간 단축- 개발 수명주기 전체에 걸친 비용 감소- 결함 감소(품질 향상)- 커뮤니케이션 향상정적 기법은 동적 테스팅과는 달리 장애 자체보다는 장애의 원인(결함)을 발견한다.개발 산출물을 테스트하는 정적.. 2020. 11. 19.
2. 소프트웨어 수명주기와 테스팅 1. 소프트웨어 개발 모델 V - 모델 (순차적 개발 모델) v-모델은 요구사항 정의 및 분석, 시스템 설계, 구현, 테스팅이라는 일련의 단계(과정)를 통해 소프트웨어(시스템)를 개발하는 폭포수 개발 모델에 근간을 두고 있다. 여기서 테스팅은 한 번에 이루어지는 것이 아니라 각각의 개발 단계에 대응하는 테스트 레벨이 별도로 존재하여 v모양을 이룬다. 일반적 유형의 v-모델에서는 4단계의 테스트 레벨을 제시하고 있고, 이들은 개발 단계의 요구사항 분석, 논리 설계, 물리 설계, 프로그램 코딩의 4단계의 개발 활동과 대응된다.(반드시 일대일 대응은 아님) V-모델에서 제시하는 테스트 레벨 : 컴포넌트(단위) 테스팅, 통합 테스팅, 시스템 테스팅, 인수 테스팅 테스트 레벨의 의미 - 테스트 레벨이 중요한 이유.. 2020. 11. 16.
1. 소프트웨어 테스팅의 기초 1. 소프트웨어 테스팅 소프트웨어 시스템 관점에서 테스팅의 필요성 소프트웨어 시스템은 생활의 많은 부분에서 사용되고 있으며 비중은 계속해서 증가하고 있다. 소프트웨어가 올바르게 동작하지 않는 경우 다양한 문제가 발생한다. 이로 인한 피해는 금전적 손실, 시간 낭비, 비즈니스 이미지 손상 등 다양함. 테스팅은 이러한 문제를 최소화하기 위해 반드시 필요하다. 소프트웨어 결함원인 결함은 사람이 오류를 범하기 쉽기 때문에 발생하며, 시간적인 압박, 복잡한 코드, 기반 환경의 복잡성, 기술이나 시스템의 변경, 그리고 수많은 시스템 상호 간의 연동 등의 이유로 발생한다. 장애는 이와 같은 결함에 의해서뿐만 아니라 환경적인 조건에 의해서도 발생한다. [결함 / 오류 / 장애의 차이점] 오류(Error) : 결함이 되.. 2020. 11. 15.
반응형