19 소프트웨어 시험 전략
1. 시스템 통합 시험
시스템 통합시험이란
모듈별 테스트가 끝난 후 이 모듈들을 통합시켜 놓았을 때, 원하는 결과가 나오는가를 확인하여 그 통합순서를 확정하여 프로그램구조로 바꾸는 것이다.
모듈별 테스트가 끝난 후 이 모듈들을 통합시켜 놓았을 때, 원하는 결과가 나오는가를 확인하여 그 통합순서를 확정하여 프로그램구조로 바꾸는 것이다.
시스템 통합시험의 목적
조기에 골격 코드 작성 가능토록
골격코드의 접속관계 확인
간단한 테스트 사례 표현
조기에 골격 코드 작성 가능토록
골격코드의 접속관계 확인
간단한 테스트 사례 표현
통합시험 방법
비 단계적통합
단계적 통합
하향식 통합방법
상향식 통합방법
비 단계적통합
단계적 통합
하향식 통합방법
상향식 통합방법
1.1 하향식 통합
오류가 초기에 발견되어야만 하는 경우에 좋은 방법
깊이우선(depth-first) 방법 : A,B,E,F,H,C,G,D 순서
넓이우선(breath-first) 방법 : A,B,C,D,E,F,G,H 순서
오류가 초기에 발견되어야만 하는 경우에 좋은 방법
깊이우선(depth-first) 방법 : A,B,E,F,H,C,G,D 순서
넓이우선(breath-first) 방법 : A,B,C,D,E,F,G,H 순서
하향식 통합시험
1.2 상향식 통합
프로그램구조의 하위수준인 모듈부터 한 단계씩 위로 통합하는 방법
(1) 1단계 통합시험
기능의 정확성
요구사항 수행 정도
범위이내의 값
특정값
범위이외의 값
프로그램구조의 하위수준인 모듈부터 한 단계씩 위로 통합하는 방법
(1) 1단계 통합시험
기능의 정확성
요구사항 수행 정도
범위이내의 값
특정값
범위이외의 값
(2) 2단계 통합시험
사용 편의성
작업 방법
사용 언어
사용 규칙 준수
사용 파일
작업 환경
사용 편의성
작업 방법
사용 언어
사용 규칙 준수
사용 파일
작업 환경
(3) 3단계 통합시험
오류 검출
문제점에 대한 정의
해결방안 모색
오류 검출
문제점에 대한 정의
해결방안 모색
2 개발된 소프트웨어의 통합시 중점 점검사항
(1) 정확성(accuracy)
(2) 의사 교환성(communicativeness)
(3) 완전성(completness)
(4) 일관성(consistency)
(5) 오류 허용성(error telerance)
(6) 모듈성(modularity)
(7) 응답시간 적합성(response time adequacy)
(8) 구조적 단순성(structural simplicity)
(9) 시험 적합성(test adequacy)
(10) 추적 가능성(traceability)
(11) 시험도구 설비성(instrumentation)
(1) 정확성(accuracy)
(2) 의사 교환성(communicativeness)
(3) 완전성(completness)
(4) 일관성(consistency)
(5) 오류 허용성(error telerance)
(6) 모듈성(modularity)
(7) 응답시간 적합성(response time adequacy)
(8) 구조적 단순성(structural simplicity)
(9) 시험 적합성(test adequacy)
(10) 추적 가능성(traceability)
(11) 시험도구 설비성(instrumentation)
시험 도구의 분류
Miller의 분류
정적 분석기(static analyzer)
코드 감사(code auditor)
단언 처리기(assertion processor)
시험 파일 생성기(test file generator)
시험 자료 생성기(test data generator)
시험 검증기(test verifier)
시험 장치(test harness)
결과 비교기(output comparator)
Dunn이 추가한 사항
기호 실행(symbolic execution) 시스템
환경 시뮬레이터(environment simulators)
자료 흐름 분석기(data flow analyzers)
3 시스템 수준 테스트
시스템 수준 테스트란
전체로서의 시스템을 테스트하는 것
전체로서의 시스템을 테스트하는 것
시스템 수준 테스트의 종류
1. 시스템 수준 수용 테스트(System Test)
2. 기능 테스트(Functional Test)
3. 유용성 테스트(Usability Test)
4. 과부하 테스트(Stress Test)
5. 성능 테스트(Performance Test)
6. 신뢰성 테스트(Reliability Test)
7. 복구성 테스트(Recovery Test)
8. 안전성 테스트(Security Test)
9. 회귀 테스트(Regression Test)
2. 기능 테스트(Functional Test)
3. 유용성 테스트(Usability Test)
4. 과부하 테스트(Stress Test)
5. 성능 테스트(Performance Test)
6. 신뢰성 테스트(Reliability Test)
7. 복구성 테스트(Recovery Test)
8. 안전성 테스트(Security Test)
9. 회귀 테스트(Regression Test)
4 사용자 수용 테스트
사용자의 요구를 만족하는가를 검증하는 시험
사용자 참여
테스트의 명확한 목표설정 및 계획을 수립
시스템 수준 테스트나 통상적 운영자료의 일부분을 테스트 사례로 사용
실제 사용되는 데이터 활용
운영가능 여부를 판단하는 최종 절차
시스템의 기능을 상세히 검증하기 위한 테스트
시스템을 이관하기 위한 공식적인 형식절차
정해진 기간 안에 이루어져야하는 테스트
사용자 참여
테스트의 명확한 목표설정 및 계획을 수립
시스템 수준 테스트나 통상적 운영자료의 일부분을 테스트 사례로 사용
실제 사용되는 데이터 활용
운영가능 여부를 판단하는 최종 절차
시스템의 기능을 상세히 검증하기 위한 테스트
시스템을 이관하기 위한 공식적인 형식절차
정해진 기간 안에 이루어져야하는 테스트