SlideShare a Scribd company logo
오픈 스펙을 대상으로 한
테스트 설계 사례
Case Study :Case Study :Case Study :Case Study : TestCaseTestCaseTestCaseTestCase Design with OpenDesign with OpenDesign with OpenDesign with Open Specification(FIDOSpecification(FIDOSpecification(FIDOSpecification(FIDO))))
2015.01 by JungGun
home: genycho.blog.me
This is…
테스트 케이스를 설계하는 일은
다양한 테스트 레벨에서 발생하고
각각에 따라 다른 목적, 형태의 결과물이 생성 됨
오픈 스펙으로부터 (RESTful) API에 대한
(블랙박스 기반) 테스트 설계 사례를 공유
상세 절차나 결과물보다는 접근방법(분석-리뷰-설계-리뷰-수행-리뷰) 이
다른 분들에게 참고가 되었으면...
FIDO?
프로젝트프로젝트프로젝트프로젝트 개요개요개요개요
- FIDO Alliance : http://fidoalliance.org/about
기존의 패쓰워드 기반 온라인 인증 방식을 생체정보를 기반으로 인증할 수 있는 기술
FIDO Alliance에서는 이를 위해 전세계적으로 통용될 수 있는 표준 스펙을 제공함
우리도 이 스펙을 기반으로 우리만의 FIDO(Fast IDentity Online) 기술을 구현
FIDO Alliance
(Fast IDentity Online)
FIDO Alliance
(Fast IDentity Online)
Open
Specifications
구현 by A 회사
구현 by B 회사
구현 by 우리
… …
FIDOFIDOFIDOFIDO 아키텍처아키텍처아키텍처아키텍처
- FIDO Server : 정의한 정책 및 DB 정보에 따라 앱별, 사용자별 인증 장비를 관리하고 인증을 수행
- FIDO Client : 사용자가 요청한 인증 정보를 FIDO Server에 전송하고 그 결과를 사용자에게 전달
- FIDO SDK(server, client) : FIDO server/client를 사용자가 사용(개발)할 수 있도록 제공해 준 개발
킷
- Relying Party 서버/클라이언트(앱) : FIDO를 사용할 가상의 사용자 서버/클라이언트
- Authenticator-Specific Module (ASM) : 인증 장치와 인증 정보를 주고 받는 인터페이스 영역
FIDO Client(앱,apk)FIDO Client(앱,apk)
RPClient (테스트용
앱)
RPClient (테스트용
앱)
FIDO ServerFIDO Server
RPServer (테스트용 서
버)
RPServer (테스트용 서
버)RegistrationRegistration
Authentication
(Transaction)
Authentication
(Transaction)
FIDO protocols
Web IDL
FIDO
protocols?
Web IDL ?
FIDO SDKFIDO SDK
FIDO SDKFIDO SDK
REST API
1133 1122
44 44
6655
11
DeRegistrationDeRegistration
ASM
※ 아키텍처 영역의 각 번호는 다음 장에 연결
어떤 테스트를
강화할 것인가?
오픈 스펙으로
표준 정의가 된
API 영역!
테스트테스트테스트테스트 단계단계단계단계 //// 아키텍처아키텍처아키텍처아키텍처 레벨에서의레벨에서의레벨에서의레벨에서의 테스트테스트테스트테스트 현황현황현황현황 파악파악파악파악
테스트테스트테스트테스트 단계단계단계단계 영역영역영역영역 위치위치위치위치 사용툴사용툴사용툴사용툴 정의정의정의정의 테스트테스트테스트테스트 수준수준수준수준
단위테스트
서버 [1] Junit
작성한 단위 프로그램, 모듈 및 사용자 인터페이스 등에 대해
단위 모듈 레벨에서 기능이 완전한지를 검증하는 테스트
우수
클라이언트 [1] Junit
API테스트
서버 [2]
TestNG
Swagger
FIDO Server의 REST API에 대해 오픈 스펙 및 자체 정의한
규약에 따라 요구된 기능을 만족하는지 검증하는 테스트
보완
필요
클라이언트 [3] Junit
FIDO Client 앱에 정의된 각 API에 대해 요구된 기능을
만족하는지 검증하는 테스트
보통
통합테스트
서버
S D K
[4]
테스트용
RPServer
구현
사용자가 FIDO SDK(소프트웨어 개발 키트)를 이용하여 FIDO
Server와 연동하여 원하는 기능을 사용할 수 있는지 검증하기
위한 테스트
보통
클라이언트
S D K
[4]
테스트용 앱
구현
사용자가 FIDO SDK(소프트웨어 개발 키트)를 이용하여 FIDO
Client 앱을 쉽게 사용할 수 있는지 검증하기 위한 테스트
보통
서버/클라이언
트 연동
[5],[
6]
테스트용
RPServer,
Client앱
FIDO Server/Client 전체 테스트를 위해 테스트용 사용자
서버/클라이언트 앱을 만들고 정해진 사용 시나리오에 따라
테스트를 수행
우수
※ 성능 테스트 등의 비기능 테스트는 포함하지 않음
FIDOFIDOFIDOFIDO 구성구성구성구성 ((((REST API)REST API)REST API)REST API)
No 구분구분구분구분1 ? API명명명명 설명설명설명설명 비고비고비고비고
1
서버
20 Registration
단말의 Secure Element에서 개인키, 공개키 생성 후 FIDO 서버에 공개
키 등록
2 서버 8 Authentication 단말에서 생체인식 후 개인키/공개키를 이용하여 사용자 인증
3
서버
22
Transaction
Confirmation
Authentication과 거의 유사하나, challenge값이 random이 아닌
transaction data임
ASM에서 제공하는 Secure Display로 display된 데이터를 사용자가
confirm시 인증 수행
트랜잭션데이터 – 쇼핑몰,
어떤물건,얼마에 샀는지를
서버에서 추가로 확인해
줌(데이터 조작 방지를 위
해)
4
서버
6 Deregistration 서버에 등록된 공개키와 Authenticator 내에 등록된 개인키 삭제
5 클라이언트 2 Discovery 단말에서 지원하는 Authenticator 검색
6 클라이언트 8 Registration
단말의 Secure Element에서 개인키, 공개키 생성 후 FIDO 서버에 공개
키 등록
7 클라이언트 8 Authentication 단말에서 생체인식 후 개인키/공개키를 이용하여 사용자 인증
8 클라이언트 8
Transaction
Confirmation
Authentication과 거의 유사하나, challenge값이 random이 아닌
transaction data임
ASM에서 제공하는 Secure Display로 display된 데이터를 사용자가
confirm시 인증 수행
9 클라이언트 2 Deregistration 서버에 등록된 공개키와 Authenticator 내에 등록된 개인키 삭제
10 그외 Admin 기능
순번 시스템 설명
1 FIDO Client 앱(Android) 단말에 설치되며, RP App 및 ASM과 연동하여 FIDO operation 수행
2 FIDO Server Play Framework 기반의 데몬으로써 RP Server의 요청에 따른 FIDO operation 수행
3 FIDO Admin FIDO 관련 정보 및 정책 관리 모듈로써 CLI 형태로 동작
테스트 설계
접근은 어떤 식으로
해야 할까?
오픈 스펙과
반복적인
리뷰를 통해
수행수행수행수행 절차절차절차절차 개요개요개요개요
- Open Specfication 분석
- 테스트 설계
- 테스트 스크립트 작성(테스트 수행) 및 결과 리뷰
FIDO Open Specifications
분석분석
설계설계
구현 및 단위테스트구현 및 단위테스트
API/통합 테스트API/통합 테스트
스펙 리뷰,
테스트 요건 인터뷰
스펙 리뷰,
테스트 요건 인터뷰
테스트 설계테스트 설계
SoapUI 스크립트 작
성
SoapUI 스크립트 작
성
요건에 부합하는 제품 출시요건에 부합하는 제품 출시
개발 테스트인터뷰
검토
참조
상세상세상세상세 수행수행수행수행 절차절차절차절차
[ 테스트 케이스 ATS_RegRsp_003 ]
서버에서 정의한 disallowed에 포함된 장비를 등
록하려는 경우 에러가 발생하여야 한다
[ REST API 호출 ]
- URL BODY :
http://70.30.160.97:9002/uaf/response/registrati
on
- 입력 파라미터
. 장비 id : AA12#11CE
. userName : soapui_testuser
. App id : android:apk-key-hash:YHNHKiw
[ 기대결과 ]
에러코드 1492 Unacceptable Authenticator /
에러코드 1404 Not Found
[예]
OpenSpecificationOpenSpecification 테스트 설계테스트 설계 SoapUI 테스트SoapUI 테스트
. API 관점에서 간이 스펙
작성
. 간이 스펙에 대해 개발팀과
실제 구현내용과 비교하며
리뷰
. 구현 과정에서의 특이사항
확인 및 현재 테스트하고 있는
내용 확인
. 테스트 케이스 후보, 상세수
행절차, 입력 데이터, 수행 결
과 등에 대해 정리
. 정리한 내용에 대해 개발팀
과 리뷰(담당자 인터뷰)
. 리뷰한 내용 취합 후 개발팀
전체에 공유, 피드백 요청
. 테스트 케이스 작성
. 테스트 스크립트 작성(빠른
시간 안에 수행하기 위해
SoapUI 이용)
. Jenkins를 이용 테스트 자동
수행 환경 구축
. 결함 15건 개발팀과 리뷰
분석분석분석분석 설계설계설계설계 구현구현구현구현
1.1.1.1. 간이간이간이간이 설계서설계서설계서설계서 작성작성작성작성
- 테스트테스트테스트테스트 요건요건요건요건을 도출하기 위해서 개발개발개발개발 요건요건요건요건을 분석한다.
- 산출물이 없는 경우 커뮤니케이션을 위한 간이설계서 등을 작성한다
대상대상대상대상 API :API :API :API : RegistraionRegistraionRegistraionRegistraion대상대상대상대상 API :API :API :API : RegistraionRegistraionRegistraionRegistraion
APIAPIAPIAPI 개요개요개요개요APIAPIAPIAPI 개요개요개요개요
Server,Server,Server,Server, ClinetClinetClinetClinet 간의간의간의간의
시퀀스시퀀스시퀀스시퀀스 다이어그램다이어그램다이어그램다이어그램 파악파악파악파악
Server,Server,Server,Server, ClinetClinetClinetClinet 간의간의간의간의
시퀀스시퀀스시퀀스시퀀스 다이어그램다이어그램다이어그램다이어그램 파악파악파악파악
OperationOperationOperationOperation 설명설명설명설명((((로직로직로직로직))))OperationOperationOperationOperation 설명설명설명설명((((로직로직로직로직))))
데이터데이터데이터데이터 정의정의정의정의데이터데이터데이터데이터 정의정의정의정의
2.2.2.2. 인터뷰인터뷰인터뷰인터뷰 준비준비준비준비
- 테스트 요건들을 빨간색, 메모 등으로 기록했다가 개발팀과 해당 항목에 대해 인터뷰를
수행한다. 이해한 내용이 맞는지, 실제 구현은 어떻게 됐는지, 어떻게 테스트해야 하는지,
현재 테스트는 어떻게/ 어떤 수준으로 하고 있는지 확인한다
OpenSpecificationOpenSpecificationOpenSpecificationOpenSpecificationOpenSpecificationOpenSpecificationOpenSpecificationOpenSpecification 테스트테스트테스트테스트 요건요건요건요건 도출도출도출도출테스트테스트테스트테스트 요건요건요건요건 도출도출도출도출 인터뷰인터뷰인터뷰인터뷰인터뷰인터뷰인터뷰인터뷰
시퀀스시퀀스시퀀스시퀀스 다이어그램다이어그램다이어그램다이어그램시퀀스시퀀스시퀀스시퀀스 다이어그램다이어그램다이어그램다이어그램
구현구현구현구현 로직로직로직로직구현구현구현구현 로직로직로직로직
데이터데이터데이터데이터 항목항목항목항목 정의정의정의정의데이터데이터데이터데이터 항목항목항목항목 정의정의정의정의
주어진 요건(오픈스펙)을
1차 분석하고 추가 확인사항과
테스트케이스 후보를 도출하여
개발팀과 인터뷰
잘못된 정보 제거,
수행 로직, 수행결과 파악,
테스트 케이스 후보 추가
※※※※ 테스트테스트테스트테스트 요건요건요건요건 분석분석분석분석 및및및및 케이스케이스케이스케이스 도출도출도출도출 예예예예
테스트테스트테스트테스트 케이스케이스케이스케이스 후보후보후보후보
: Protocol 버전이 없는 경우 기대한 에러가 발생
하는가?
테스트테스트테스트테스트 케이스케이스케이스케이스 후보후보후보후보
: 필수 필드가 누락된 경우 기대한 에러가 발생하
는가?
테스트테스트테스트테스트 케이스케이스케이스케이스 후보후보후보후보
: appID, challenge 값등이 최초 요청한 값과 동
일하지 않은 경우 기대한 에러가 발생하는가?
테스트테스트테스트테스트 케이스케이스케이스케이스 후보후보후보후보
: 클라이언트가 요청한 AAID 가 정책에 맞지 않
는 AAID일 때 서버단에서 기대한 동작을 하는
가?
테스트테스트테스트테스트 케이스케이스케이스케이스 후보후보후보후보
: 헤더의 op 값이 정해진 값이 아닌 경우 기대한
에러가 발생하는가?
테스트테스트테스트테스트 케이스케이스케이스케이스 후보후보후보후보
: 필수 입력인 사용자 이름이 없거나, 공백문자
가 입력되거나, 128바이트를 넘는 경우 기대한
에러가 발생하는가?
데이터데이터데이터데이터 정의정의정의정의데이터데이터데이터데이터 정의정의정의정의
OperationOperationOperationOperation 설명설명설명설명((((로직로직로직로직))))OperationOperationOperationOperation 설명설명설명설명((((로직로직로직로직))))
3.3.3.3. 인터뷰인터뷰인터뷰인터뷰 수행수행수행수행
- 개발 팀과 상세 리뷰
테스트 케이스 후보
: Protocol 버전이 없는 경우 기대한 에러가 발생
하는가?
테스트 케이스 후보
: 필수 필드가 누락된 경우 기대한 에러가 발생하
는가?
테스트 케이스 후보
: appID, challenge 값등이 최초 요청한 값과 동일
하지 않은 경우 기대한 에러가 발생하는가?
테스트 케이스 후보
: 클라이언트가 요청한 AAID 가 정책에 맞지 않는
AAID일 때 서버단에서 기대한 동작을 하는가?
테스트 케이스 후보
: 헤더의 op 값이 정해진 값이 아닌 경우 기대한 에
러가 발생하는가?
테스트 케이스 후보
: 필수 입력인 사용자 이름이 없거나, 공백문자가
입력되거나, 128바이트를 넘는 경우 기대한 에러
가 발생하는가?
기존 테스트
수행여부,
방법, 위치정보
발생
가능성
발생시
영향 정도
Exception
발생하도록 개발
완료 및 테스트 코드
작성 완료
하 하
개발 및 테스트 코드
작성 완료
중 하
개발 및 테스트 코드
작성 완료
상 상
개발 및 테스트 코드
작성 완료
하 하
개발 및 테스트 코드
작성 완료
하 하
개발 및 테스트 코드
작성 완료
중 하
전체 중 일부(예)
이런 리뷰 활동에 대한
개발팀의 반응은?
예상 이상의
만족도
※※※※ 개발팀과개발팀과개발팀과개발팀과 ROIROIROIROI 포함포함포함포함 회고회고회고회고
- 테스트 지원 인력은 API당 평균 35개의 테스트 요건을 추출
(예: 등록API - 기본흐름 3개, 대안흐름 3개, validation 28개, 동시성 1개)
- (*)3자 검토에 대한 정성적 효과가 있는지 협의
(* 동일한 요건에 대해 다른 관점(품질)에서 동일 요건을 검토하여 협업하는 방법)
테스트 전문
인력
개발 팀과
중복 작업이 아닌지?
스펙 분석의
어려움(시간)..
테스트 쪽의
가용한 리소스는?
의미있는
분석인지(중요도)?
전체적으로 이런 검토를 해 주는 것만도
의미가 있고,
검토해서 한 개라도 개발팀에서 놓친 건들
을 찾기만 해도 큰 도움이 될 것 같다
개발팀 내에 개인개인이 알던 내용이
개발팀 전체에 공유되어 의사소통이 개선
된다
개발 초기부터 이렇게 같이 봐줬으면 좋았
을 거 같다
테스트 상세 설계와
테스트 수행
4.4.4.4. 테스트테스트테스트테스트 설계설계설계설계
인터뷰인터뷰 테스트 설계테스트 설계
5.5.5.5. 테스트테스트테스트테스트 스크립트스크립트스크립트스크립트 작성작성작성작성 및및및및 수행수행수행수행
테스트 설계테스트 설계 SoapUI 스크립트 작성
및 수행
SoapUI 스크립트 작성
및 수행
6.6.6.6. 테스트테스트테스트테스트 수행수행수행수행 결과결과결과결과((((의견의견의견의견)))) 리뷰리뷰리뷰리뷰
(결과 정리 일부)
- 서버-클라이언트 연동 테스트를 위한 MockClient를 짧은 기간에 구현하다 보니 일부
테스트 케이스는 수행하지 못함
- 기능 상의 오류는 없었으나 일부 적합한 에러코드가 아닌 다른 에러코드가 발생하는
경우가 있음(예: 등록이 허용되지 않는 장비로 등록 시도 시
기대한 [1492 Unacceptable Authenticator]가 아닌 [1404 Not Found] 가 발생)
- 전체 결함은 17건(중복 9건)은 오프라인 결함 리뷰 후 정리하여 조치 중
- FIDO Server RestAPI의 에러코드가 상세히 정의되어 있지 않아 현재
에러코드만으로는 에러 원인을 알기 어려운 경우가 있음. 에러코드를 더 정의하거나
하위에 별도 에러코드 체계를 가져가야 할 것으로 보임
(예: 다양한 비정상 상황에 대해 다음과 같이 포괄적인 의미의 에러코드 발생 - 1500
Internal Server Error, 1496 Unacceptable Attestation, 1400 Bad Request, 1491
Request Invalid 등)
전하려는
메시지
테스트테스트테스트테스트 설계에설계에설계에설계에 대한대한대한대한 메시지메시지메시지메시지
테스트 설계에서 가장 중요하다고 생각하는 것
Test BasisTest BasisTest BasisTest Basis 분석분석분석분석
테스트테스트테스트테스트 요건요건요건요건 도출도출도출도출
테스트테스트테스트테스트 케이스케이스케이스케이스 도출도출도출도출
테스트테스트테스트테스트 절차절차절차절차 작성작성작성작성
<<<<---- 가장가장가장가장 ValueValueValueValue를를를를 갖는갖는갖는갖는 것것것것,,,, 사람들이사람들이사람들이사람들이 잘잘잘잘 못하는못하는못하는못하는 것것것것
<<<<---- 일반적으로일반적으로일반적으로일반적으로 가장가장가장가장 중요하다고중요하다고중요하다고중요하다고 얘기되는얘기되는얘기되는얘기되는 것것것것
테스트테스트테스트테스트 기법을기법을기법을기법을 통해통해통해통해 테스트테스트테스트테스트 케이스를케이스를케이스를케이스를 도출하는도출하는도출하는도출하는 것것것것
<<<<---- 실제실제실제실제 가장가장가장가장 많이많이많이많이,,,, 오래오래오래오래 걸려서걸려서걸려서걸려서 하는하는하는하는 것것것것
현장의현장의현장의현장의 경우경우경우경우 Test BasisTest BasisTest BasisTest Basis가가가가 굉장히굉장히굉장히굉장히 다양하거나다양하거나다양하거나다양하거나 없는없는없는없는 경우가경우가경우가경우가 많음많음많음많음
다양한다양한다양한다양한 산출물산출물산출물산출물,,,, 기존기존기존기존 경험경험경험경험,,,, 각각각각 이해관계자이해관계자이해관계자이해관계자((((고객고객고객고객,,,, 분석분석분석분석////설계자설계자설계자설계자,,,, 개발자개발자개발자개발자 등등등등))))와의와의와의와의
인터뷰인터뷰인터뷰인터뷰 등으로부터등으로부터등으로부터등으로부터 Test BasisTest BasisTest BasisTest Basis를를를를 분석하고분석하고분석하고분석하고 테스트테스트테스트테스트 요건을요건을요건을요건을 도출하는도출하는도출하는도출하는 역량이역량이역량이역량이 필요필요필요필요
많이많이많이많이
투자하는투자하는투자하는투자하는 것것것것
실제실제실제실제
중요한중요한중요한중요한 것것것것
감. 사. 합. 니. 다.
지원내용지원내용지원내용지원내용 요약요약요약요약 ((((특이한특이한특이한특이한 케이스케이스케이스케이스))))
–––– 전체전체전체전체 테스트테스트테스트테스트 사이클이사이클이사이클이사이클이 아닌아닌아닌아닌 테스트테스트테스트테스트 설계만을설계만을설계만을설계만을 ((((테스트테스트테스트테스트 진단진단진단진단 별도별도별도별도 수행수행수행수행)))) 수행수행수행수행
테스트란 기대한 요구사항을 제품이 만족하는지를 검증하는 작업
Software testing is the process of analyzing a software item to detect the differences between
existing and required conditions and to evaluate the features of the software item (IEEE)
테스트란 기대한 요구사항을 제품이 만족하는지를 검증하는 작업
Software testing is the process of analyzing a software item to detect the differences between
existing and required conditions and to evaluate the features of the software item (IEEE)
※테스트란※테스트란
과제에 대해 테스트를 전문으로 하는 인력이, 짧은 기간 안에,
도움이 되는 방법을 찾아 지원하기 바람
과제에 대해 테스트를 전문으로 하는 인력이, 짧은 기간 안에,
도움이 되는 방법을 찾아 지원하기 바람배경배경
수행인력 : 2명
수행일정 : 2014.11.25~12.31
수행인력 : 2명
수행일정 : 2014.11.25~12.31지원개요지원개요
1단계(1주) - 과제 파악 및 Pilot 수행
2단계(2주) - 확대수행
3단계(1주) - 인수인계
1단계(1주) - 과제 파악 및 Pilot 수행
2단계(2주) - 확대수행
3단계(1주) - 인수인계
수행절차수행절차
구현해야 하는 요건에 대한 3자 검토
요건에 대한 테스트 시나리오 작성 및 수행
그 외 테스트 전반적인 부분에 대한 개선 의견 공유
구현해야 하는 요건에 대한 3자 검토
요건에 대한 테스트 시나리오 작성 및 수행
그 외 테스트 전반적인 부분에 대한 개선 의견 공유
기대효과기대효과

More Related Content

What's hot

위험기반테스트접근 테스트계획 사례
위험기반테스트접근 테스트계획 사례위험기반테스트접근 테스트계획 사례
위험기반테스트접근 테스트계획 사례
SangIn Choung
 
심성환 개발자 포트폴리오
심성환 개발자 포트폴리오심성환 개발자 포트폴리오
심성환 개발자 포트폴리오
Seonghwan Shim
 
Rest api 테스트 수행가이드
Rest api 테스트 수행가이드Rest api 테스트 수행가이드
Rest api 테스트 수행가이드
SangIn Choung
 
모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)
Jongwon Kim
 
(애자일) 테스트 계획서 샘플
(애자일) 테스트 계획서 샘플(애자일) 테스트 계획서 샘플
(애자일) 테스트 계획서 샘플
SangIn Choung
 
Test Design and Automation for REST API
Test Design and Automation for REST APITest Design and Automation for REST API
Test Design and Automation for REST API
Ivan Katunou
 
김종욱 포트폴리오
김종욱 포트폴리오김종욱 포트폴리오
김종욱 포트폴리오
Jonguk Kim
 
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
Jeongmin Cha
 
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
SangIn Choung
 
Manual Testing Material by Durgasoft
Manual Testing Material by DurgasoftManual Testing Material by Durgasoft
Manual Testing Material by Durgasoft
Durga Prasad
 
Android Developer JeongJaeyun
Android Developer JeongJaeyunAndroid Developer JeongJaeyun
Android Developer JeongJaeyun
jaeyunjeong1
 
Open edx 통합테스트 보고서
Open edx 통합테스트 보고서Open edx 통합테스트 보고서
Open edx 통합테스트 보고서
sam Cyberspace
 
기본적인 테스트에 대한 pytest 자동화 접근
기본적인 테스트에 대한 pytest 자동화 접근기본적인 테스트에 대한 pytest 자동화 접근
기본적인 테스트에 대한 pytest 자동화 접근
SangIn Choung
 
자동화된 Test Case의 효과
자동화된 Test Case의 효과자동화된 Test Case의 효과
자동화된 Test Case의 효과
도형 임
 
SI 화면테스트(단위) 가이드
SI 화면테스트(단위) 가이드SI 화면테스트(단위) 가이드
SI 화면테스트(단위) 가이드
SangIn Choung
 
신입 웹 개발자 포트폴리오 / 댓글 게시판
신입 웹 개발자 포트폴리오 / 댓글 게시판신입 웹 개발자 포트폴리오 / 댓글 게시판
신입 웹 개발자 포트폴리오 / 댓글 게시판
hyeonjae Cheon
 
API Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberAPI Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+Cucumber
Knoldus Inc.
 
Robot framework
Robot frameworkRobot framework
Robot framework
boriau
 
Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile Apps
Sauce Labs
 
Cypress test techniques cucumber bdd framework,tdd,api tests course
Cypress test techniques cucumber bdd framework,tdd,api tests courseCypress test techniques cucumber bdd framework,tdd,api tests course
Cypress test techniques cucumber bdd framework,tdd,api tests course
Narayanan Palani
 

What's hot (20)

위험기반테스트접근 테스트계획 사례
위험기반테스트접근 테스트계획 사례위험기반테스트접근 테스트계획 사례
위험기반테스트접근 테스트계획 사례
 
심성환 개발자 포트폴리오
심성환 개발자 포트폴리오심성환 개발자 포트폴리오
심성환 개발자 포트폴리오
 
Rest api 테스트 수행가이드
Rest api 테스트 수행가이드Rest api 테스트 수행가이드
Rest api 테스트 수행가이드
 
모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)
 
(애자일) 테스트 계획서 샘플
(애자일) 테스트 계획서 샘플(애자일) 테스트 계획서 샘플
(애자일) 테스트 계획서 샘플
 
Test Design and Automation for REST API
Test Design and Automation for REST APITest Design and Automation for REST API
Test Design and Automation for REST API
 
김종욱 포트폴리오
김종욱 포트폴리오김종욱 포트폴리오
김종욱 포트폴리오
 
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
 
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
 
Manual Testing Material by Durgasoft
Manual Testing Material by DurgasoftManual Testing Material by Durgasoft
Manual Testing Material by Durgasoft
 
Android Developer JeongJaeyun
Android Developer JeongJaeyunAndroid Developer JeongJaeyun
Android Developer JeongJaeyun
 
Open edx 통합테스트 보고서
Open edx 통합테스트 보고서Open edx 통합테스트 보고서
Open edx 통합테스트 보고서
 
기본적인 테스트에 대한 pytest 자동화 접근
기본적인 테스트에 대한 pytest 자동화 접근기본적인 테스트에 대한 pytest 자동화 접근
기본적인 테스트에 대한 pytest 자동화 접근
 
자동화된 Test Case의 효과
자동화된 Test Case의 효과자동화된 Test Case의 효과
자동화된 Test Case의 효과
 
SI 화면테스트(단위) 가이드
SI 화면테스트(단위) 가이드SI 화면테스트(단위) 가이드
SI 화면테스트(단위) 가이드
 
신입 웹 개발자 포트폴리오 / 댓글 게시판
신입 웹 개발자 포트폴리오 / 댓글 게시판신입 웹 개발자 포트폴리오 / 댓글 게시판
신입 웹 개발자 포트폴리오 / 댓글 게시판
 
API Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberAPI Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+Cucumber
 
Robot framework
Robot frameworkRobot framework
Robot framework
 
Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile Apps
 
Cypress test techniques cucumber bdd framework,tdd,api tests course
Cypress test techniques cucumber bdd framework,tdd,api tests courseCypress test techniques cucumber bdd framework,tdd,api tests course
Cypress test techniques cucumber bdd framework,tdd,api tests course
 

Viewers also liked

테스트개선지원 사례 - 웹어플리케이션대상
테스트개선지원 사례 - 웹어플리케이션대상테스트개선지원 사례 - 웹어플리케이션대상
테스트개선지원 사례 - 웹어플리케이션대상
SangIn Choung
 
UI 정적분석툴 소개와 활용사례
UI 정적분석툴 소개와 활용사례UI 정적분석툴 소개와 활용사례
UI 정적분석툴 소개와 활용사례
SangIn Choung
 
[H3 2012] 스마트모바일 환경에서의 App.품질관리전략
[H3 2012] 스마트모바일 환경에서의 App.품질관리전략[H3 2012] 스마트모바일 환경에서의 App.품질관리전략
[H3 2012] 스마트모바일 환경에서의 App.품질관리전략
KTH, 케이티하이텔
 
크로스(멀티)브라우저 테스트수행가이드
크로스(멀티)브라우저 테스트수행가이드크로스(멀티)브라우저 테스트수행가이드
크로스(멀티)브라우저 테스트수행가이드
SangIn Choung
 
When develpment met test(shift left testing)
When develpment met test(shift left testing)When develpment met test(shift left testing)
When develpment met test(shift left testing)
SangIn Choung
 
Audit of-primary-school-website-rag-check-list-template (1)
Audit of-primary-school-website-rag-check-list-template (1)Audit of-primary-school-website-rag-check-list-template (1)
Audit of-primary-school-website-rag-check-list-template (1)Julia Skinner
 
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
SangIn Choung
 
애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)
애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)
애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)
SangIn Choung
 
Io t에서의 소프트웨어단위테스트_접근사례
Io t에서의 소프트웨어단위테스트_접근사례Io t에서의 소프트웨어단위테스트_접근사례
Io t에서의 소프트웨어단위테스트_접근사례
SangIn Choung
 
테스터가 말하는 테스트코드 작성 팁과 사례
테스터가 말하는 테스트코드 작성 팁과 사례테스터가 말하는 테스트코드 작성 팁과 사례
테스터가 말하는 테스트코드 작성 팁과 사례
SangIn Choung
 
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project
Ji-Woong Choi
 
RESTful API 제대로 만들기
RESTful API 제대로 만들기RESTful API 제대로 만들기
RESTful API 제대로 만들기
Juwon Kim
 

Viewers also liked (12)

테스트개선지원 사례 - 웹어플리케이션대상
테스트개선지원 사례 - 웹어플리케이션대상테스트개선지원 사례 - 웹어플리케이션대상
테스트개선지원 사례 - 웹어플리케이션대상
 
UI 정적분석툴 소개와 활용사례
UI 정적분석툴 소개와 활용사례UI 정적분석툴 소개와 활용사례
UI 정적분석툴 소개와 활용사례
 
[H3 2012] 스마트모바일 환경에서의 App.품질관리전략
[H3 2012] 스마트모바일 환경에서의 App.품질관리전략[H3 2012] 스마트모바일 환경에서의 App.품질관리전략
[H3 2012] 스마트모바일 환경에서의 App.품질관리전략
 
크로스(멀티)브라우저 테스트수행가이드
크로스(멀티)브라우저 테스트수행가이드크로스(멀티)브라우저 테스트수행가이드
크로스(멀티)브라우저 테스트수행가이드
 
When develpment met test(shift left testing)
When develpment met test(shift left testing)When develpment met test(shift left testing)
When develpment met test(shift left testing)
 
Audit of-primary-school-website-rag-check-list-template (1)
Audit of-primary-school-website-rag-check-list-template (1)Audit of-primary-school-website-rag-check-list-template (1)
Audit of-primary-school-website-rag-check-list-template (1)
 
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
 
애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)
애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)
애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)
 
Io t에서의 소프트웨어단위테스트_접근사례
Io t에서의 소프트웨어단위테스트_접근사례Io t에서의 소프트웨어단위테스트_접근사례
Io t에서의 소프트웨어단위테스트_접근사례
 
테스터가 말하는 테스트코드 작성 팁과 사례
테스터가 말하는 테스트코드 작성 팁과 사례테스터가 말하는 테스트코드 작성 팁과 사례
테스터가 말하는 테스트코드 작성 팁과 사례
 
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project
 
RESTful API 제대로 만들기
RESTful API 제대로 만들기RESTful API 제대로 만들기
RESTful API 제대로 만들기
 

Similar to 오픈 스펙을 대상으로 한 테스트설계사례

테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션
SangIn Choung
 
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
tobeware
 
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
Amazon Web Services Korea
 
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
SangIn Choung
 
Android Native Module 안정적으로 개발하기
Android Native Module 안정적으로 개발하기Android Native Module 안정적으로 개발하기
Android Native Module 안정적으로 개발하기
hanbeom Park
 
Tr#3 5) 임성현 책임
Tr#3 5) 임성현 책임Tr#3 5) 임성현 책임
Tr#3 5) 임성현 책임Lim SungHyun
 
Framework principal v1.6
Framework principal v1.6Framework principal v1.6
Framework principal v1.6Alopex Ui
 
2015 SINVAS DAY - SINVAS TEST (테스트 자동화를 위한 전략과 구성 방안)
2015 SINVAS DAY - SINVAS TEST (테스트 자동화를 위한 전략과 구성 방안)2015 SINVAS DAY - SINVAS TEST (테스트 자동화를 위한 전략과 구성 방안)
2015 SINVAS DAY - SINVAS TEST (테스트 자동화를 위한 전략과 구성 방안)
Suji Lee
 
20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging
Jongwon Han
 
VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리
Gyuwon Yi
 
더 나은 SW프로젝트를 위해
 더 나은 SW프로젝트를 위해 더 나은 SW프로젝트를 위해
더 나은 SW프로젝트를 위해
지수 윤
 
단위테스트자동화지원도구 임성현 최종
단위테스트자동화지원도구 임성현 최종단위테스트자동화지원도구 임성현 최종
단위테스트자동화지원도구 임성현 최종guest7178884
 
Android QA Process
Android QA ProcessAndroid QA Process
Android QA Process
Young-Hyuk Yoo
 
Atlassian을 이용한 애자일 ALM 소개 / JIRA 프로젝트 예산 관리 - 커브
Atlassian을 이용한 애자일 ALM 소개 / JIRA 프로젝트 예산 관리 - 커브Atlassian을 이용한 애자일 ALM 소개 / JIRA 프로젝트 예산 관리 - 커브
Atlassian을 이용한 애자일 ALM 소개 / JIRA 프로젝트 예산 관리 - 커브
Atlassian 대한민국
 
[오픈소스컨설팅]소프트웨어 개발 준비 과정
[오픈소스컨설팅]소프트웨어 개발 준비 과정[오픈소스컨설팅]소프트웨어 개발 준비 과정
[오픈소스컨설팅]소프트웨어 개발 준비 과정
Ji-Woong Choi
 
practical perf testing - d2startup
practical perf testing - d2startuppractical perf testing - d2startup
practical perf testing - d2startup
JunHo Yoon
 
Build Team Foundation Architecture
Build Team Foundation ArchitectureBuild Team Foundation Architecture
Build Team Foundation Architecture준일 엄
 
테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)
KH Park (박경훈)
 
발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법
SangIn Choung
 
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
Sungmin Kim
 

Similar to 오픈 스펙을 대상으로 한 테스트설계사례 (20)

테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션
 
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
 
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
 
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
 
Android Native Module 안정적으로 개발하기
Android Native Module 안정적으로 개발하기Android Native Module 안정적으로 개발하기
Android Native Module 안정적으로 개발하기
 
Tr#3 5) 임성현 책임
Tr#3 5) 임성현 책임Tr#3 5) 임성현 책임
Tr#3 5) 임성현 책임
 
Framework principal v1.6
Framework principal v1.6Framework principal v1.6
Framework principal v1.6
 
2015 SINVAS DAY - SINVAS TEST (테스트 자동화를 위한 전략과 구성 방안)
2015 SINVAS DAY - SINVAS TEST (테스트 자동화를 위한 전략과 구성 방안)2015 SINVAS DAY - SINVAS TEST (테스트 자동화를 위한 전략과 구성 방안)
2015 SINVAS DAY - SINVAS TEST (테스트 자동화를 위한 전략과 구성 방안)
 
20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging
 
VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리
 
더 나은 SW프로젝트를 위해
 더 나은 SW프로젝트를 위해 더 나은 SW프로젝트를 위해
더 나은 SW프로젝트를 위해
 
단위테스트자동화지원도구 임성현 최종
단위테스트자동화지원도구 임성현 최종단위테스트자동화지원도구 임성현 최종
단위테스트자동화지원도구 임성현 최종
 
Android QA Process
Android QA ProcessAndroid QA Process
Android QA Process
 
Atlassian을 이용한 애자일 ALM 소개 / JIRA 프로젝트 예산 관리 - 커브
Atlassian을 이용한 애자일 ALM 소개 / JIRA 프로젝트 예산 관리 - 커브Atlassian을 이용한 애자일 ALM 소개 / JIRA 프로젝트 예산 관리 - 커브
Atlassian을 이용한 애자일 ALM 소개 / JIRA 프로젝트 예산 관리 - 커브
 
[오픈소스컨설팅]소프트웨어 개발 준비 과정
[오픈소스컨설팅]소프트웨어 개발 준비 과정[오픈소스컨설팅]소프트웨어 개발 준비 과정
[오픈소스컨설팅]소프트웨어 개발 준비 과정
 
practical perf testing - d2startup
practical perf testing - d2startuppractical perf testing - d2startup
practical perf testing - d2startup
 
Build Team Foundation Architecture
Build Team Foundation ArchitectureBuild Team Foundation Architecture
Build Team Foundation Architecture
 
테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)
 
발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법
 
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
 

More from SangIn Choung

jacoco를 이용한 매뉴얼 테스트의 서버사이드 코드 커버리지 측정하기
jacoco를 이용한 매뉴얼 테스트의 서버사이드 코드 커버리지 측정하기jacoco를 이용한 매뉴얼 테스트의 서버사이드 코드 커버리지 측정하기
jacoco를 이용한 매뉴얼 테스트의 서버사이드 코드 커버리지 측정하기
SangIn Choung
 
짝 테스트(Pair Testing) 소개와 사례
짝 테스트(Pair Testing) 소개와 사례짝 테스트(Pair Testing) 소개와 사례
짝 테스트(Pair Testing) 소개와 사례
SangIn Choung
 
UI빈발결함 및 테스트의 필요성 초기교육자료
UI빈발결함 및 테스트의 필요성 초기교육자료UI빈발결함 및 테스트의 필요성 초기교육자료
UI빈발결함 및 테스트의 필요성 초기교육자료
SangIn Choung
 
코드 테스트와 커버리지 관련 설문 및 개선계획수립 in 2018
코드 테스트와 커버리지 관련 설문 및 개선계획수립 in 2018코드 테스트와 커버리지 관련 설문 및 개선계획수립 in 2018
코드 테스트와 커버리지 관련 설문 및 개선계획수립 in 2018
SangIn Choung
 
[고급과정] 코드 테스트와 커버리지 교육(실습위주)
[고급과정] 코드 테스트와 커버리지 교육(실습위주)[고급과정] 코드 테스트와 커버리지 교육(실습위주)
[고급과정] 코드 테스트와 커버리지 교육(실습위주)
SangIn Choung
 
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드 Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
SangIn Choung
 
testing for agile?, agile for testing
testing for agile?, agile for testingtesting for agile?, agile for testing
testing for agile?, agile for testing
SangIn Choung
 
SDET 인력 양성을 위한 프로젝트 지원 사례 정리
SDET 인력 양성을 위한 프로젝트 지원 사례 정리SDET 인력 양성을 위한 프로젝트 지원 사례 정리
SDET 인력 양성을 위한 프로젝트 지원 사례 정리
SangIn Choung
 
sdet수행 사례
sdet수행 사례sdet수행 사례
sdet수행 사례
SangIn Choung
 
엔지니어링관점에서 테스트 개선방안 질의 응답
엔지니어링관점에서 테스트 개선방안 질의 응답엔지니어링관점에서 테스트 개선방안 질의 응답
엔지니어링관점에서 테스트 개선방안 질의 응답
SangIn Choung
 
Coded ui가이드
Coded ui가이드Coded ui가이드
Coded ui가이드
SangIn Choung
 

More from SangIn Choung (11)

jacoco를 이용한 매뉴얼 테스트의 서버사이드 코드 커버리지 측정하기
jacoco를 이용한 매뉴얼 테스트의 서버사이드 코드 커버리지 측정하기jacoco를 이용한 매뉴얼 테스트의 서버사이드 코드 커버리지 측정하기
jacoco를 이용한 매뉴얼 테스트의 서버사이드 코드 커버리지 측정하기
 
짝 테스트(Pair Testing) 소개와 사례
짝 테스트(Pair Testing) 소개와 사례짝 테스트(Pair Testing) 소개와 사례
짝 테스트(Pair Testing) 소개와 사례
 
UI빈발결함 및 테스트의 필요성 초기교육자료
UI빈발결함 및 테스트의 필요성 초기교육자료UI빈발결함 및 테스트의 필요성 초기교육자료
UI빈발결함 및 테스트의 필요성 초기교육자료
 
코드 테스트와 커버리지 관련 설문 및 개선계획수립 in 2018
코드 테스트와 커버리지 관련 설문 및 개선계획수립 in 2018코드 테스트와 커버리지 관련 설문 및 개선계획수립 in 2018
코드 테스트와 커버리지 관련 설문 및 개선계획수립 in 2018
 
[고급과정] 코드 테스트와 커버리지 교육(실습위주)
[고급과정] 코드 테스트와 커버리지 교육(실습위주)[고급과정] 코드 테스트와 커버리지 교육(실습위주)
[고급과정] 코드 테스트와 커버리지 교육(실습위주)
 
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드 Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
 
testing for agile?, agile for testing
testing for agile?, agile for testingtesting for agile?, agile for testing
testing for agile?, agile for testing
 
SDET 인력 양성을 위한 프로젝트 지원 사례 정리
SDET 인력 양성을 위한 프로젝트 지원 사례 정리SDET 인력 양성을 위한 프로젝트 지원 사례 정리
SDET 인력 양성을 위한 프로젝트 지원 사례 정리
 
sdet수행 사례
sdet수행 사례sdet수행 사례
sdet수행 사례
 
엔지니어링관점에서 테스트 개선방안 질의 응답
엔지니어링관점에서 테스트 개선방안 질의 응답엔지니어링관점에서 테스트 개선방안 질의 응답
엔지니어링관점에서 테스트 개선방안 질의 응답
 
Coded ui가이드
Coded ui가이드Coded ui가이드
Coded ui가이드
 

오픈 스펙을 대상으로 한 테스트설계사례

  • 1. 오픈 스펙을 대상으로 한 테스트 설계 사례 Case Study :Case Study :Case Study :Case Study : TestCaseTestCaseTestCaseTestCase Design with OpenDesign with OpenDesign with OpenDesign with Open Specification(FIDOSpecification(FIDOSpecification(FIDOSpecification(FIDO)))) 2015.01 by JungGun home: genycho.blog.me
  • 2. This is… 테스트 케이스를 설계하는 일은 다양한 테스트 레벨에서 발생하고 각각에 따라 다른 목적, 형태의 결과물이 생성 됨 오픈 스펙으로부터 (RESTful) API에 대한 (블랙박스 기반) 테스트 설계 사례를 공유 상세 절차나 결과물보다는 접근방법(분석-리뷰-설계-리뷰-수행-리뷰) 이 다른 분들에게 참고가 되었으면...
  • 4. 프로젝트프로젝트프로젝트프로젝트 개요개요개요개요 - FIDO Alliance : http://fidoalliance.org/about 기존의 패쓰워드 기반 온라인 인증 방식을 생체정보를 기반으로 인증할 수 있는 기술 FIDO Alliance에서는 이를 위해 전세계적으로 통용될 수 있는 표준 스펙을 제공함 우리도 이 스펙을 기반으로 우리만의 FIDO(Fast IDentity Online) 기술을 구현 FIDO Alliance (Fast IDentity Online) FIDO Alliance (Fast IDentity Online) Open Specifications 구현 by A 회사 구현 by B 회사 구현 by 우리 … …
  • 5. FIDOFIDOFIDOFIDO 아키텍처아키텍처아키텍처아키텍처 - FIDO Server : 정의한 정책 및 DB 정보에 따라 앱별, 사용자별 인증 장비를 관리하고 인증을 수행 - FIDO Client : 사용자가 요청한 인증 정보를 FIDO Server에 전송하고 그 결과를 사용자에게 전달 - FIDO SDK(server, client) : FIDO server/client를 사용자가 사용(개발)할 수 있도록 제공해 준 개발 킷 - Relying Party 서버/클라이언트(앱) : FIDO를 사용할 가상의 사용자 서버/클라이언트 - Authenticator-Specific Module (ASM) : 인증 장치와 인증 정보를 주고 받는 인터페이스 영역 FIDO Client(앱,apk)FIDO Client(앱,apk) RPClient (테스트용 앱) RPClient (테스트용 앱) FIDO ServerFIDO Server RPServer (테스트용 서 버) RPServer (테스트용 서 버)RegistrationRegistration Authentication (Transaction) Authentication (Transaction) FIDO protocols Web IDL FIDO protocols? Web IDL ? FIDO SDKFIDO SDK FIDO SDKFIDO SDK REST API 1133 1122 44 44 6655 11 DeRegistrationDeRegistration ASM ※ 아키텍처 영역의 각 번호는 다음 장에 연결
  • 6. 어떤 테스트를 강화할 것인가? 오픈 스펙으로 표준 정의가 된 API 영역!
  • 7. 테스트테스트테스트테스트 단계단계단계단계 //// 아키텍처아키텍처아키텍처아키텍처 레벨에서의레벨에서의레벨에서의레벨에서의 테스트테스트테스트테스트 현황현황현황현황 파악파악파악파악 테스트테스트테스트테스트 단계단계단계단계 영역영역영역영역 위치위치위치위치 사용툴사용툴사용툴사용툴 정의정의정의정의 테스트테스트테스트테스트 수준수준수준수준 단위테스트 서버 [1] Junit 작성한 단위 프로그램, 모듈 및 사용자 인터페이스 등에 대해 단위 모듈 레벨에서 기능이 완전한지를 검증하는 테스트 우수 클라이언트 [1] Junit API테스트 서버 [2] TestNG Swagger FIDO Server의 REST API에 대해 오픈 스펙 및 자체 정의한 규약에 따라 요구된 기능을 만족하는지 검증하는 테스트 보완 필요 클라이언트 [3] Junit FIDO Client 앱에 정의된 각 API에 대해 요구된 기능을 만족하는지 검증하는 테스트 보통 통합테스트 서버 S D K [4] 테스트용 RPServer 구현 사용자가 FIDO SDK(소프트웨어 개발 키트)를 이용하여 FIDO Server와 연동하여 원하는 기능을 사용할 수 있는지 검증하기 위한 테스트 보통 클라이언트 S D K [4] 테스트용 앱 구현 사용자가 FIDO SDK(소프트웨어 개발 키트)를 이용하여 FIDO Client 앱을 쉽게 사용할 수 있는지 검증하기 위한 테스트 보통 서버/클라이언 트 연동 [5],[ 6] 테스트용 RPServer, Client앱 FIDO Server/Client 전체 테스트를 위해 테스트용 사용자 서버/클라이언트 앱을 만들고 정해진 사용 시나리오에 따라 테스트를 수행 우수 ※ 성능 테스트 등의 비기능 테스트는 포함하지 않음
  • 8. FIDOFIDOFIDOFIDO 구성구성구성구성 ((((REST API)REST API)REST API)REST API) No 구분구분구분구분1 ? API명명명명 설명설명설명설명 비고비고비고비고 1 서버 20 Registration 단말의 Secure Element에서 개인키, 공개키 생성 후 FIDO 서버에 공개 키 등록 2 서버 8 Authentication 단말에서 생체인식 후 개인키/공개키를 이용하여 사용자 인증 3 서버 22 Transaction Confirmation Authentication과 거의 유사하나, challenge값이 random이 아닌 transaction data임 ASM에서 제공하는 Secure Display로 display된 데이터를 사용자가 confirm시 인증 수행 트랜잭션데이터 – 쇼핑몰, 어떤물건,얼마에 샀는지를 서버에서 추가로 확인해 줌(데이터 조작 방지를 위 해) 4 서버 6 Deregistration 서버에 등록된 공개키와 Authenticator 내에 등록된 개인키 삭제 5 클라이언트 2 Discovery 단말에서 지원하는 Authenticator 검색 6 클라이언트 8 Registration 단말의 Secure Element에서 개인키, 공개키 생성 후 FIDO 서버에 공개 키 등록 7 클라이언트 8 Authentication 단말에서 생체인식 후 개인키/공개키를 이용하여 사용자 인증 8 클라이언트 8 Transaction Confirmation Authentication과 거의 유사하나, challenge값이 random이 아닌 transaction data임 ASM에서 제공하는 Secure Display로 display된 데이터를 사용자가 confirm시 인증 수행 9 클라이언트 2 Deregistration 서버에 등록된 공개키와 Authenticator 내에 등록된 개인키 삭제 10 그외 Admin 기능 순번 시스템 설명 1 FIDO Client 앱(Android) 단말에 설치되며, RP App 및 ASM과 연동하여 FIDO operation 수행 2 FIDO Server Play Framework 기반의 데몬으로써 RP Server의 요청에 따른 FIDO operation 수행 3 FIDO Admin FIDO 관련 정보 및 정책 관리 모듈로써 CLI 형태로 동작
  • 9. 테스트 설계 접근은 어떤 식으로 해야 할까? 오픈 스펙과 반복적인 리뷰를 통해
  • 10. 수행수행수행수행 절차절차절차절차 개요개요개요개요 - Open Specfication 분석 - 테스트 설계 - 테스트 스크립트 작성(테스트 수행) 및 결과 리뷰 FIDO Open Specifications 분석분석 설계설계 구현 및 단위테스트구현 및 단위테스트 API/통합 테스트API/통합 테스트 스펙 리뷰, 테스트 요건 인터뷰 스펙 리뷰, 테스트 요건 인터뷰 테스트 설계테스트 설계 SoapUI 스크립트 작 성 SoapUI 스크립트 작 성 요건에 부합하는 제품 출시요건에 부합하는 제품 출시 개발 테스트인터뷰 검토 참조
  • 11. 상세상세상세상세 수행수행수행수행 절차절차절차절차 [ 테스트 케이스 ATS_RegRsp_003 ] 서버에서 정의한 disallowed에 포함된 장비를 등 록하려는 경우 에러가 발생하여야 한다 [ REST API 호출 ] - URL BODY : http://70.30.160.97:9002/uaf/response/registrati on - 입력 파라미터 . 장비 id : AA12#11CE . userName : soapui_testuser . App id : android:apk-key-hash:YHNHKiw [ 기대결과 ] 에러코드 1492 Unacceptable Authenticator / 에러코드 1404 Not Found [예] OpenSpecificationOpenSpecification 테스트 설계테스트 설계 SoapUI 테스트SoapUI 테스트 . API 관점에서 간이 스펙 작성 . 간이 스펙에 대해 개발팀과 실제 구현내용과 비교하며 리뷰 . 구현 과정에서의 특이사항 확인 및 현재 테스트하고 있는 내용 확인 . 테스트 케이스 후보, 상세수 행절차, 입력 데이터, 수행 결 과 등에 대해 정리 . 정리한 내용에 대해 개발팀 과 리뷰(담당자 인터뷰) . 리뷰한 내용 취합 후 개발팀 전체에 공유, 피드백 요청 . 테스트 케이스 작성 . 테스트 스크립트 작성(빠른 시간 안에 수행하기 위해 SoapUI 이용) . Jenkins를 이용 테스트 자동 수행 환경 구축 . 결함 15건 개발팀과 리뷰 분석분석분석분석 설계설계설계설계 구현구현구현구현
  • 12. 1.1.1.1. 간이간이간이간이 설계서설계서설계서설계서 작성작성작성작성 - 테스트테스트테스트테스트 요건요건요건요건을 도출하기 위해서 개발개발개발개발 요건요건요건요건을 분석한다. - 산출물이 없는 경우 커뮤니케이션을 위한 간이설계서 등을 작성한다 대상대상대상대상 API :API :API :API : RegistraionRegistraionRegistraionRegistraion대상대상대상대상 API :API :API :API : RegistraionRegistraionRegistraionRegistraion APIAPIAPIAPI 개요개요개요개요APIAPIAPIAPI 개요개요개요개요 Server,Server,Server,Server, ClinetClinetClinetClinet 간의간의간의간의 시퀀스시퀀스시퀀스시퀀스 다이어그램다이어그램다이어그램다이어그램 파악파악파악파악 Server,Server,Server,Server, ClinetClinetClinetClinet 간의간의간의간의 시퀀스시퀀스시퀀스시퀀스 다이어그램다이어그램다이어그램다이어그램 파악파악파악파악 OperationOperationOperationOperation 설명설명설명설명((((로직로직로직로직))))OperationOperationOperationOperation 설명설명설명설명((((로직로직로직로직)))) 데이터데이터데이터데이터 정의정의정의정의데이터데이터데이터데이터 정의정의정의정의
  • 13. 2.2.2.2. 인터뷰인터뷰인터뷰인터뷰 준비준비준비준비 - 테스트 요건들을 빨간색, 메모 등으로 기록했다가 개발팀과 해당 항목에 대해 인터뷰를 수행한다. 이해한 내용이 맞는지, 실제 구현은 어떻게 됐는지, 어떻게 테스트해야 하는지, 현재 테스트는 어떻게/ 어떤 수준으로 하고 있는지 확인한다 OpenSpecificationOpenSpecificationOpenSpecificationOpenSpecificationOpenSpecificationOpenSpecificationOpenSpecificationOpenSpecification 테스트테스트테스트테스트 요건요건요건요건 도출도출도출도출테스트테스트테스트테스트 요건요건요건요건 도출도출도출도출 인터뷰인터뷰인터뷰인터뷰인터뷰인터뷰인터뷰인터뷰 시퀀스시퀀스시퀀스시퀀스 다이어그램다이어그램다이어그램다이어그램시퀀스시퀀스시퀀스시퀀스 다이어그램다이어그램다이어그램다이어그램 구현구현구현구현 로직로직로직로직구현구현구현구현 로직로직로직로직 데이터데이터데이터데이터 항목항목항목항목 정의정의정의정의데이터데이터데이터데이터 항목항목항목항목 정의정의정의정의
  • 14. 주어진 요건(오픈스펙)을 1차 분석하고 추가 확인사항과 테스트케이스 후보를 도출하여 개발팀과 인터뷰 잘못된 정보 제거, 수행 로직, 수행결과 파악, 테스트 케이스 후보 추가
  • 15. ※※※※ 테스트테스트테스트테스트 요건요건요건요건 분석분석분석분석 및및및및 케이스케이스케이스케이스 도출도출도출도출 예예예예 테스트테스트테스트테스트 케이스케이스케이스케이스 후보후보후보후보 : Protocol 버전이 없는 경우 기대한 에러가 발생 하는가? 테스트테스트테스트테스트 케이스케이스케이스케이스 후보후보후보후보 : 필수 필드가 누락된 경우 기대한 에러가 발생하 는가? 테스트테스트테스트테스트 케이스케이스케이스케이스 후보후보후보후보 : appID, challenge 값등이 최초 요청한 값과 동 일하지 않은 경우 기대한 에러가 발생하는가? 테스트테스트테스트테스트 케이스케이스케이스케이스 후보후보후보후보 : 클라이언트가 요청한 AAID 가 정책에 맞지 않 는 AAID일 때 서버단에서 기대한 동작을 하는 가? 테스트테스트테스트테스트 케이스케이스케이스케이스 후보후보후보후보 : 헤더의 op 값이 정해진 값이 아닌 경우 기대한 에러가 발생하는가? 테스트테스트테스트테스트 케이스케이스케이스케이스 후보후보후보후보 : 필수 입력인 사용자 이름이 없거나, 공백문자 가 입력되거나, 128바이트를 넘는 경우 기대한 에러가 발생하는가? 데이터데이터데이터데이터 정의정의정의정의데이터데이터데이터데이터 정의정의정의정의 OperationOperationOperationOperation 설명설명설명설명((((로직로직로직로직))))OperationOperationOperationOperation 설명설명설명설명((((로직로직로직로직))))
  • 16. 3.3.3.3. 인터뷰인터뷰인터뷰인터뷰 수행수행수행수행 - 개발 팀과 상세 리뷰 테스트 케이스 후보 : Protocol 버전이 없는 경우 기대한 에러가 발생 하는가? 테스트 케이스 후보 : 필수 필드가 누락된 경우 기대한 에러가 발생하 는가? 테스트 케이스 후보 : appID, challenge 값등이 최초 요청한 값과 동일 하지 않은 경우 기대한 에러가 발생하는가? 테스트 케이스 후보 : 클라이언트가 요청한 AAID 가 정책에 맞지 않는 AAID일 때 서버단에서 기대한 동작을 하는가? 테스트 케이스 후보 : 헤더의 op 값이 정해진 값이 아닌 경우 기대한 에 러가 발생하는가? 테스트 케이스 후보 : 필수 입력인 사용자 이름이 없거나, 공백문자가 입력되거나, 128바이트를 넘는 경우 기대한 에러 가 발생하는가? 기존 테스트 수행여부, 방법, 위치정보 발생 가능성 발생시 영향 정도 Exception 발생하도록 개발 완료 및 테스트 코드 작성 완료 하 하 개발 및 테스트 코드 작성 완료 중 하 개발 및 테스트 코드 작성 완료 상 상 개발 및 테스트 코드 작성 완료 하 하 개발 및 테스트 코드 작성 완료 하 하 개발 및 테스트 코드 작성 완료 중 하 전체 중 일부(예)
  • 17. 이런 리뷰 활동에 대한 개발팀의 반응은? 예상 이상의 만족도
  • 18. ※※※※ 개발팀과개발팀과개발팀과개발팀과 ROIROIROIROI 포함포함포함포함 회고회고회고회고 - 테스트 지원 인력은 API당 평균 35개의 테스트 요건을 추출 (예: 등록API - 기본흐름 3개, 대안흐름 3개, validation 28개, 동시성 1개) - (*)3자 검토에 대한 정성적 효과가 있는지 협의 (* 동일한 요건에 대해 다른 관점(품질)에서 동일 요건을 검토하여 협업하는 방법) 테스트 전문 인력 개발 팀과 중복 작업이 아닌지? 스펙 분석의 어려움(시간).. 테스트 쪽의 가용한 리소스는? 의미있는 분석인지(중요도)? 전체적으로 이런 검토를 해 주는 것만도 의미가 있고, 검토해서 한 개라도 개발팀에서 놓친 건들 을 찾기만 해도 큰 도움이 될 것 같다 개발팀 내에 개인개인이 알던 내용이 개발팀 전체에 공유되어 의사소통이 개선 된다 개발 초기부터 이렇게 같이 봐줬으면 좋았 을 거 같다
  • 21. 5.5.5.5. 테스트테스트테스트테스트 스크립트스크립트스크립트스크립트 작성작성작성작성 및및및및 수행수행수행수행 테스트 설계테스트 설계 SoapUI 스크립트 작성 및 수행 SoapUI 스크립트 작성 및 수행
  • 22. 6.6.6.6. 테스트테스트테스트테스트 수행수행수행수행 결과결과결과결과((((의견의견의견의견)))) 리뷰리뷰리뷰리뷰 (결과 정리 일부) - 서버-클라이언트 연동 테스트를 위한 MockClient를 짧은 기간에 구현하다 보니 일부 테스트 케이스는 수행하지 못함 - 기능 상의 오류는 없었으나 일부 적합한 에러코드가 아닌 다른 에러코드가 발생하는 경우가 있음(예: 등록이 허용되지 않는 장비로 등록 시도 시 기대한 [1492 Unacceptable Authenticator]가 아닌 [1404 Not Found] 가 발생) - 전체 결함은 17건(중복 9건)은 오프라인 결함 리뷰 후 정리하여 조치 중 - FIDO Server RestAPI의 에러코드가 상세히 정의되어 있지 않아 현재 에러코드만으로는 에러 원인을 알기 어려운 경우가 있음. 에러코드를 더 정의하거나 하위에 별도 에러코드 체계를 가져가야 할 것으로 보임 (예: 다양한 비정상 상황에 대해 다음과 같이 포괄적인 의미의 에러코드 발생 - 1500 Internal Server Error, 1496 Unacceptable Attestation, 1400 Bad Request, 1491 Request Invalid 등)
  • 24. 테스트테스트테스트테스트 설계에설계에설계에설계에 대한대한대한대한 메시지메시지메시지메시지 테스트 설계에서 가장 중요하다고 생각하는 것 Test BasisTest BasisTest BasisTest Basis 분석분석분석분석 테스트테스트테스트테스트 요건요건요건요건 도출도출도출도출 테스트테스트테스트테스트 케이스케이스케이스케이스 도출도출도출도출 테스트테스트테스트테스트 절차절차절차절차 작성작성작성작성 <<<<---- 가장가장가장가장 ValueValueValueValue를를를를 갖는갖는갖는갖는 것것것것,,,, 사람들이사람들이사람들이사람들이 잘잘잘잘 못하는못하는못하는못하는 것것것것 <<<<---- 일반적으로일반적으로일반적으로일반적으로 가장가장가장가장 중요하다고중요하다고중요하다고중요하다고 얘기되는얘기되는얘기되는얘기되는 것것것것 테스트테스트테스트테스트 기법을기법을기법을기법을 통해통해통해통해 테스트테스트테스트테스트 케이스를케이스를케이스를케이스를 도출하는도출하는도출하는도출하는 것것것것 <<<<---- 실제실제실제실제 가장가장가장가장 많이많이많이많이,,,, 오래오래오래오래 걸려서걸려서걸려서걸려서 하는하는하는하는 것것것것 현장의현장의현장의현장의 경우경우경우경우 Test BasisTest BasisTest BasisTest Basis가가가가 굉장히굉장히굉장히굉장히 다양하거나다양하거나다양하거나다양하거나 없는없는없는없는 경우가경우가경우가경우가 많음많음많음많음 다양한다양한다양한다양한 산출물산출물산출물산출물,,,, 기존기존기존기존 경험경험경험경험,,,, 각각각각 이해관계자이해관계자이해관계자이해관계자((((고객고객고객고객,,,, 분석분석분석분석////설계자설계자설계자설계자,,,, 개발자개발자개발자개발자 등등등등))))와의와의와의와의 인터뷰인터뷰인터뷰인터뷰 등으로부터등으로부터등으로부터등으로부터 Test BasisTest BasisTest BasisTest Basis를를를를 분석하고분석하고분석하고분석하고 테스트테스트테스트테스트 요건을요건을요건을요건을 도출하는도출하는도출하는도출하는 역량이역량이역량이역량이 필요필요필요필요 많이많이많이많이 투자하는투자하는투자하는투자하는 것것것것 실제실제실제실제 중요한중요한중요한중요한 것것것것
  • 25. 감. 사. 합. 니. 다.
  • 26. 지원내용지원내용지원내용지원내용 요약요약요약요약 ((((특이한특이한특이한특이한 케이스케이스케이스케이스)))) –––– 전체전체전체전체 테스트테스트테스트테스트 사이클이사이클이사이클이사이클이 아닌아닌아닌아닌 테스트테스트테스트테스트 설계만을설계만을설계만을설계만을 ((((테스트테스트테스트테스트 진단진단진단진단 별도별도별도별도 수행수행수행수행)))) 수행수행수행수행 테스트란 기대한 요구사항을 제품이 만족하는지를 검증하는 작업 Software testing is the process of analyzing a software item to detect the differences between existing and required conditions and to evaluate the features of the software item (IEEE) 테스트란 기대한 요구사항을 제품이 만족하는지를 검증하는 작업 Software testing is the process of analyzing a software item to detect the differences between existing and required conditions and to evaluate the features of the software item (IEEE) ※테스트란※테스트란 과제에 대해 테스트를 전문으로 하는 인력이, 짧은 기간 안에, 도움이 되는 방법을 찾아 지원하기 바람 과제에 대해 테스트를 전문으로 하는 인력이, 짧은 기간 안에, 도움이 되는 방법을 찾아 지원하기 바람배경배경 수행인력 : 2명 수행일정 : 2014.11.25~12.31 수행인력 : 2명 수행일정 : 2014.11.25~12.31지원개요지원개요 1단계(1주) - 과제 파악 및 Pilot 수행 2단계(2주) - 확대수행 3단계(1주) - 인수인계 1단계(1주) - 과제 파악 및 Pilot 수행 2단계(2주) - 확대수행 3단계(1주) - 인수인계 수행절차수행절차 구현해야 하는 요건에 대한 3자 검토 요건에 대한 테스트 시나리오 작성 및 수행 그 외 테스트 전반적인 부분에 대한 개선 의견 공유 구현해야 하는 요건에 대한 3자 검토 요건에 대한 테스트 시나리오 작성 및 수행 그 외 테스트 전반적인 부분에 대한 개선 의견 공유 기대효과기대효과