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

PDF
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
PDF
[기본과정] 코드 테스트와 커버리지 기본 교육(개념)
PDF
SI 화면테스트(단위) 가이드
PDF
발표자료 1인qa로살아남는6가지방법
PDF
우리 제품의 검증 프로세스 소개 자료
PPTX
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
PPTX
大型 Web Application 轉移到 微服務的經驗分享
PDF
(애자일) 테스트 계획서 샘플
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
[기본과정] 코드 테스트와 커버리지 기본 교육(개념)
SI 화면테스트(단위) 가이드
발표자료 1인qa로살아남는6가지방법
우리 제품의 검증 프로세스 소개 자료
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
大型 Web Application 轉移到 微服務的經驗分享
(애자일) 테스트 계획서 샘플

What's hot (20)

PDF
위험기반테스트접근 테스트계획 사례
PDF
테스트자동화 성공전략
PDF
アジャイルテスト -高品質を追求するアジャイルチームにおけるテストの視点-
PDF
微服務對IT人員的衝擊
PDF
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
PDF
[AUG]개발자와 QA가 상생하는 테스트 프로세스
PDF
PoEAA by Example
PDF
An Introduction to Unit Test Using NUnit
PDF
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
PDF
Istqb 5-테스트관리-2015-배포
PDF
웹서버 부하테스트 실전 노하우
PDF
これからのネイティブアプリにおけるOpenID Connectの活用
PDF
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
PDF
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링
PDF
込山 俊博, ISO/IEC 25000 SQuaREの概要と最新動向
PDF
테스터가 말하는 테스트코드 작성 팁과 사례
PDF
ReactとSeleniumの幸せな関係
PPTX
Test Automation Frameworks: Assumptions, Concepts & Tools
PPTX
SW 테스트 프로세스& 메뉴얼_V 모델
PDF
도메인 주도 설계의 본질
위험기반테스트접근 테스트계획 사례
테스트자동화 성공전략
アジャイルテスト -高品質を追求するアジャイルチームにおけるテストの視点-
微服務對IT人員的衝擊
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
[AUG]개발자와 QA가 상생하는 테스트 프로세스
PoEAA by Example
An Introduction to Unit Test Using NUnit
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
Istqb 5-테스트관리-2015-배포
웹서버 부하테스트 실전 노하우
これからのネイティブアプリにおけるOpenID Connectの活用
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링
込山 俊博, ISO/IEC 25000 SQuaREの概要と最新動向
테스터가 말하는 테스트코드 작성 팁과 사례
ReactとSeleniumの幸せな関係
Test Automation Frameworks: Assumptions, Concepts & Tools
SW 테스트 프로세스& 메뉴얼_V 모델
도메인 주도 설계의 본질
Ad

Viewers also liked (14)

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

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

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

More from SangIn Choung (12)

PDF
기본적인 테스트에 대한 pytest 자동화 접근
PDF
jacoco를 이용한 매뉴얼 테스트의 서버사이드 코드 커버리지 측정하기
PDF
짝 테스트(Pair Testing) 소개와 사례
PDF
UI빈발결함 및 테스트의 필요성 초기교육자료
PDF
코드 테스트와 커버리지 관련 설문 및 개선계획수립 in 2018
PDF
[고급과정] 코드 테스트와 커버리지 교육(실습위주)
PDF
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
PDF
testing for agile?, agile for testing
PDF
SDET 인력 양성을 위한 프로젝트 지원 사례 정리
PDF
sdet수행 사례
PDF
엔지니어링관점에서 테스트 개선방안 질의 응답
PDF
Coded ui가이드
기본적인 테스트에 대한 pytest 자동화 접근
jacoco를 이용한 매뉴얼 테스트의 서버사이드 코드 커버리지 측정하기
짝 테스트(Pair Testing) 소개와 사례
UI빈발결함 및 테스트의 필요성 초기교육자료
코드 테스트와 커버리지 관련 설문 및 개선계획수립 in 2018
[고급과정] 코드 테스트와 커버리지 교육(실습위주)
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
testing for agile?, agile for testing
SDET 인력 양성을 위한 프로젝트 지원 사례 정리
sdet수행 사례
엔지니어링관점에서 테스트 개선방안 질의 응답
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자 검토 요건에 대한 테스트 시나리오 작성 및 수행 그 외 테스트 전반적인 부분에 대한 개선 의견 공유 기대효과기대효과