3. 3
- Internal Use Only -
소프트웨어 개발 환경의 변화
개별 SW 개발자 개발 생태계단일 기업프로젝트 팀
코드 중심 설계 협업 중심 개발 라이프 사이클 관리 콤포넌트 기반 개발
클라우드 컴퓨팅
클라이언트/서버 모델
& 애플리케이션 서버 플랫폼메인 프레임 플랫폼 미니 컴퓨터 플랫폼
B
UCorporate
Large Info
Intensive
B
U
Type of User
Type of
Business
B
UCorporate
Departmental
Large Info
Intensive
Large
B
U
Process
Large
Small
Corporate
Departmental
Large Info
Intensive B
U
Large
Corporate
Departmental
Large Info
Intensive
Process
Small
Consumer
개발방식
플랫폼 구조
사업구조
4. 4
- Internal Use Only -
소프트웨어 개발 환경의 변화
고객 가치
내부 가치
무료 라이선스에 따른 도입 비용 절감
원가 절감 상용 제품 대비 저렴한 공급가
툴의 경우 원가 비용이 발생하지 않음
비용 절감
SaaS 방식의 정액제 유지보수 계약으로 TCO(Total Cost Ownership) 절감
특정 SW 및 HW에 대한 고착(Lock-in) 현상 탈피
종속성 탈피
도입 가능한 SW 및 HW에 대한 선택의 폭 증가
표준 준수에 따른 개방성 증가
개방성 증가
향후 필요에 따라 비표준 상용 제품으로 전환 용이
수주 경쟁력 증가 제품 비용 절감 및 적용 제품에 대한 선택의 폭이 증가되어 수주 경쟁력이 향
상됨
기술 역량 증대 소스 코드가 공개되어 프로그램에 내재된 원천 기술 습득이 용이함
- 4 -
5. 5
- Internal Use Only -
오픈 소스 상품
참여 & 기여
컴파일&배포
패치 & 업그레
이드
개발환경 구축
상품화 환경
시험,인증 ,보안
도입
기술지원
출처,포맷,배포 방법 관리
라이선스 적용
기업내 사용 정책과 절차
패치& 업그레이드
관리
라이선스와 법적
검토
TCO?
기업 참여 및 기여
정책
외부 고객에게 판매
및 서비스
선택에 따른 사용일관
성? SLA정의 및 보장?
배상과 의무사항 관리
보안 취약점
계약 의무사항
선택기준
필요성
출처
지원가능성 점검?
외주개발 검증?
13. 13
- Internal Use Only -
요구 조건은 어떻게 찾아내는가
“It’s really hard to design products by focus
groups. A lot of times, people don’t know what they
want until you show it to them. ”
22. 22Internal Use Only
참고 자료: What is prototyping?
프로토타이핑이란?
제품의 최소한의 핵심 기능을 가지고 있는 기본적이면서도 원시적인 형태의 결과물
시제품(주: 데모)이 나오기 전의 제품의 원형 또는 초기 모델
사용자의 요구사항 반영을 위한 커뮤니케이션의 참고 대상이며 모든 요구사항을 반영할 때
까지 지속적으로 개선 및 보완됨
장점
- 사용자 중심의 개발 방법으로 최종 요구사항의 반영 극대화
- 오류를 초기에 발견하여 Risk를 줄일 수 있음
- 변경 사항 반영이 용이
단점
- 문서화 과정이 생략(산출물을 보고 작업하기 때문에) 됨
- 범위가 명확하지 않을 경우 시간과 비용 많이 소모됨
- 비 기능 요건에 대한 반영이 부족할 수 있음
단점에 대한 보완 방안
- 프로토타이핑 과정에 문서화 작업을 병행 (개발 과정에서 나오는 문서는 실질적이며 매우 유용)
- 핵심 기능들의 우선 순위에 따라 정해진 기간(투입 리소스) 동안 가능한 범위 작업
- 성능, 보안 위험 등과 같은 비 기능 요건에 대해서도 프로토타이핑 범위에 추가
22
23. 23Internal Use Only
참고 자료: What is prototyping?
프로토타이핑 과정
1단계 - 핵심 요구사항 분석: 기본적인 사용자 요구사항을 시스템 설계자와 사용자가 함께 작
업
- 주로 핵심적인 기능과 검증이 필요한 부분 위주로 항목 선정
- 기능(functional) 또는 비기능(non-functional) 요건 모두 상관 없음
2단계 - 개발: 시스템 설계자가 위에서 도출된 요구사항을 만족시키는 프로토타입 개발
- 외형적인 모습(디자인)은 크게 신경쓰지 않고 주로 핵심적인 기능에 대한 검증 목적
- 가능하면 실제와 동일한 프로그래밍 언어를 사용하면 좋지만 필요에 따라 4GL 언어나 Case Tool
등을 사용해도 무방
3단계 - 사용: 사용자가 개발된 프로토타입을 실제 사용
- 요구사항이 정확히 반영 되어 있는지를 확인
- 프로토타입을 보완해서 궁극적으로 원하는 상용제품을 만들기 위한 여러 가지 제안 도출
4단계 - 보완: 프로토타입의 수정과 보완
- 시스템 설계자는 사용자가 요구한 제안 사항과 이에 따르는 보완작업
- 프로토타입이 수정/보완 된 후에는 3단계로 돌아가며 사용자가 만족할 때까지 3단계와 4단계 반복
프로토타입 결과물의 활용
완성된 산출물은 향후 실제 개발 과정에서 사용할 뼈대(skeleton)로 활용
23
25. 25Internal Use Only 25
- Internal Use Only -
준비 단계
Early Adopters가 목표 고객군
제품 개발 부서에서 실제로 개발
시장과 고객을 대상으로 의견 수렴이 주 목표
Innovators가 목표 고객군
설계 과정에서 필요에 의해 즉석 개발
제품 컨셉을 시연 혹은 증명하는 것이 주 목표
46. 46
- Internal Use Only -
Tesing
기능 테스팅이란?
기능 테스트는 기능과 명세서를 준수하는 제품의 동작을 확인. 이 테스트는 시스템 /
구성 요소의 내부적인 메커니즘을 무시하고 오직 선택된 입력과 실행 조건에 대한
응답으로 생성 된 출력에 초점을 맞춤.
기능 테스팅 절차:
시작(Initiation)
테스트 계획(Tests planning)
테스트 설계(Tests design)
테스트 실행(Tests execution)
분석 및 리포팅(Analysis & reporting)
완료(Completion)
47. 47
- Internal Use Only -
Testing
성능 테스팅이란?
성능 테스팅은 기술된 성능 요구사항을 시스템 및 컴포넌트가 준수하는지 평가를 위해
수행됨. 때로는 많은 사용자를 시뮬레이션하는 자동화된 툴에 의해 수행.
성능 테스팅시 장시간 부하 등의 시스템 안정성 여부의 테스트도 병행하여 수행함
성능 테스팅 절차:
응답시간 및 자원 사용량 측정
가능한 중단점 및 최대 부하 정의
최적의 성능을 위한 권고 데이터 수집
SLA를 충족할 수 있는 검증값
시스템 신뢰성 체크
시스템 내 병목 지점 확인 및 제거
예시: 로드러너 화면
48. 48
- Internal Use Only -
Testing
자동화 테스팅이란?
자동화 테스팅은 테스트 수행에 대한 제어, 예상되는 결과 대비 실제 결과, 테스트
사전 조건에 대한 준비, 다른 테스트 기능을 제어하는 소프트웨어의 테스트 자동화를
의미. 테스터에 의한 수작업보다 훨씬 더 가치있는 테스팅 방법을 제공
자동화 테스팅의 이점
시간 및 비용 절약(time-to-market)
수동 테스팅에 필요한 공수의 최소화
소프트웨어 품질 향상
자동화된 테스트 방법으로 인한 오버헤드 감소
자동화 테스팅 적용 가능 영역 :
회귀 테스트
데이터 기반 테스트(동일 시나리오, 다른 입력 데이터)
49. 49
- Internal Use Only -
Testing
지역화 테스팅이란?
제품을 특정 지역에서 사용할 수 있도록 특화된 형태의 테스팅을 의미. 성공적으로
지역화된 제품들은 우선 해당 지역의 언어, 문화 특수성을 고려한 제품의 기능을
가지고 있음
지역화 테스트는 다음의 항목을 포함:
소프트웨어 사용자 인터페이스 번역 확인
인터페이스 요소에 대한 적용 검증
사용자 가이드, 도움말, 기타 보조 문서 번역 여부
문장에 대한 쓰기 규칙 지정
지역화 테스트 + 기능 테스트 = 테스팅 기능 강화
기능적인 문제 및 결함은 종종 소프트웨어 지역화의 결과로 나타남. 이 경우 문제가
발생하는 기능 테스트에 대한 수행을 하지 않음으로써 지역화에 소모되는 시간과
노력에 대한 위험을 제거하도록 함.
50. 50
- Internal Use Only -
Testing
보안 테스팅이란?
보안 테스트는 사용자의 의도된 기능을 유지하고, 정보 시스템의 데이터를 보호하는지
확인하기 위한 과정이다. 보안 테스트에 포함해야 할 여섯 가지 기본 보안 개념은
기밀성, 무결성, 인증, 권한 부여, 가용성 및 부인방지(否認防止)임.
보안 테스팅을 사용하는 이점:
애플리케이션 품질 향상
해킹을 통한 침투 위험 감소
고객 및 시스템 사용자를 만족시킬 수 있는 개인 정보 보호 레벨 제공
보안 표준 준수를 통해 얻을 수 있는 마케팅 이점
51. 51
- Internal Use Only -
Testing
모바일 테스팅이란?
모바일 애플리케이션 테스팅은 모바일 기반 애플리케이션의 기능 테스트. 특정한
도구가 사용되진 않지만, 많은 종류의 모바일 기기가 필요.
테스팅을 위한 방법:
여러 기기의 사용. 모든 기기들은 각 기기별 특성, 제약 사항, 시스템 구현 상의
기능이 다르기 때문에 각각의 기기를 확인해야 함.
에뮬레이터 소프트웨어를 사용. 이 방법은 장치 고유의 특성을 보여주지 못하므로,
신뢰성이 떨어질 수 있음. 하지만 개발의 편의성으로 인해 많은 부분이 이 접근
방법을 사용하고 있음
모바일 테스팅 영역 내의 서비스:
현존하는 모바일 기기에 대한 소프트웨어 테스트 또는 프로토타이핑
애플리케이션은 iOS, 안드로이드, 바다, 윈도우 폰 등을 위한 테스트
52. 52
- Internal Use Only -
Testing
일반 문서 특화 문서 문서 템플릿
• 테스팅 프로세스 • 문서 리뷰 • 기능 명세서
• 유닛 테스트 가이드라인 • 요구 사항 명세 가이드 라인 • 테스트 설계
• 결함 추적 • 위험 관리 가이드 라인 • 테스트 계획
• 테스트 설계 절차 • 파일 관리 정책 • 테스트 결과 리포트
• 빌드 및 배포 절차 • 코딩 표준화 문서 • 테스트 통지
• 변경 요청 절차 • 테스트 사후 보고서
53. 53
- Internal Use Only -
Testing
단계 지원 툴
프로젝트 계획 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
54. 54
- Internal Use Only -
Testing
TaaS 코어
영역
사용자
인터페이스
Service 3 Service 2
Testing Fra
mework
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