본문 바로가기
Programming/정보처리기사

정보처리기사 테스트 기법

by 하하호호 2022. 2. 2.
반응형

 

 

 

아무리 많은 오류를 제거한다 하더라도, 사용자의 사용 편의성을 증대시키지 못하면 좋은 프로그램이라고 할 수 없다. 테스트를 주기적으로 수행한 후 어디서 결함이 발생되었으닌, 추적하고 결함을 관리해야 하는 것도 프로그래머의 역할이다. 최종적으로는 어떻게 프로그램의 결함을 개선했는지 리포트를 뽑아야 한다.

 

테스트기법

1) 실행 기반 테스트

정적 테스트

  • 프로그램을 실행하지 않고 요구사항 명세서, 소스 코드를 대상으로 분석한다.
  • 개발 초기에 결함을 발견하고 테스트 비용을 낮출 수 있다
  • 워크스루, 동료검토, 인스펙션이 있다.
    - 워크스루 : 검토 회의 전에 미리 준비된 자료를 배포, 사전 검토를 진행, 검토 회의를 빠르게 진행하여 오류를 조기에 발견한다
    - 동료검토 : 요구사항 명세서 작성자가 동료들에게 내용을 설명하면서 결함 발견
    - 인스펙션 : 요구사항 명세서 작성자를 제외한 다른 전문가들이 명세서를 검토하여 결함, 표준위배, 문제점 등을 파악한다

동적 테스트

  • 프로그램을 실행하여 결함을 찾는 테스트
  • 소프트웨어 개발 생명 주기 전 단계에서 수행한다
  • 블랙박스 테스트와 화이트박스 테스트가 있다
    - 블랙박스 테스트 : 프로그램의 기능, 결과를 위주로 테스트
    - 화이트박스 테스트 : 프로그램의 구조, 경로 등을 위주로 테스트

2) 설계 기반 테스트
명세 기반 테스트

  • 사용자 요구사항에 대한 명세를 빠짐없이 테스트 케이스로 만들어 구현 여부를 확인하는 테스트 방식이다
  • 동등 분할, 경계 값 분석 등

구조 기반 테스트

  • 소프트웨어 내부의 논리 흐름에 따라 테스트 케이스를 만들어 확인하는 테스트방식이다
  • 구문 기반, 결정 기반, 조건 기반 등이 있다.

경험 기반 테스트

  • 유사 소프트웨어나 기술 등에 대한 테스터의 경험을 기반으로 수행되는 테스트다
  • 요구사항 명세가 불충분하거나 시간 제약이 있는 경우 효과적이다
  • 에러추정, 체크리스트, 탐색적 테스팅 등등

3) 시간 기반 테스트

ⓐ 검증 테스트 : 개발자의 입장에서 진행되며, 소프트웨어 의 완성도를 테스트한다.

ⓑ 확인 테스트 : 사용자의 입장에서 진행되며, 요구사항 구현도를 테스트한다.

 

4) 목적 기반 테스트

① 회복 테스트 : 시스템에 여러가지 결함을 주어 실패하도록 한 후 올바르게 복구되는지를 확인하는 테스트

② 안전 테스트 : 시스템에 설치된 시스템 보호 도구가 불법적인 침입으로부터 시스템을 보호할 수 있는지를 확인하는 테스트

③ 강도 테스트 : 시스템에 과도한 정보량이나 빈도 등을 부과하여 과부화 시에도 스트웨어가 정상적으로 실행되는지를 확인한다

④ 성능 테스트 : 소프트웨어의 시간 성능이나 전체적인 효율성을 진단하는 테스트, 소프트웨어의응답시간, 처리량 테스트

⑤ 구조 테스트 : 소프트웨어 내부의 논리적인 경로, 소스 코드의 복잡도 등을 평가하는 테스트

⑥회귀 테스트 : 소프트웨어의 변경 또는 수정된 코드에 새로운 결함이 없음을 확인하는 테스트

⑦병행 테스트 : 변경된 소프트웨어와 기존 소프트웨어에 동일한 데이터를 입력하여 결과를 비교하는 테스트

 

 

 

결함의 종류

1) 오류(Error) : 결함의 원인이 되는 요소를 의미한다. 주로 사람(개발자)에 의해 생성되는 인지적인 실수다

2) 결함(Defect) : 오류가 소프트웨어에 나타나는 것을 의미, 결점과 버그도 같은 의미를 가진다

3) 장애(Failure) : 결함으로 인해 소프트웨어 및 서비스가 기대 결과를 나타내지 못하는 것이다. 오류로 인해 결함이 생기면, 소프트웨어에 장애가 발생한다.

 

반응형

댓글