2011년 6월 2일 목요일

소프트웨어 테스트 단계

PLT 17 소프트웨어 테스트 단계
테스트 정의
  • 노출되지 않은 숨어있는 결함을 찾기 위해 소프트웨어를 작동시키는 일련의 행위와 절차
  • 오류 발견을 목적으로 프로그램을 실행하여 품질을 평가하는 과정


테스트 목표
  • 프로그램에 잠재된 오류의 발견
  • 기술적인 기능 및 성능의 확인
  • 사용자 요구만족도, 제품신뢰도 향상


테스트의 특징
  • 성공적인 테스트는 무결점이 아닌 결함을 찾는데 있다.
  • 테스트 케이스 선정, 테스트 계획 수립에 영향을 받는다.
  • 개발자가 단위테스트를 제외하고는 직접 테스트하지 않음


소프트웨어 테스트 단계

단위 테스트
- 설계의 최소단위인 모듈을 테스트함
- 화이트 박스 기법 이용
테스트 유형
내용
인터페이스
다른 모듈과의 Data Interface에 대하여 Test
자료구조
모듈 내부의 자료구조상의 오류 Test
수행경로
구조 및 루프 등 논리 경로 Test
오류처리
각종 오류의 적절한 처리여부 Test
경계
오류가 발생하기 쉬운 경계 값으로 Test(0, null 등)


통합테스트
모듈들을 체계적으로 조합시킬 목적으로 모듈간의 인터페이스와 관련된 결함들을 Test에 의해 발견하고 제거하는 작업

하향식(Top-Down)
- 상위 모듈을 하위 모듈보다 먼저 Test
- 중요 모듈을 가능한 먼저 Test
- Stub(dummy) 모듈 사용
- 메뉴방식 소프트웨어 개발에 적용
- 회귀 Test : 수정에 의해 새로운 결함 발생의 가능성에 대비하여, 이미 실시했던 Test 사례들의 전부 혹은 일부를 재시도
- 테스트 사례가 풍부하다.
- stub module 구현에 어려움이 있다.

상향식(Bottom-Up)
- 하위 계층 모듈을 상위계층모듈보다 먼저 Test
- 입출력 관련된 모듈을 먼저 Test
- Test Driven 작성 필요
- 소프트웨어 계층 구조의 최하위부터 점진적으로 모듈들을 통합시켜 나가는 방식
- 대규모 시스템에 적용
- 모듈의 신뢰성 향상 가능
- 최종 결과 산출물을 만들기가 곤란하다.

샌드위치 형
- 하향식과 상향식 통합 방식을 절충한 방식
- 우선적으로 통합을 시도할 중요 모듈들의 선정 후, 그 모듈을 중심을 통합 수행

시스템 테스트
사용자의 신뢰성을 확보하기 위하여 컴퓨터, 네트워크 등 제반 사항에 관계된 테스트
회복
- 소프트웨어가 다양한 방법으로 실패하도록 유도하고 회복이 적절하게 수행되는지 검증
- 운영체제, DBMS, 통신용 소프트웨어의 안정성 Test에 적용
안전
- 시스템 내의 보호 기능이 불법적인 침투로부터 시스템을 보호하는지에 대한 검증
- 해커등의 불법적 침입자로부터 시스템 보호 목적
강도
- 비정상적인 값, 양, 빈도의 자원 입력에 대한 정상 수행 상태를 검증
- 소프트웨어 스트레스 테스트
성능
- 통합 시스템의 전후 관계에서 소프트웨어 실행시간 검증
- 소프트웨어의 효율성을 진단하는 테스트
- 자원이용, 처리시간, 요구에 대한 응답 반응 등 테스트

인수 테스트
사용자 관점에서 소프트웨어가 고객의 합리적인 기대에 부응하는지 여부 테스트

알파 : 특정 사용자들에 의해 개발자 관점에서 수행되며 개발자는 사용상의 문제점을 파악하고 이를 반영한다.

베타 : 선정된 다수의 사용자들이 자신들의 사용환경에서 일정기간 사용해보면서 문제점이나 개선사항 등을 기록하고 개발조직에게 통보하여 반영되도록 하는 테스트

설치 테스트
소프트웨어를 사용자환경에서 설치하는 과정에서 발생할 수 있는 결함을 발견할 목적으로 수행하는 테스트

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...