1
p. 1
• 원광대학교 컴퓨터소프트웨어공학과
• 2018학년도 1학기 수요일 4교시 목요일 34교시
• 소프트웨어공학 / 374022-01
p. 2
• 테스트
• 01. 테스트의 이해
• 02. 테스트의 분류
• 03. 정적 테스트
• 04. 동적 테스트
• 05. 소프트웨어 개발 단계에 따른 테스트
목차
그림: 쉽게 배우는 소프트웨어 공학, 김치수, 한빛미디어
p. 3
• 테스트의 분류
• 1. 시각에 따른 테스트
• 2. 사용 목적에 따른 테스트
• 3. 프로그램 실행 여부에 따른 테스트
• 4. 소프트웨어 개발 단계에 따른 테스트
• 1. 시각에 따른 테스트 = V&V(Verification & Validation)
• 1.1. 확인(Verification) 테스트
• 개발자 시각으로 테스트함.
• 설계도대로 만들었는지 테스트함.
• 1.2. 검증(Validation) 테스트
• 사용자의 요구 사항대로 만들었는지를 테스트함.
02. 테스트의 분류
3
p. 5
• 2. 사용 목적에 따른 테스트
• 2.1. 운영 목적 적합성 테스트
• 2.2. 수정 용이성 테스트
• 2.3. 상호운용성 테스트
• 2.4. 운영 지원 용이성 테스트
p. 6
• 2. 사용 목적에 따른 테스트
• 2.1. 운영 목적 적합성 테스트
• 성능 테스트
• 처리 능력을 테스트함.
• 신뢰성 테스트
• 강건(Robustness) 테스트
• 비정상적 환경에서 올바른 작동을 하는 지 테스트함.
• 스트레스(Stress) 테스트
• 부하(비정상적인 값, 양, 빈도, 부피 등)를 발생시켜서 테스트함.
• 부하(Load) 테스트
• 평소보다 많은 데이터, 주변장치, 접속자로 테스트함.
• 보안(Security) 테스트
• 사용성(Usability) 테스트
• 안정성(Stability) 테스트
02. 테스트의 분류
p. 7
• 2. 사용 목적에 따른 테스트
• 2.2. 수정 용이성 테스트
• 테스트 용이성(Testability)
• 테스트하기 쉬운지 테스트함.
• 유지보수 용이성(Maintainability)
• 유지보수하기 쉬운지 테스트함.
• 2. 사용 목적에 따른 테스트
• 2.3. 상호운용성 테스트
• 호환성(Compatibility)
• 일치성(Conformity)
• 이식성(Portability)
• 재사용성(Reusability)
02. 테스트의 분류
5
p. 9
• 2. 사용 목적에 따른 테스트
• 2.4. 운영 지원 용이성 테스트
• 문서화(Documentation)
• 복원가능성(Recovery, Restart)
p. 10
• 3. 프로그램 실행 여부에 따른 테스트
• 정적 테스트(Static Test)
• 프로그램을 실행하지 않고 코드를 검토하여 테스트함.
• 동적 테스트(Dynamic Test)
• 프로그램을 실행하면서 코드를 검토하여 테스트함.
02. 테스트의 분류
p. 11
• 4. 소프트웨어 개발 단계에 따른 테스트
• 단위 테스트(Unit Test)
• 모듈 검증
• 통합 테스트(Integration Test)
• 인터페이스 검증
• 시스템 테스트(System Test)
• 요구 분석 검증
• 인수 테스트(Acceptance Test)
• 확인 및 검증(V&V)
• 회귀 테스트(Regression Test)
• 테스트에서 발생한 수정 후의 테스트
• 정적 테스트(Static Test)
• 프로그램 코드를 실행하지 않고, 여러 참여자가 모여 소프트웨어 개발 중에 생 성되는 모든 명세나 코드를 검토해서 실패보다는 결함을 찾아내는 방법
03. 정적 테스트
7
p. 13
• 정적 테스트(Static Test)
• 분류 A
• 비정형 방법
• 기술적 검토 기법
• 개별 검토(Self Review)
• 동료 검토(Peer Review)
• 검토회의(Walk-through)
• 관리적 검토 기법
• 소프트웨어 검사(Software Inspection)
• 감사(Audit)
• 정형 방법
• 기호 계산 기법
• 프로그램 증명법
• 모형 검증 기법
p. 14
• 정적 테스트(Static Test)
• 분류 B
• 비공식 검토(Informal Technical Review)
• 개별 검토(Self Review)
• 동료 검토(Peer Review)
• 공식 검토(Formal Technical Review)
• 검토회의(Walk-through)
• 소프트웨어 검사(Software Inspection)
03. 정적 테스트
p. 15
• 공식 검토(Formal Technical Review)
• 검토 내용
• 원시 코드상에 존재하는 오류 검토
• 소프트웨어가 사용자의 요구를 충분히 반영했는지 검토
• 소프트웨어가 미리 정의된 표준을 지켰는지 검토
• 소프트웨어 개발 방식이 일관적인지 검토
• 소프트웨어가 관리하기 쉬운지 검토
• 공식 검토(Formal Technical Review)
• 수행 절차
• ① 계획(Planning)
• ② 착수(Kick-off)
• ③ 개별 준비(Preparation)
• ④ 검토회의 수행(Review Meeting)
• ⑤ 재작업 및 수정(Rework)
• ⑥ 완료 작업 또는 후속 처리 확인(Follow-up)
03. 정적 테스트
9
p. 17
• 1. 개별 검토(Self Review)
• 체크리스트를 가지고 본인 스스로 검토함.
• 가장 간단함.
• 객관성이 떨어짐.
p. 18
• 2. 동료 검토(Peer Review)
• 동료(훈수자)는 내 일이 아니기 때문에 상황을 더 객관적으로 볼 수 있음.
• 누가 검토하느냐에 따라 성과가 좌우됨.
03. 정적 테스트
p. 19
• 3. 검토회의(Walk-through)
• 개발자가 소집한 전문가들에 의해 수행됨.
• 4. 소프트웨어 검사(Software Inspection)
• 절차• ① 계획(Planning)
• ② 개괄 설명회(Overview)
• ③ 검사 준비(Preparation)
• ④ 검사 회의(Inspection Meeting)
• ⑤ 수정
• ⑥ 후속 조치