소프트웨어 개발 - 어플리케이션 테스트 관리
정보처리기사
![]()
어플리케이션 테스트
확인(validation):사용자 입장에서 요구사항이 충족되었는지 확인하는 것검증(verification):개발자 입장에서 설계/코딩이 제대로 되었는지 확인하는 것
테스트 기법
- 정적 테스트
- 동적 테스트:
화이트 박스: 모든 로직을 테스트기초 경로 검사제어 구조 검사- 조건, 루프, 데이터(변수) 흐름 검사
블랙 박스: 기능이 작동하는 것을 입증동치 분할 검사: 타당한 입력, 타당하지 않은 입력 균등하게 테스트경계값 분석원인-효과 그래프 검사: 효용성 높은 테스트 케이스 선정하여 검사오류 예측 검사:경험 기반오류 케이스 테스트
개발 단계에 따른 어플리케이션 테스트
- 통합 테스트
하향식:stub사용상향식:driver사용
- 인수 테스트:
알파 테스트: 개발사에서 실제 사용자 환경과 유사한 환경에서 테스트베타 테스트: 다수의 실제 사용자가 실제 환경에서 테스트
테스트 오라클
- 테스트 결과가 올바른지 판단하기 위해 사전에 정의된 참 값을 대입하여 비교하는 기법
참 오라클:모든테이스 케이스의 기댓값을 제공샘플링 오라클:몇몇케이스의 기댓값을 제공추정 오라클:몇몇케이스의 기댓값 제공.나머지는 추정일관성 검사 오라클: 어플리케이션 변경 시변경 전 후의 결과값 비교
복잡도
- 순환 복잡도(cyclomatic): E - N + 2
인터페이스 구현 검증 도구
XUnit: Unit 테스트STAF: 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원FitNesse: 웹 기반 테스트 결과 확인 도구NTAF: FitNesse + STAFwatir: ruby 기반 테스트 프레임 워크