17
2013. 05. 08 소프트웨어 테스팅 전략 주식회사 오픈소스컨설팅

[오픈소스컨설팅]소프트웨어테스팅전략

Embed Size (px)

DESCRIPTION

TaaS(Testing as a Service) strategy

Citation preview

Page 1: [오픈소스컨설팅]소프트웨어테스팅전략

2013. 05. 08

소프트웨어 테스팅 전략

주식회사 오픈소스컨설팅

Page 2: [오픈소스컨설팅]소프트웨어테스팅전략

2 - Internal Use Only -

소프트웨어 개발의 변화

요구사항 완료

개발 완료

테스팅 완료

설계 완료

폭포수 모델

점진적 반복

1 2 3 4 5 6 7 8 9 10

반복 완료

애자일

개발/테스트/디버깅의 병렬수행

운영

수동적인 개발/테스팅 프로세스 확장 어려움!

소프트웨어의 개발은 기존의 폭포수 위주로부터 애자일, 테스트 주도 방법론으로 변화

Page 3: [오픈소스컨설팅]소프트웨어테스팅전략

3 - Internal Use Only -

왜 테스팅이 중요한가?

현실

현대 문명 사회는 소프트웨어에 의존한다. 그래서 소프트웨어는 최대한 신뢰할 수 있어야 한다!

소프트웨어는 실수를 할 수 있는 사람에 의해 만들어진다. 그 소프트웨어는 취약점, 버그 및 보안

결함이 있을 수 있다!

기업 이미지 등에 영향을 미침

Page 4: [오픈소스컨설팅]소프트웨어테스팅전략

4 - Internal Use Only -

테스팅 – 변화관리 및 서비스 관리

변화 관리 서비스 관리

포트폴리오 관리

빌드 및 설정 관리 운영 디플로이

프로젝트 관리

테스팅 및 품질보증

릴리즈 관리

Change aware continuous integration

Production control closed loop

Production planning closed loop

JIT Demand Management

테스팅/품질 보증은 서비스 및 변화에 대응하는 중요 요소임

Page 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 Industry V

erticals Tech

Portal / ECM BPM SOA ERP /SAP

BI/DW CRM Data Engineering

Non-F

unc

Automation Enterprise wide? Performance Engineering?

Test P

rocess

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 Consulting Metrics

Val

ue

Process

Technology

Page 6: [오픈소스컨설팅]소프트웨어테스팅전략

6 - Internal Use Only -

테스팅 영역

기능 테스팅(Functional testing)

성능 테스팅(Performance testing)

보안 테스팅(Security testing)

자동화 테스팅(Automation testing)

지역화 테스팅(Localization testing)

모바일 테스팅(Mobile testing)

Page 7: [오픈소스컨설팅]소프트웨어테스팅전략

7 - Internal Use Only -

기능 테스팅

기능 테스팅이란?

기능 테스트는 기능과 명세서를 준수하는 제품의 동작을 확인. 이 테스트는 시스템 /

구성 요소의 내부적인 메커니즘을 무시하고 오직 선택된 입력과 실행 조건에 대한

응답으로 생성 된 출력에 초점을 맞춤.

기능 테스팅 절차:

시작(Initiation)

테스트 계획(Tests planning)

테스트 설계(Tests design)

테스트 실행(Tests execution)

분석 및 리포팅(Analysis & reporting)

완료(Completion)

Page 8: [오픈소스컨설팅]소프트웨어테스팅전략

8 - Internal Use Only -

성능 테스팅

성능 테스팅이란?

성능 테스팅은 기술된 성능 요구사항을 시스템 및 컴포넌트가 준수하는지 평가를 위해

수행됨. 때로는 많은 사용자를 시뮬레이션하는 자동화된 툴에 의해 수행.

성능 테스팅시 장시간 부하 등의 시스템 안정성 여부의 테스트도 병행하여 수행함

성능 테스팅 절차:

응답시간 및 자원 사용량 측정

가능한 중단점 및 최대 부하 정의

최적의 성능을 위한 권고 데이터 수집

SLA를 충족할 수 있는 검증값

시스템 신뢰성 체크

시스템 내 병목 지점 확인 및 제거

예시: 로드러너 화면

Page 9: [오픈소스컨설팅]소프트웨어테스팅전략

9 - Internal Use Only -

자동화 테스팅

자동화 테스팅이란?

자동화 테스팅은 테스트 수행에 대한 제어, 예상되는 결과 대비 실제 결과, 테스트

사전 조건에 대한 준비, 다른 테스트 기능을 제어하는 소프트웨어의 테스트 자동화를

의미. 테스터에 의한 수작업보다 훨씬 더 가치있는 테스팅 방법을 제공

자동화 테스팅의 이점

시간 및 비용 절약(time-to-market)

수동 테스팅에 필요한 공수의 최소화

소프트웨어 품질 향상

자동화된 테스트 방법으로 인한 오버헤드 감소

자동화 테스팅 적용 가능 영역 :

회귀 테스트

데이터 기반 테스트(동일 시나리오, 다른 입력 데이터)

Page 10: [오픈소스컨설팅]소프트웨어테스팅전략

10 - Internal Use Only -

지역화 테스팅

지역화 테스팅이란?

제품을 특정 지역에서 사용할 수 있도록 특화된 형태의 테스팅을 의미. 성공적으로

지역화된 제품들은 우선 해당 지역의 언어, 문화 특수성을 고려한 제품의 기능을

가지고 있음

지역화 테스트는 다음의 항목을 포함:

소프트웨어 사용자 인터페이스 번역 확인

인터페이스 요소에 대한 적용 검증

사용자 가이드, 도움말, 기타 보조 문서 번역 여부

문장에 대한 쓰기 규칙 지정

지역화 테스트 + 기능 테스트 = 테스팅 기능 강화

기능적인 문제 및 결함은 종종 소프트웨어 지역화의 결과로 나타남. 이 경우 문제가

발생하는 기능 테스트에 대한 수행을 하지 않음으로써 지역화에 소모되는 시간과

노력에 대한 위험을 제거하도록 함.

Page 11: [오픈소스컨설팅]소프트웨어테스팅전략

11 - Internal Use Only -

보안 테스팅

보안 테스팅이란?

보안 테스트는 사용자의 의도된 기능을 유지하고, 정보 시스템의 데이터를 보호하는지

확인하기 위한 과정이다. 보안 테스트에 포함해야 할 여섯 가지 기본 보안 개념은

기밀성, 무결성, 인증, 권한 부여, 가용성 및 부인방지(否認防止)임.

보안 테스팅을 사용하는 이점:

애플리케이션 품질 향상

해킹을 통한 침투 위험 감소

고객 및 시스템 사용자를 만족시킬 수 있는 개인 정보 보호 레벨 제공

보안 표준 준수를 통해 얻을 수 있는 마케팅 이점

Page 12: [오픈소스컨설팅]소프트웨어테스팅전략

12 - Internal Use Only -

모바일 테스팅

모바일 테스팅이란?

모바일 애플리케이션 테스팅은 모바일 기반 애플리케이션의 기능 테스트. 특정한

도구가 사용되진 않지만, 많은 종류의 모바일 기기가 필요.

테스팅을 위한 방법:

여러 기기의 사용. 모든 기기들은 각 기기별 특성, 제약 사항, 시스템 구현 상의

기능이 다르기 때문에 각각의 기기를 확인해야 함.

에뮬레이터 소프트웨어를 사용. This 이 방법은 장치 고유의 특성을 보여주지

못하므로, 신뢰성이 떨어질 수 있음. 하지만 개발의 편의성으로 인해 많은 부분이

이 접근 방법을 사용하고 있음

모바일 테스팅 영역 내의 서비스:

현존하는 모바일 기기에 대한 소프트웨어 테스트 또는 프로토타이핑

애플리케이션은 iOS, 안드로이드, 바다, 윈도우 폰 등을 위한 테스트

Page 13: [오픈소스컨설팅]소프트웨어테스팅전략

13 - Internal Use Only -

지원 문서

일반 문서 특화 문서 문서 템플릿

• 테스팅 프로세스 • 문서 리뷰 • 기능 명세서

• 유닛 테스트 가이드라인 • 요구 사항 명세 가이드 라인 • 테스트 설계

• 결함 추적 • 위험 관리 가이드 라인 • 테스트 계획

• 테스트 설계 절차 • 파일 관리 정책 • 테스트 결과 리포트

• 빌드 및 배포 절차 • 코딩 표준화 문서 • 테스트 통지

• 변경 요청 절차 • 테스트 사후 보고서

Page 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

Page 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

메일 첨부문서 참조

Page 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.

Page 17: [오픈소스컨설팅]소프트웨어테스팅전략

17 - Internal Use Only -

요약

OPEN

SHARE

CONTRIBUTE

ADOPT

REUSE