2. 2
- Internal Use Only -
소프트웨어 개발의 변화
요구사항
완료
개발
완료
테스팅
완료
설계
완료
폭포수 모델
점진적
반복
1 2 3 4 5 6 7 8 9 10
반복 완료
애자일
개발/테스트/디버깅의 병렬수행
운영
수동적인 개발/테스팅 프로세스 확장 어려움!
소프트웨어의 개발은 기존의 폭포수 위주로부터 애자일, 테스트 주도 방법론으로 변화
3. 3
- Internal Use Only -
왜 테스팅이 중요한가?
현실
현대 문명 사회는 소프트웨어에 의존한다. 그래서 소프트웨어는 최대한 신뢰할 수 있어야 한다!
소프트웨어는 실수를 할 수 있는 사람에 의해 만들어진다. 그 소프트웨어는 취약점, 버그 및 보안
결함이 있을 수 있다!
기업 이미지 등에 영향을 미침
4. 4
- Internal Use Only -
테스팅 – 변화관리 및 서비스 관리
변화 관리 서비스 관리
포트폴리오 관리
빌드 및 설정 관리 운영 디플로이
프로젝트 관리
테스팅 및 품질보증
릴리즈 관리
Change aware
continuous integration
Production control
closed loop
Production planning
closed loop
JIT Demand
Management
테스팅/품질 보증은 서비스 및 변화에 대응하는 중요 요소임
5. 5
- Internal Use Only -
테스팅 조직 및 테스트 프로세스
서비스 제공자
테스팅 조직
People
Business
process /
domains
CIR,
Energy
Business
process /
domains
HealthCare
Life Science
Business
process /
domains
Banking
Capital Mkt.
Business
process /
domains
Insurance
Business
process /
domains
Transportation
Airlines
Business
process /
domains
CM&E
Business
process /
domains
Manufacturing
IndustryVerticalsTech
Portal / ECM BPMSOA ERP /SAP
BI/DWCRMData Engineering
Non-Func
Automation Enterprise wide? Performance Engineering?
TestProcess
Test Environment L8N & I18N Usability Cloud Testing
Requirement Analysis
Test Estimation
Agile Basesd Testing Test Case Optimise
Migration Testing
Test Reporting Defect Management
Reliability Prediction
Test Data Management
Games
Security Engineering?
Test Techniques
Test Process ConsultingMetrics
Value
Process
Technology
6. 6
- Internal Use Only -
테스팅 영역
기능 테스팅(Functional testing)
성능 테스팅(Performance testing)
보안 테스팅(Security testing)
자동화 테스팅(Automation testing)
지역화 테스팅(Localization testing)
모바일 테스팅(Mobile testing)
7. 7
- Internal Use Only -
기능 테스팅
기능 테스팅이란?
기능 테스트는 기능과 명세서를 준수하는 제품의 동작을 확인. 이 테스트는 시스템 /
구성 요소의 내부적인 메커니즘을 무시하고 오직 선택된 입력과 실행 조건에 대한
응답으로 생성 된 출력에 초점을 맞춤.
기능 테스팅 절차:
시작(Initiation)
테스트 계획(Tests planning)
테스트 설계(Tests design)
테스트 실행(Tests execution)
분석 및 리포팅(Analysis & reporting)
완료(Completion)
8. 8
- Internal Use Only -
성능 테스팅
성능 테스팅이란?
성능 테스팅은 기술된 성능 요구사항을 시스템 및 컴포넌트가 준수하는지 평가를 위해
수행됨. 때로는 많은 사용자를 시뮬레이션하는 자동화된 툴에 의해 수행.
성능 테스팅시 장시간 부하 등의 시스템 안정성 여부의 테스트도 병행하여 수행함
성능 테스팅 절차:
응답시간 및 자원 사용량 측정
가능한 중단점 및 최대 부하 정의
최적의 성능을 위한 권고 데이터 수집
SLA를 충족할 수 있는 검증값
시스템 신뢰성 체크
시스템 내 병목 지점 확인 및 제거
예시: 로드러너 화면
9. 9
- Internal Use Only -
자동화 테스팅
자동화 테스팅이란?
자동화 테스팅은 테스트 수행에 대한 제어, 예상되는 결과 대비 실제 결과, 테스트
사전 조건에 대한 준비, 다른 테스트 기능을 제어하는 소프트웨어의 테스트 자동화를
의미. 테스터에 의한 수작업보다 훨씬 더 가치있는 테스팅 방법을 제공
자동화 테스팅의 이점
시간 및 비용 절약(time-to-market)
수동 테스팅에 필요한 공수의 최소화
소프트웨어 품질 향상
자동화된 테스트 방법으로 인한 오버헤드 감소
자동화 테스팅 적용 가능 영역 :
회귀 테스트
데이터 기반 테스트(동일 시나리오, 다른 입력 데이터)
10. 10
- Internal Use Only -
지역화 테스팅
지역화 테스팅이란?
제품을 특정 지역에서 사용할 수 있도록 특화된 형태의 테스팅을 의미. 성공적으로
지역화된 제품들은 우선 해당 지역의 언어, 문화 특수성을 고려한 제품의 기능을
가지고 있음
지역화 테스트는 다음의 항목을 포함:
소프트웨어 사용자 인터페이스 번역 확인
인터페이스 요소에 대한 적용 검증
사용자 가이드, 도움말, 기타 보조 문서 번역 여부
문장에 대한 쓰기 규칙 지정
지역화 테스트 + 기능 테스트 = 테스팅 기능 강화
기능적인 문제 및 결함은 종종 소프트웨어 지역화의 결과로 나타남. 이 경우 문제가
발생하는 기능 테스트에 대한 수행을 하지 않음으로써 지역화에 소모되는 시간과
노력에 대한 위험을 제거하도록 함.
11. 11
- Internal Use Only -
보안 테스팅
보안 테스팅이란?
보안 테스트는 사용자의 의도된 기능을 유지하고, 정보 시스템의 데이터를 보호하는지
확인하기 위한 과정이다. 보안 테스트에 포함해야 할 여섯 가지 기본 보안 개념은
기밀성, 무결성, 인증, 권한 부여, 가용성 및 부인방지(否認防止)임.
보안 테스팅을 사용하는 이점:
애플리케이션 품질 향상
해킹을 통한 침투 위험 감소
고객 및 시스템 사용자를 만족시킬 수 있는 개인 정보 보호 레벨 제공
보안 표준 준수를 통해 얻을 수 있는 마케팅 이점
12. 12
- Internal Use Only -
모바일 테스팅
모바일 테스팅이란?
모바일 애플리케이션 테스팅은 모바일 기반 애플리케이션의 기능 테스트. 특정한
도구가 사용되진 않지만, 많은 종류의 모바일 기기가 필요.
테스팅을 위한 방법:
여러 기기의 사용. 모든 기기들은 각 기기별 특성, 제약 사항, 시스템 구현 상의
기능이 다르기 때문에 각각의 기기를 확인해야 함.
에뮬레이터 소프트웨어를 사용. This 이 방법은 장치 고유의 특성을 보여주지
못하므로, 신뢰성이 떨어질 수 있음. 하지만 개발의 편의성으로 인해 많은 부분이
이 접근 방법을 사용하고 있음
모바일 테스팅 영역 내의 서비스:
현존하는 모바일 기기에 대한 소프트웨어 테스트 또는 프로토타이핑
애플리케이션은 iOS, 안드로이드, 바다, 윈도우 폰 등을 위한 테스트
13. 13
- Internal Use Only -
지원 문서
일반 문서 특화 문서 문서 템플릿
• 테스팅 프로세스 • 문서 리뷰 • 기능 명세서
• 유닛 테스트 가이드라인 • 요구 사항 명세 가이드 라인 • 테스트 설계
• 결함 추적 • 위험 관리 가이드 라인 • 테스트 계획
• 테스트 설계 절차 • 파일 관리 정책 • 테스트 결과 리포트
• 빌드 및 배포 절차 • 코딩 표준화 문서 • 테스트 통지
• 변경 요청 절차 • 테스트 사후 보고서
14. 14
- Internal Use Only -
테스팅 도구
단계 지원 툴
프로젝트 계획 MS Project
테스트 및 결함 추적 Atlassian Jira* , LogiGear TrackGear, HP Quality Center, Bugzilla
and Rational ClearQuest
설정 관리 SVN, MS VSS, CVS, and SharePoint
프로세스 모니터링 Atlassian Jira*, LogiGear TrackGear, HP Quality Center, Rational
ClearQuest and system of metrics& reports
성능 테스팅 Rational Performance tester, HP LoadRunner, SilkPerformer, Jmeter,
AQtime, Profilers, WinDBG with SOS
테스트 자동화 SilkTest, Rational Functional Tester, Selenium, HP WinRunner, HP
QTP, HttpUnit, Jmeter, Rational Performance Tester, custom
framework in Java and Perl
보안 테스트 도구 IBM Rational Appscan, WebInspect, WebScarab, Xspider, Nessus,
Nikto, Firebug, small tools for injection checks
위험 관리 Report system, MS Project
15. 15
- Internal Use Only -
클라우드 진화 - TaaS(Testing as a Service)
TaaS 코어
영역
사용자
인터페이스
Service 3 Service 2
Testing Fram
ework
In house Tools /
External Tools
Test
Analyst
Test
Process
Internal Service Management
Web
Automation Offering
Perf .Test
Web/ERP
Performance Offering Functional Test Offering
상용 모델
SLAs
Manual Testing
서비스
패키지
Service n…
HAAS/
Cloud
Demand Management
Customer 1 Customer 2 Customer …n
Service Catalogue for business
Service Catalogue for Operations
Customer Service Management
Test Assets
Test Assets Test Assets Test Assets
메일 첨부문서 참조
16. 16
- Internal Use Only -
참고자료
ITC_software_testing_services_overview: http://www.itcsoftwrare.com
Memphis - TAAS v1.0: Testing as a Service Service Innovation in Testing
Software Testing as a Service (STaaS)
Author: Leo van der Aalst1
Solution and Innovation manager at Sogeti Netherlands B.V.