테스트 자동화 도구 분류
정적 분석 도구
: 프로그램을 실행하지 않고 분석하는 도구/소스코드에 대한 코딩표준, 코딩스타일, 코드복잡 및 남은 결함등을 발견하기 위해 사용
테스트 실행도구
: 스크립트 언어를 사용하여 테스트를 실행하는 것으로, 테스트 데이터와 테스트 수행방법 등이 포함된 스크립트 작성한 후 시행
: 데이터 주도 접근방식과 키워드 주도 접근방식으로 나뉨
성능 테스트 도구
: 처리량, 응답시간, 경과시간, 자원 사용률등을 인위적으로 적용하여 가상의 사용자로 하여금 테스트를 수행함으로써 성능의 목표달성여부를 확인
테스트 통제 도구
: 테스트 계획 및 관리, 테스트 수행, 결함관리 등을 수행하는 도구
EX) 형상관리도구, 결함 추적관리 도구 등
테스트 하네스 도구
: 애플리케이션의 컴포넌트 및 모듈을 테스트하는 환경의 일부분으로 테스트를 지원하기 위해 생성된 코드와 데이터를 의미
: 테스트 실행될 환경을 시물레이션하여 컴포넌트 및 모듈이 정상적으로 테스트 되도록 함
예시
결함(Fault)개념
: 요구된 기능을 수행하는데 실패의 원인이 되는 우발적인 조건 즉, 오류발생, 작동실패 등과 같이 소프트웨어가 개발자가 설계한 것과 다르게 동작하거나 다른 결과가 발생되는것을 의미
결함 유형별 분류
시스템 결함
: 시스템 다운, 애플리케이션 작동 중지, 응답시간 지연, DB오류와 같이 애플리케이션 환경에서 발생
기능결함
: 사용자 요구사항이 제대로 반영되지 않았거나 스트립트 오류, 외부 시스템 연동 오류등과 같은 결함
GUI결함
: 데이터 타입 표시오류, 부정확한 커서, 메시지 오류등 화면 인터페이스 설계에서 발생
문서결함
: 사용자 온,오프라인 메뉴얼 불일치, 개발자, 사용자같의 의사소통 및 명세목록이 원활하지 않음으로써 발생
결함 관리 도구
: 결함을 체계적으로 관리할 수 있도록 도와주는 도구
EX) Mantis, tracm redmine, Bugzila
결함(Fault)관리 프로세스
프로세스의 순서와 해당 순서당 어떤 기능을 하는지 확인해두자.
결함(Fault)조치 우선순위
: 발견된 결함에 대해 어떤 결함을 먼저 처리할 것인가에 대한 척도를 의미
가중치
: 애플리케이션의 평가 항목이나 각 단위 업무가 차지하는 중요도를 의미
결함 심각도
: 단위 업무 프로세스에 발생한 결함이 전테 시스템에 미치는 영향의 수준을 의미하는 것으로 단위 업무의 가중치를 기반으로 환산하여 우선순위에 따라 "H", "M", "L"로 분류할 수 있다.
결함 조치 관리
: 결함이 발생한 코드에서 결함을 제거하고, 결함 조치로 변경된 코드의 버전과 이력을 관리하는 것을 의미
코드 인스펙션(Code inspection)
: 코드의 결함을 파악하고 결함을 제거하기 위해 개발 가이드의 준수 여부를 확인하는 것
: 코드 인스펙션을 적절히 수행할 경우 코드에 포함된 에러의 90%까지 찾아낼 수 있다.
: 프로젝트 수행 단게 전에 걸친 리소스의 절감고 그에따른 비용감소, 품질 향상을 기대할 수 있다.
: 다른 개발자가 기술 습득 및 차후 코딩 시 유념할 점 등을 학습할 수 있어 재공학(Re-Engineering)이 가능한 영역을 식별하는데 도움을 줄 수 있음
참고)
워크스루(WorkThrough)
: 시스템의 형태나 프로그램 개발 사항에 대해 개발 동료들로 하여금 조기에 오류를 확인 할 수 있도록 하는 검토회의
S/W 형상관리 (SCM: Software Configuration Management)
: S/W 생산물을 확인하고 S/W통제, 변경 상태를 기록하고 보관하는 일련의 작업을 의미한다.
: S/W 변경의 원인을 알아내고 제어하며, 적절히 변경되고 있는지 확인하여 해당 담당자에게 통보한다.
: S/W 개발의 전체 비용을 줄이고 개발과정ㅇ서의 여러 방해요인이 최소화 되도록 보증하는 것을 목적으로 함
문제 1
정답 : 워크스루(WorkThrough)
문제 2
정답 : 소프트웨어(S/W) 형상관리 또는 SCM(Software Configuration Management)