SlideShare a Scribd company logo
1 of 37
Download to read offline
2021.09.
Validation of XXX Product
(SQE team)
2
Contents
Overview
• SQE Team
• What is ‘Product Quality’ for SQE
• CASES : Quality Failures
How we work
• Dev & Test Process(V-Model)
• Software Life-cycle
• Details
1) Review / Planning
2) Test Execution
3) Other types of Testing
4) Release / Operation
Conclusion
• Summary
• Goals and Concerns
• Messages
Overview
- SQE Team(Radiology)?
- What is ‘Product Quality’ for SQE
- CASES : Quality Failures
4
What is “Product Quality”?
product
Quality?
https://kalyan-city.blogspot.com/2013/05/what-is-product-quality-definition.html
Product(or Service) meets
customer needs(wants) and expectations
사용자의 요구사항과 기대사항을 충족시키는 것
5
Lunit INSIGHT Quality
‘Product Quality’ for SQE
제품
파트너사,DE팀
인허가, 인증
비즈니스
제품 사용자
(환자, 의사,)
- 제품이 기대한 대로 잘 동작하는지
- 정해진 절차와 방식으로 개발하고
검증하고 있는지
- 설치하고 사용하기 용이한지
- 문제가 발생했을 때 문제의 현상과
추정 원인 파악이 용이한지
- 우리 고객의 needs를 빠르게 반영
- 우리 제품만의 강점을 잘 표현하고
있는지
- 환자들의 병변을 적절하고 효과
적으로 알려주는지
- 의사들의 업무를 더 효율적이고
쉽게 지원하고 있는지
SQE
다양한 이해관계자의 요구사항과 기대사항을 충족시키는 것!!
!?!
6
Quality Failure Cases : General
New Coke의 실패 방사선 치료기(Therac25)
가상화폐 거래소(일본,Zaif) 오류
직접적인 손실 외에도 회사 이미지, 신뢰도에 큰 타격
코카콜라 회사의 마케팅 부서가 눈을 가리고 Coca
Cola와 Pepsi Cola를 시음하는 테스트를 했는데 다수
가 펩시를 선호함.
따라서 코카콜라 측이 Coke를 Pepsi의 맛과 유사하게
변경했지만 기존 Coke 제품에 강한 애착을 가진 고객
들이 이 New Coke를 거부하고 불만을 표출함. 4개월
후 회사는 Classic Coke라는 이름으로 원래 제품을 되
돌려 놓았으며 New Coke는 완전 중단
제품 전략 실패
7
Quality Failure Cases : Lunit
MMG Contour가
엉뚱한 곳에 그려짐
내부 공통 라이브러리에서
메모리 누수 의심
참조 라이브러리
(버전)호환 오류로 분석실패
~~
~~
~~
How we work
- Validation Strategy & Approach
- Dev & Test Process(V-Model)
9
Dev & Test Process(V-Model)
V-Model 상에서 개발 프로세스와 검증 프로세스
Detailed
Software
Design
Unit
Implement
ation
Unit/
Module
Test
Software
Integration
Software
System
Testing
- 요구사항 검토
- 검증요구사항분석
- 코드 리뷰
- 코드 정적분석
- Alpha Test
- RC Test
- Aging 테스트
- Score 비교 테스트
- 마이그레이션 테스트,…
- Unit Test(pytest,…)
- Dev Test
- 개발계획 수립
- 요구사항 분석
- 상위 기획
- 상세 기획
- 기본/상세설계
- 코드 구현
- (API) Test Automation
- pytest /coverage
(*IEC 62304 based)
- 검증계획 수립
Requirements
Analysis
- 아키텍처/설계 검토
- 테스트 설계
- 테스트 데이터 정의,확보
- 테스트 환경 구성
Verification
&
Validation
10
Software Life-cycle
SW
개발계획
SW
요구사항
분석
개발단계별 QA Process
(*IEC 62304 based)
Customer
Needs
SW
아키텍처
설계
SW
상세설계
SW
유닛 구현
및 검증
SW
통합 및
통합테스
트
SW
시스템
테스팅
SW
릴리즈
SW
설치 및
운영
Customer
Needs
Satisfied
. 전체 검증계획 수
립
(검증 목표, 공수,
일정)
. 요구사항 검토
. 테스트 요구사항
분석
. 검증계획 상세 수
립
. 아키텍처 검토
. 테스트환경
구상
. 테스트 설계
. 테스트 데이터 정
의, 확보
. 테스트 환경 구성
. 코드 리뷰
. 개발자 테스트
. 코드 정적 검사
(pylint, sonarlint,
…)
. 알파 테스트
. RC 테스트
(회귀테스트)
. Dicom Set
테스트
. API 테스트
. 에이징 테스트
. 장비 설치 테스트
(버전 호환, 데이터
마이그레이션 등)
. 릴리즈 노트 작성
. known-issue 정
리
. 릴리즈 히스토리
관리
. 운영 모니터링 및
이슈 대응
*검증 일정 *QC Plan *QC Plans *TestCase
*QC Plan
*pytest/coverage
*개발자테스트 체
크리스트
*테스트결과(결함) *테스트결과 *release note
*QC Summary
11
Details
1) Review / Planning
- Requirements, Architecture/Design Review
- Planning(QC Plan, Test Design)
- Test Design
12
요구사항 검토
(1)_Review for Requirements, Architecture
요구사항이 논의되고, 제품 아키텍처/설계를 고민하는 단계에서부터 같이 검토
아키텍처/설계 검토
SW
요구사항
분석
SW
아키텍처/
상세설계
. 요구사항 정제 : 요구 사항에 오류가 없는지, 제품 특성과 맞지
않은 요구사항 인지, 이미 존재하는 기능에 대한 중복 요구사항
인지 등의 관점에서 검토 및 논의
. 요구사항 상세화 : 사용자의 요구사항으로부터 숨어있는 시나
리오(비기능 요구사항 포함)를 찾아내어 구체적으로 요구사항을
정리
A 사용자의 요구사항이 다른 B 사용자의
요구사항과 유사한 점이 있어, 2가지를 묶
어 같이 검토되면 좋을 것 같습니다
이 요구사항을 반영하면, 기존에 존재하는
기능과 다양한 상황이 발생할 수 있어, 각
상황별 동작을 정의할 필요가 있습니다
. 아키텍처/설계 검토
- 배포 및 설치에 용이한 구조인지(문제가 없을지)
- 비기능적 특성(사용성, 유지보수성, 재사용성, 신뢰성, 성
능 등)에 따른 문제가 발생하지 않을지
- 상세 기획 내용과 상이함이 없는지
이 기능, 제품을 더 범용적으로 사용하
기 위해서 이런(#) 구조로 가져가는건
어떨까요?
현재 구현방안으로는 원래 얘기됐던
요구사항을 부분적으로만 만족시킬수
있을 것 같습니다.
13
검증계획 수립
(2)_Planning
신규 버전에 반영할 기능에 대해 검증 대상,
범위, 공수, 일정 등의 계획을 수립
필요한 테스트 도구나 필요 기술 사전 스터디
전체 릴리즈 일정에 대한 계획 수립 -> 주요 반영 Feature별 검증 계획 -> 상세 기능단위 테스트 계획 수립
[ 작성항목 ]
각 검증대상 기능별
. 개요
. 영향받는 제품(모델) 확인
. 필요인원 및 예상 기간
. 테스트 환경 구성 계획
상세 QC Plan 작성 테스트 설계
분석한 테스트 포인트에 대해 상세 테스
트 케이스를 작성
[ 작성항목 ]
- 테스트 목적
- 사전 설정 조건
- 테스트 데이터
- 수행절차
- 기대결과
- 실제 테스트결과
기획서, 구현방안 등을 참조하여 상세내용
을 파악한 후 상세 QC Plan을 작성
[ 작성항목 ]
. 테스트 목적
. 테스트 대상(범위)
. 테스트 환경
. 테스트 일정
. 주요 검증 내용
Test Point#N
Feaures#N
SW
개발계획
SW
요구사항
분석
14
(3)_Test Design
제품 App Type 구분
Feature
(테스트 목적)
Prio
rity
테스트
데이터
사전조건 절차
기대
결과
테스트
결과
GW CXR3
기본
흐름
dicom분석
병변이 있는 환자
의 영상 분석
P1
“A_patient.dcm
”
GW Admin을 통해
SC(Report), color
map, 출력 설정
1.storescu 기능을 이용하여 환자의
x-ray 영상을 전송
2.GW(BE 및 IS)의 로그 모니터링
3.GW의 received, repository 저장
소 확인
4. GW Admin의 Task 결과 확인
5. 결과 dicom이 요청한 설정대로
정상 생성되었는지 확인
2.정상분석 로그 출력
3.원본 dicom파일 및 결과 sc
jpg 이미지가 각각 received,
repository 폴더에 생성된다
4.분석결과가 Task 메뉴에 조회
된다
5.결과 dicom 정상생성
(상세 옵션 : ~ )
GW CXR3
에러
흐름
dicom분석
출력설정이 잘못된
경우
P1
GW Admin 설정에
서 출력 정보가 잘못
설정
: 미존재 ip address
1.storescu 기능을 이용하여 환자의
x-ray 영상을 전송
2.GW(BE 및 IS)의 로그 모니터링
3.GW Admin의 Task 결과 확인
2. 사전 설정값에 따라 {30}초단
위로 {3}회 재전송 시도 후 최종
실패 로그 출력
3. 최종 결과 Fail로 조회된다
BE CXR3
기본
흐름
API: (POST)
/{app}/dcm/
정상업로드 P1 “A_patient.dcm”
BE Admin 기본(#)설
정
API 호출 후 응답 결과 확인
200(ok)응답 및 BE상에 저장된
uuid를 반환한다
IS CXR3
기본
흐름
API: (POST)
/predict/
기본동작 P1
[요청파라미터]
filtering=true
threshold = 0.15
……
API 호출 후 응답 결과 확인
200(ok)응답 및 분석결과과
json 형태로 반환된다
각 제품 개별/통합 관점에서
상세히 확인해야지
테스트 설계
• 다양하게 발생하는 있는 상황과 기대하는 동작을 분석하여 다양한 “테스트 케이스” 를 설계
• 각 제품별 개별 접근, 전체 제품 통합 관점에서 테스트를 고민
• 테스트하기 위해 필요한 테스트 환경과 데이터 확인
SW
상세설계
15
Details
2) Test Execution
- Typical Test Procedure
- Alpha / RC Test
- Products Integration vs Isolated Test
- API Test (Automation)
16
(4)_General Test Procedures - 1/5
안녕하세요. Lunit여러분!!
저는 의사 sue예요.
저는 XX 제품이 제공해 주는
SC 영상을 이용해 환자분의 상태를 잘 파악하고, 환자
분에게도 잘 설명해 드리고 싶어요.
17
(4)_General Test Procedures - 2/5
Admin
PACS
dicom-gateway insight-backend insight-inference-server
0) settings
1) Dicom received
2) Upload dicom
3) Request to analyze
5) Get the results
4) predict
insight
engine
6) Send result
제품 구성과
동작
• 어드민 기능을 이용해 제품의 상세 설정
• 3개의 제품- GW(Dicom-Gateway), BE(Insight-Backecn), IS(Inference-Server) 으로 구성
• 요청받은 영상 이미지를 GW-BE-IS의 연동을 통해 결과 제공
미리 설정어드민을
통해 원하는 결과가
출력되도록 설정
GW는 BE에 분
석 요청
BE는 IS에 분석
요청
분석 결과를 반
환
18
(4)_General Test Procedures - 3/5
설치 설정값 수정/
제품설치
어드민 설정 변경 영상 입력 명령 실행 각 제품 로그 확인
결과 파일(dicom)확
인
( Docker settings )
- TIMEZONE
- ~
테스트 수행
다양한 테스트 케이스에 따라 필요한 환경을 구성하기 위해
• 제품 설치 시 설정 값 변경 및 docker 기반 설치
• 각 제품의 어드민 설정을 이용해 상세 설정 변경
- Docker start
( ADMIN settings )
- Network (Input/ Output)
- Output Dicom
- SC Display mode
- SC Result type
- Language
…
19
(4)_General Test Procedures - 4/5
테스트 수행
각 제품 로그 등을 통해 분석 과정 확인
• 테스트 케이스에 맞는 테스트 데이터(영상)를 준비하고, 해당 영상을 업로드
• 각 제품의 로그 모니터링
• 분석 결과에 대한 상세 확인
설치 설정값 수정/
제품설치
어드민 설정 변경 영상 입력 명령 실행 각 제품 로그 확인
결과 파일(dicom)확
인
별도 Viewer를 이용해 결과 상세 확인
- 테스트를 위한 영상 dicom 파일 준비
- DIMSE 프로토콜로 전송
20
(4)_General Test Procedures - 5/5
제품 App Type 구분
Feature
(테스트 목적)
Prio
rity
테스트
데이터
사전조건 절차
기대
결과
테스트
결과
GW CXR3
기본
흐름
dicom분석
병변이 있는 환자
의 영상 분석
P1 “A_patient.dcm”
GW Admin을 통해
SC(Report), color
map, 출력 설정
1.storescu 기능을 이용하여 환자의 x-
ray 영상을 전송
2.GW(BE 및 IS)의 로그 모니터링
3.GW의 received, repository 저장소
확인
4. GW Admin의 Task 결과 확인
5. 결과 dicom이 요청한 설정대로 정
상 생성되었는지 확인
2.정상분석 로그 출력
3.원본 dicom파일 및 결과
sc jpg 이미지가 각각
received, repository 폴더에
생성된다
4.분석결과가 Task 메뉴에
조회된다
5.결과 dicom 정상생성
(상세 옵션 : ~ )
PASS
GW CXR3
에러
흐름
dicom분석
출력설정이 잘못된
경우
P1
GW Admin 설정에
서 출력 정보가 잘
못 설정
: 미존재 ip address
1.storescu 기능을 이용하여 환자의 x-
ray 영상을 전송
2.GW(BE 및 IS)의 로그 모니터링
3.GW Admin의 Task 결과 확인
2. 사전 설정값에 따라 {30}
초단위로 {3}회 재전송 시도
후 최종 실패 로그 출력
3. 최종 결과 Fail로 조회된
다
PASS
BE CXR3
기본
흐름
API: (POST)
/{app}/dcm/
정상업로드 P1 “A_patient.dcm”
BE Admin 기본(#)설
정
API 호출 후 응답 결과 확인
200(ok)응답 및 BE상에 저장
된 uuid를 반환한다
FAIL
IS CXR3
기본
흐름
API: (POST)
/predict/
기본동작 P1
[요청파라미터]
filtering=true
threshold = 0.15
……
API 호출 후 응답 결과 확인
200(ok)응답 및 분석결과과
json 형태로 반환된다
PASS
앗, 문제가 있어!!
개발팀과 확인해 봐야겠다.
테스트 수행
• 각 테스트 케이스 별 실제 결과를 작성
• 결함이나 이슈가 있는 경우 별도 관리시스템(Asana)를 통해 기록을 남기고, 개발팀과 확인
21
(5)_Alpha / RC Testing
구분 Test Target Test Environment Test Results
Alpha Test
New and Changed features only
각 기능별 테스트 케이스, 데이터
각 기능 또는 QE별 개별 테스트 환경 구축 신규/변경된 기능의 테스트 결과
RC Test
전체 테스트 케이스
(Regression Test)
통합된 테스트 환경 전체 테스트 결과
점진적 통합 : Alpha 테스트에서는 주요한 신규/변경 기능을, RC 테스트에서는 기존 기능 포함 전체 테스트를 수행합니다
* RC: Release Candidate
Alpha Test RC Test
a1
a2
a3
feature A
feature B,C
feature D
issue#N~ fix
issue#M~ fix
code freezing
New/Changed
Features
Not changed
Features
…
(RTM)
Release
SW
통합테스트
rc2
rc1
rc...
* RTM: Release To
Manufacturing
22
A Product Isolation Testing
Products Integration Testing
(6)_개별 제품 테스트
GW BE IS
요청,
정상 응답
제품간의 연동 상황에서
임의의 에러상황이나 특정 결과
를
반환하게 하고 싶다!!!!
요청 요청,
정상 응답
GW
요청
요청,
비정상 응답
(더미서버 응답 설정)
400(bad request),
{
‘message’:’request…’
}
BE IS
요청,
정상 응답
각 제품간에 발생할 수 있는 다양한 상황을 임의로 발생시켜 테스트 커버리지 향상
실제 제품이 아니라,
임의로 동작을 지정할 수 있는
‘더미서버'를 활용
상황 예1) 특정 API의 응답이 오래 걸리거나, 응답이 안 오도록 설정
상황 예2) 다른 제품에서 오는 분석 결과를 원하는 특정 응답으로 오도록 상세 설정
상황 예3) 임의의 응답 에러(404 Not Found, 400 Bad Request, 500 Server Error,...)와
메시지가 발생한 상황에서 제품 동작 확인 등
dummy
-BE
dummy
-IS
SW
통합테스트
23
(7)_API 테스트(자동화) SW
통합테스트
검증 공수 절감을 위해 반복적이고 결과가 명확한 부분에 테스트 자동화 적용 검토
- 코드레벨에서는 개발팀이 테스트 코드 작성(pytest 등), QE팀에서는 테스트 결과/커버리지 결과 확인
- QE팀에서는 HTTP API에 대해 PostMan, Jmeter, pytest(requests)를 이용하여 테스트 스크립트 작성
자동화 대상 선정
기본 동작 확인 외에도,
반복적이고 결과가 확실한 부분
을 API 테스트 자동화 대상으로
선정
테스트 스크립트 작
성
Python/Requests (PostMan,
JMeter) 등을 이용하여 자동으
로 반복적으로 호출하고 그 결
과를 확인하는 스크립트를 작성
테스트 자동수행
스케쥴러(Jenkins)를 통해 매일
, 또는 코드 변경이 발생할 때마
다 자동으로 수행
테스트 결과 알림
테스트 결과 보고서를 생성하고
, 그 결과를 슬랙 등을 통해 실
시간으로 알림
pytest
/requests
GW BE IS
10개 결과 텍스트가
9개 언어별로 정상 출력되는지
매번 확인해야 하네…
10X9=…
24
Details
3) Other types of Testing
- Pre-defined Dicom-Set Test
- Aging(Soak) Test
- Other Non-Functional Test
25
CXR, MMG 스코어 비교 결과
(8)_Predefined Dicom-Set Test
미리 정해놓은 테스트 셋(Validation Dicom Set)에 대해 신규 버전의 유효성 검토 (오류, 기존 버전과의 스코어 차이 정도)
… …
신규 버전
기존 버전
-
- 비교 검사 셋
이번 MMG 5.7.2 모델에서
기존대비 전체적으로
Max Score가 높게 나온 현상
이…
아!! 특정 장비에 대한 fine-
tuning을 더해서 5.7.2.1로
내도록 하겠습니다!
(CXR 결과 예)
a) 각 병변별 스코어 차이 평균값,
b) 스코어 차이 구간별 분포도,
c) 스코어 차이가 가장 큰 top 3,
d) 비교 버전별 전체 대비 스코어 분포
SW
시스템
테스트
Pre-defined dicom set (CXR/MMG)
26
테스트 결과(실시간 모니터링)
(9)_Aging(Soak) Test
Aging(Soak) Test : 오랜 시간동안 대량 부하(huge volume of load) 상황에서, 애플리케이션의 성능을 측정하는데 사용되는 비기능 테스트의
한 유형으로 저희는 긴 시간(2-3일)동안 반복적으로(ex.10초단위) 분석요청을 진행해서 테스트 시간에 따른 시스템의 메모리 증가, 성능 정보의
변화 등을 확인합니다
- 메모리 사용량
- 평균 분석 시간 등 추이 모니터링
각 제품의 성능 지표와 저장된 분석 소요 시간 등을
수집하여 Grafana로 시각화
SW
시스템
테스트
XX 제품의 메모리 사용량 추이
가 점점 높아지는데…
어딘가 메모리 누수가 있는 것
같아요!!
확인해 보니, 저희가 내부적으로
참조하는 외부 라이브러리의 특
정 로직을 타는 경우에...
27
설치 환경 호환성, 이식성 / 파트너 제품 연동 네트워크 이슈 상황
버전 업데이트 확인 보안관점 테스트
(10)_Other types of validations
SW
시스템
테스트
- 이전 데이터에 대한 정상 유지, 이전(Migration) 확인
- 업데이트 시점에 분석 중인 건에 대한 동작 검토
- 네트워크 단절, 방화벽 상황에서 적절한 처리
- 의존 관계에 있는 다른 제품의 네트워크 단절 상황 등
- 인증된 키에 대한 적절한 체크
(유효하지 않은 접근에 대한 차단)
- 라이센스 정책에 따른 올바른 동작 확인
- 세션 타임아웃, 로그인/비밀번호 정책 적용 확인
- 비밀번호 변경 주기 적용 등
- NVIDIA(GPU), Jetson, OpenVINO 등 다양한 설치환
경에서 정상 동작 확인
- GE,FF 등 파트너 제품과의 연동 관점
기능 검증
//
28
Details
4) Release / Operation
- Release
- On-site Issue monitoring
29
(11)_Product Release SW
릴리즈
- 테스트 결과 정리, 배포되는 기능 정보, 릴리즈 노트, Known-Issue 등 정리
- DE팀과 설치 및 현장 대응을 위한 인수인계
릴리즈 및 배포를 위한 DE팀 인수인계 세션
a) 반영된 주요 Feature 설명
b) 설치 시 유의사항
c) Known-Issue
d) 릴리즈 노트 설명
[QC
Summary]
~~
~~
제품 릴리즈 개요
주요 Feature
(상세링크)
상세 컴포넌트별
테스트 결과, 특
이사항 등
제품별
릴리즈 정보
설치시 유의사항
[ QC Summary ]
30
(12)_현장이슈 1차 분석 및 대응
- 현장 이슈, 문의 내용에 대해서도 DE팀과 함께 확인 및 대응 (DE팀 - QE팀 - 개발팀)
SW
릴리즈
3. Conclusion
- Summary
- Goals and Concerns
- Final Message
32
Summary - SQE Activities & Strategy
Strategy & Approach
작은 단위에서 점점 더 큰 단위로
더 이른 단계에서
이해관계자와 협업
자동화 검토/적용
Review for Requirements, Architecture
Planning
Test Design
Alpha / RC Testing
Test Execution
API 테스트(자동화)
개별 제품 테스트
Validation Dicom SetTest
Aging(Soak) Test
Other types of Non-Functional Testing
Learning From Everything
Continuous Improvement
Activities
33
고민중
목표
Goals and Concerns
제품 품질!!
고객의 만족
고객,
비즈니스
제품팀,
개발
회사 내,외부 다양한 이해관계자 간에
브릿지 역할을 하여 좋은 품질의 제품을 만드는 것!!
SQE!!!
- SQE Goals and Concerns
34
Course Review
35
Final Message
‘Product Quality’ for ALL
제품
파트너사,DE팀
인허가, 인증
비즈니스
제품 사용자
(환자, 의사,)
- 제품이 기대한 대로 잘 동작하는지
- 정해진 절차와 방식으로 개발하고
검증하고 있는지
- 설치하고 사용하기 용이한지
- 문제가 발생했을 때 문제의 현상과
추정 원인 파악이 용이한지
- 우리 고객의 needs를 빠르게 반영
- 우리 제품만의 강점을 잘 표현하고
있는지
- 환자들의 병변을 적절하고 효과
적으로 알려주는지
- 의사들의 업무를 더 효율적이고
쉽게 지원하고 있는지
Quality!!
Thank you!
37
Software Life-cycle
SW
DEV Planning
SW
Requirem
ents
Analysis
Product QA Process in Software Life-cycle
(*IEC 62304 based)
Customer
Needs
SW
Architect
ure
SW
Detailed
design
SW
Unit
impleme
ntaion/T
est
SW
Integrati
on /IT
Test
SW
System
Test
SW
Release
SW
Release /
Operatio
n
Customer
Needs
Satisfied
. Release QC Plan . review
requirements
. test
requirements
analysis
. Feature QC Plan
. review
Architecture/desig
n
. plan test
environments
. test design
. design test data
. develop test
environments
. code review
. developer tests
. code inspection
(tools)
. Alpha Test
. RC Test
(Regression Test)
. pre-defined
dicom set Test
. API Test
. Aging(Soak) Test
. Deploy Test
(version update,
data migrations,...)
. Release notes
. known-issue
. release version
history managing
. onsite issue
monitoring,
analysis
*QC Schedule *QC Plan *QC Plan *TestCase
*QC Plan
*pytest/coverage
*developer test
checklist
*Test Results and
issues
*Test Results *release note
*QC Summary

More Related Content

What's hot

소프트웨어 테스팅
소프트웨어 테스팅소프트웨어 테스팅
소프트웨어 테스팅
영기 김
 
Unit testing best practices
Unit testing best practicesUnit testing best practices
Unit testing best practices
nickokiss
 
AWS와 부하테스트의 절묘한 만남 :: 김무현 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS와 부하테스트의 절묘한 만남 :: 김무현 솔루션즈 아키텍트 :: Gaming on AWS 2016AWS와 부하테스트의 절묘한 만남 :: 김무현 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS와 부하테스트의 절묘한 만남 :: 김무현 솔루션즈 아키텍트 :: Gaming on AWS 2016
Amazon Web Services Korea
 

What's hot (20)

모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)
 
Istqb 2-소프트웨어수명주기와테스팅-2015
Istqb 2-소프트웨어수명주기와테스팅-2015Istqb 2-소프트웨어수명주기와테스팅-2015
Istqb 2-소프트웨어수명주기와테스팅-2015
 
소프트웨어 테스팅
소프트웨어 테스팅소프트웨어 테스팅
소프트웨어 테스팅
 
[기본과정] 코드 테스트와 커버리지 기본 교육(개념)
[기본과정] 코드 테스트와 커버리지 기본 교육(개념)[기본과정] 코드 테스트와 커버리지 기본 교육(개념)
[기본과정] 코드 테스트와 커버리지 기본 교육(개념)
 
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드 Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
 
Istqb 4-테스트설계기법-2015-2-1-배포
Istqb 4-테스트설계기법-2015-2-1-배포Istqb 4-테스트설계기법-2015-2-1-배포
Istqb 4-테스트설계기법-2015-2-1-배포
 
jacoco를 이용한 매뉴얼 테스트의 서버사이드 코드 커버리지 측정하기
jacoco를 이용한 매뉴얼 테스트의 서버사이드 코드 커버리지 측정하기jacoco를 이용한 매뉴얼 테스트의 서버사이드 코드 커버리지 측정하기
jacoco를 이용한 매뉴얼 테스트의 서버사이드 코드 커버리지 측정하기
 
SW 테스트 프로세스& 메뉴얼_V 모델
SW 테스트 프로세스& 메뉴얼_V 모델SW 테스트 프로세스& 메뉴얼_V 모델
SW 테스트 프로세스& 메뉴얼_V 모델
 
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
 
Unit testing best practices
Unit testing best practicesUnit testing best practices
Unit testing best practices
 
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
 
Airtest Mobile Game Automation
Airtest Mobile Game AutomationAirtest Mobile Game Automation
Airtest Mobile Game Automation
 
Istqb 4-테스트설계기법-2015-1
Istqb 4-테스트설계기법-2015-1Istqb 4-테스트설계기법-2015-1
Istqb 4-테스트설계기법-2015-1
 
기본적인 테스트에 대한 pytest 자동화 접근
기본적인 테스트에 대한 pytest 자동화 접근기본적인 테스트에 대한 pytest 자동화 접근
기본적인 테스트에 대한 pytest 자동화 접근
 
AWS와 부하테스트의 절묘한 만남 :: 김무현 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS와 부하테스트의 절묘한 만남 :: 김무현 솔루션즈 아키텍트 :: Gaming on AWS 2016AWS와 부하테스트의 절묘한 만남 :: 김무현 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS와 부하테스트의 절묘한 만남 :: 김무현 솔루션즈 아키텍트 :: Gaming on AWS 2016
 
Test automation
Test automationTest automation
Test automation
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Istqb 1-소프트웨어테스팅기초
Istqb 1-소프트웨어테스팅기초Istqb 1-소프트웨어테스팅기초
Istqb 1-소프트웨어테스팅기초
 
Unit tests & TDD
Unit tests & TDDUnit tests & TDD
Unit tests & TDD
 
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
 

Similar to 우리 제품의 검증 프로세스 소개 자료

[IMQA] performance consulting
[IMQA] performance consulting[IMQA] performance consulting
[IMQA] performance consulting
IMQA
 
효율적인 개발 프로세스를 위한 지속적 통합
효율적인 개발 프로세스를 위한 지속적 통합효율적인 개발 프로세스를 위한 지속적 통합
효율적인 개발 프로세스를 위한 지속적 통합
홍렬 임
 
단위테스트자동화지원도구 임성현 최종
단위테스트자동화지원도구 임성현 최종단위테스트자동화지원도구 임성현 최종
단위테스트자동화지원도구 임성현 최종
guest7178884
 
Tr#3 5) 임성현 책임
Tr#3 5) 임성현 책임Tr#3 5) 임성현 책임
Tr#3 5) 임성현 책임
Lim SungHyun
 

Similar to 우리 제품의 검증 프로세스 소개 자료 (20)

투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
 
IEC 61508-3 SW Engineering
IEC 61508-3 SW EngineeringIEC 61508-3 SW Engineering
IEC 61508-3 SW Engineering
 
테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션
 
[IMQA] performance consulting
[IMQA] performance consulting[IMQA] performance consulting
[IMQA] performance consulting
 
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
 
A.I.S팀_산학프로젝트챌린지 (2).pptx
A.I.S팀_산학프로젝트챌린지 (2).pptxA.I.S팀_산학프로젝트챌린지 (2).pptx
A.I.S팀_산학프로젝트챌린지 (2).pptx
 
Online service 계층별 성능 모니터링 방안
Online service 계층별 성능 모니터링 방안Online service 계층별 성능 모니터링 방안
Online service 계층별 성능 모니터링 방안
 
효율적인 개발 프로세스를 위한 지속적 통합
효율적인 개발 프로세스를 위한 지속적 통합효율적인 개발 프로세스를 위한 지속적 통합
효율적인 개발 프로세스를 위한 지속적 통합
 
Istqb 1-소프트웨어테스팅기초-2015
Istqb 1-소프트웨어테스팅기초-2015Istqb 1-소프트웨어테스팅기초-2015
Istqb 1-소프트웨어테스팅기초-2015
 
Cygnus unit test
Cygnus unit testCygnus unit test
Cygnus unit test
 
[오픈소스컨설팅]소프트웨어테스팅전략
[오픈소스컨설팅]소프트웨어테스팅전략[오픈소스컨설팅]소프트웨어테스팅전략
[오픈소스컨설팅]소프트웨어테스팅전략
 
테스트개선지원 사례 - 웹어플리케이션대상
테스트개선지원 사례 - 웹어플리케이션대상테스트개선지원 사례 - 웹어플리케이션대상
테스트개선지원 사례 - 웹어플리케이션대상
 
모바일 앱(App) 개발 테스트 솔루션 v20160415
모바일 앱(App) 개발 테스트 솔루션 v20160415모바일 앱(App) 개발 테스트 솔루션 v20160415
모바일 앱(App) 개발 테스트 솔루션 v20160415
 
Opensource APM SCOUTER in practice
Opensource APM SCOUTER in practiceOpensource APM SCOUTER in practice
Opensource APM SCOUTER in practice
 
포티파이 안전한 애플리케이션 구축 및 운영방안
포티파이 안전한 애플리케이션 구축 및 운영방안포티파이 안전한 애플리케이션 구축 및 운영방안
포티파이 안전한 애플리케이션 구축 및 운영방안
 
Io t에서의 소프트웨어단위테스트_접근사례
Io t에서의 소프트웨어단위테스트_접근사례Io t에서의 소프트웨어단위테스트_접근사례
Io t에서의 소프트웨어단위테스트_접근사례
 
단위테스트자동화지원도구 임성현 최종
단위테스트자동화지원도구 임성현 최종단위테스트자동화지원도구 임성현 최종
단위테스트자동화지원도구 임성현 최종
 
Tr#3 5) 임성현 책임
Tr#3 5) 임성현 책임Tr#3 5) 임성현 책임
Tr#3 5) 임성현 책임
 
CBD 개발방법론.pptx
CBD 개발방법론.pptxCBD 개발방법론.pptx
CBD 개발방법론.pptx
 
오픈 스펙을 대상으로 한 테스트설계사례
오픈 스펙을 대상으로 한 테스트설계사례오픈 스펙을 대상으로 한 테스트설계사례
오픈 스펙을 대상으로 한 테스트설계사례
 

More from SangIn Choung

More from SangIn Choung (17)

UI빈발결함 및 테스트의 필요성 초기교육자료
UI빈발결함 및 테스트의 필요성 초기교육자료UI빈발결함 및 테스트의 필요성 초기교육자료
UI빈발결함 및 테스트의 필요성 초기교육자료
 
SI 화면테스트(단위) 가이드
SI 화면테스트(단위) 가이드SI 화면테스트(단위) 가이드
SI 화면테스트(단위) 가이드
 
위험기반테스트접근 테스트계획 사례
위험기반테스트접근 테스트계획 사례위험기반테스트접근 테스트계획 사례
위험기반테스트접근 테스트계획 사례
 
코드 테스트와 커버리지 관련 설문 및 개선계획수립 in 2018
코드 테스트와 커버리지 관련 설문 및 개선계획수립 in 2018코드 테스트와 커버리지 관련 설문 및 개선계획수립 in 2018
코드 테스트와 커버리지 관련 설문 및 개선계획수립 in 2018
 
[고급과정] 코드 테스트와 커버리지 교육(실습위주)
[고급과정] 코드 테스트와 커버리지 교육(실습위주)[고급과정] 코드 테스트와 커버리지 교육(실습위주)
[고급과정] 코드 테스트와 커버리지 교육(실습위주)
 
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가이드
 
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)
 
Rest api 테스트 수행가이드
Rest api 테스트 수행가이드Rest api 테스트 수행가이드
Rest api 테스트 수행가이드
 
UI 정적분석툴 소개와 활용사례
UI 정적분석툴 소개와 활용사례UI 정적분석툴 소개와 활용사례
UI 정적분석툴 소개와 활용사례
 
크로스(멀티)브라우저 테스트수행가이드
크로스(멀티)브라우저 테스트수행가이드크로스(멀티)브라우저 테스트수행가이드
크로스(멀티)브라우저 테스트수행가이드
 
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
 
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
 

우리 제품의 검증 프로세스 소개 자료

  • 1. 2021.09. Validation of XXX Product (SQE team)
  • 2. 2 Contents Overview • SQE Team • What is ‘Product Quality’ for SQE • CASES : Quality Failures How we work • Dev & Test Process(V-Model) • Software Life-cycle • Details 1) Review / Planning 2) Test Execution 3) Other types of Testing 4) Release / Operation Conclusion • Summary • Goals and Concerns • Messages
  • 3. Overview - SQE Team(Radiology)? - What is ‘Product Quality’ for SQE - CASES : Quality Failures
  • 4. 4 What is “Product Quality”? product Quality? https://kalyan-city.blogspot.com/2013/05/what-is-product-quality-definition.html Product(or Service) meets customer needs(wants) and expectations 사용자의 요구사항과 기대사항을 충족시키는 것
  • 5. 5 Lunit INSIGHT Quality ‘Product Quality’ for SQE 제품 파트너사,DE팀 인허가, 인증 비즈니스 제품 사용자 (환자, 의사,) - 제품이 기대한 대로 잘 동작하는지 - 정해진 절차와 방식으로 개발하고 검증하고 있는지 - 설치하고 사용하기 용이한지 - 문제가 발생했을 때 문제의 현상과 추정 원인 파악이 용이한지 - 우리 고객의 needs를 빠르게 반영 - 우리 제품만의 강점을 잘 표현하고 있는지 - 환자들의 병변을 적절하고 효과 적으로 알려주는지 - 의사들의 업무를 더 효율적이고 쉽게 지원하고 있는지 SQE 다양한 이해관계자의 요구사항과 기대사항을 충족시키는 것!! !?!
  • 6. 6 Quality Failure Cases : General New Coke의 실패 방사선 치료기(Therac25) 가상화폐 거래소(일본,Zaif) 오류 직접적인 손실 외에도 회사 이미지, 신뢰도에 큰 타격 코카콜라 회사의 마케팅 부서가 눈을 가리고 Coca Cola와 Pepsi Cola를 시음하는 테스트를 했는데 다수 가 펩시를 선호함. 따라서 코카콜라 측이 Coke를 Pepsi의 맛과 유사하게 변경했지만 기존 Coke 제품에 강한 애착을 가진 고객 들이 이 New Coke를 거부하고 불만을 표출함. 4개월 후 회사는 Classic Coke라는 이름으로 원래 제품을 되 돌려 놓았으며 New Coke는 완전 중단 제품 전략 실패
  • 7. 7 Quality Failure Cases : Lunit MMG Contour가 엉뚱한 곳에 그려짐 내부 공통 라이브러리에서 메모리 누수 의심 참조 라이브러리 (버전)호환 오류로 분석실패 ~~ ~~ ~~
  • 8. How we work - Validation Strategy & Approach - Dev & Test Process(V-Model)
  • 9. 9 Dev & Test Process(V-Model) V-Model 상에서 개발 프로세스와 검증 프로세스 Detailed Software Design Unit Implement ation Unit/ Module Test Software Integration Software System Testing - 요구사항 검토 - 검증요구사항분석 - 코드 리뷰 - 코드 정적분석 - Alpha Test - RC Test - Aging 테스트 - Score 비교 테스트 - 마이그레이션 테스트,… - Unit Test(pytest,…) - Dev Test - 개발계획 수립 - 요구사항 분석 - 상위 기획 - 상세 기획 - 기본/상세설계 - 코드 구현 - (API) Test Automation - pytest /coverage (*IEC 62304 based) - 검증계획 수립 Requirements Analysis - 아키텍처/설계 검토 - 테스트 설계 - 테스트 데이터 정의,확보 - 테스트 환경 구성 Verification & Validation
  • 10. 10 Software Life-cycle SW 개발계획 SW 요구사항 분석 개발단계별 QA Process (*IEC 62304 based) Customer Needs SW 아키텍처 설계 SW 상세설계 SW 유닛 구현 및 검증 SW 통합 및 통합테스 트 SW 시스템 테스팅 SW 릴리즈 SW 설치 및 운영 Customer Needs Satisfied . 전체 검증계획 수 립 (검증 목표, 공수, 일정) . 요구사항 검토 . 테스트 요구사항 분석 . 검증계획 상세 수 립 . 아키텍처 검토 . 테스트환경 구상 . 테스트 설계 . 테스트 데이터 정 의, 확보 . 테스트 환경 구성 . 코드 리뷰 . 개발자 테스트 . 코드 정적 검사 (pylint, sonarlint, …) . 알파 테스트 . RC 테스트 (회귀테스트) . Dicom Set 테스트 . API 테스트 . 에이징 테스트 . 장비 설치 테스트 (버전 호환, 데이터 마이그레이션 등) . 릴리즈 노트 작성 . known-issue 정 리 . 릴리즈 히스토리 관리 . 운영 모니터링 및 이슈 대응 *검증 일정 *QC Plan *QC Plans *TestCase *QC Plan *pytest/coverage *개발자테스트 체 크리스트 *테스트결과(결함) *테스트결과 *release note *QC Summary
  • 11. 11 Details 1) Review / Planning - Requirements, Architecture/Design Review - Planning(QC Plan, Test Design) - Test Design
  • 12. 12 요구사항 검토 (1)_Review for Requirements, Architecture 요구사항이 논의되고, 제품 아키텍처/설계를 고민하는 단계에서부터 같이 검토 아키텍처/설계 검토 SW 요구사항 분석 SW 아키텍처/ 상세설계 . 요구사항 정제 : 요구 사항에 오류가 없는지, 제품 특성과 맞지 않은 요구사항 인지, 이미 존재하는 기능에 대한 중복 요구사항 인지 등의 관점에서 검토 및 논의 . 요구사항 상세화 : 사용자의 요구사항으로부터 숨어있는 시나 리오(비기능 요구사항 포함)를 찾아내어 구체적으로 요구사항을 정리 A 사용자의 요구사항이 다른 B 사용자의 요구사항과 유사한 점이 있어, 2가지를 묶 어 같이 검토되면 좋을 것 같습니다 이 요구사항을 반영하면, 기존에 존재하는 기능과 다양한 상황이 발생할 수 있어, 각 상황별 동작을 정의할 필요가 있습니다 . 아키텍처/설계 검토 - 배포 및 설치에 용이한 구조인지(문제가 없을지) - 비기능적 특성(사용성, 유지보수성, 재사용성, 신뢰성, 성 능 등)에 따른 문제가 발생하지 않을지 - 상세 기획 내용과 상이함이 없는지 이 기능, 제품을 더 범용적으로 사용하 기 위해서 이런(#) 구조로 가져가는건 어떨까요? 현재 구현방안으로는 원래 얘기됐던 요구사항을 부분적으로만 만족시킬수 있을 것 같습니다.
  • 13. 13 검증계획 수립 (2)_Planning 신규 버전에 반영할 기능에 대해 검증 대상, 범위, 공수, 일정 등의 계획을 수립 필요한 테스트 도구나 필요 기술 사전 스터디 전체 릴리즈 일정에 대한 계획 수립 -> 주요 반영 Feature별 검증 계획 -> 상세 기능단위 테스트 계획 수립 [ 작성항목 ] 각 검증대상 기능별 . 개요 . 영향받는 제품(모델) 확인 . 필요인원 및 예상 기간 . 테스트 환경 구성 계획 상세 QC Plan 작성 테스트 설계 분석한 테스트 포인트에 대해 상세 테스 트 케이스를 작성 [ 작성항목 ] - 테스트 목적 - 사전 설정 조건 - 테스트 데이터 - 수행절차 - 기대결과 - 실제 테스트결과 기획서, 구현방안 등을 참조하여 상세내용 을 파악한 후 상세 QC Plan을 작성 [ 작성항목 ] . 테스트 목적 . 테스트 대상(범위) . 테스트 환경 . 테스트 일정 . 주요 검증 내용 Test Point#N Feaures#N SW 개발계획 SW 요구사항 분석
  • 14. 14 (3)_Test Design 제품 App Type 구분 Feature (테스트 목적) Prio rity 테스트 데이터 사전조건 절차 기대 결과 테스트 결과 GW CXR3 기본 흐름 dicom분석 병변이 있는 환자 의 영상 분석 P1 “A_patient.dcm ” GW Admin을 통해 SC(Report), color map, 출력 설정 1.storescu 기능을 이용하여 환자의 x-ray 영상을 전송 2.GW(BE 및 IS)의 로그 모니터링 3.GW의 received, repository 저장 소 확인 4. GW Admin의 Task 결과 확인 5. 결과 dicom이 요청한 설정대로 정상 생성되었는지 확인 2.정상분석 로그 출력 3.원본 dicom파일 및 결과 sc jpg 이미지가 각각 received, repository 폴더에 생성된다 4.분석결과가 Task 메뉴에 조회 된다 5.결과 dicom 정상생성 (상세 옵션 : ~ ) GW CXR3 에러 흐름 dicom분석 출력설정이 잘못된 경우 P1 GW Admin 설정에 서 출력 정보가 잘못 설정 : 미존재 ip address 1.storescu 기능을 이용하여 환자의 x-ray 영상을 전송 2.GW(BE 및 IS)의 로그 모니터링 3.GW Admin의 Task 결과 확인 2. 사전 설정값에 따라 {30}초단 위로 {3}회 재전송 시도 후 최종 실패 로그 출력 3. 최종 결과 Fail로 조회된다 BE CXR3 기본 흐름 API: (POST) /{app}/dcm/ 정상업로드 P1 “A_patient.dcm” BE Admin 기본(#)설 정 API 호출 후 응답 결과 확인 200(ok)응답 및 BE상에 저장된 uuid를 반환한다 IS CXR3 기본 흐름 API: (POST) /predict/ 기본동작 P1 [요청파라미터] filtering=true threshold = 0.15 …… API 호출 후 응답 결과 확인 200(ok)응답 및 분석결과과 json 형태로 반환된다 각 제품 개별/통합 관점에서 상세히 확인해야지 테스트 설계 • 다양하게 발생하는 있는 상황과 기대하는 동작을 분석하여 다양한 “테스트 케이스” 를 설계 • 각 제품별 개별 접근, 전체 제품 통합 관점에서 테스트를 고민 • 테스트하기 위해 필요한 테스트 환경과 데이터 확인 SW 상세설계
  • 15. 15 Details 2) Test Execution - Typical Test Procedure - Alpha / RC Test - Products Integration vs Isolated Test - API Test (Automation)
  • 16. 16 (4)_General Test Procedures - 1/5 안녕하세요. Lunit여러분!! 저는 의사 sue예요. 저는 XX 제품이 제공해 주는 SC 영상을 이용해 환자분의 상태를 잘 파악하고, 환자 분에게도 잘 설명해 드리고 싶어요.
  • 17. 17 (4)_General Test Procedures - 2/5 Admin PACS dicom-gateway insight-backend insight-inference-server 0) settings 1) Dicom received 2) Upload dicom 3) Request to analyze 5) Get the results 4) predict insight engine 6) Send result 제품 구성과 동작 • 어드민 기능을 이용해 제품의 상세 설정 • 3개의 제품- GW(Dicom-Gateway), BE(Insight-Backecn), IS(Inference-Server) 으로 구성 • 요청받은 영상 이미지를 GW-BE-IS의 연동을 통해 결과 제공 미리 설정어드민을 통해 원하는 결과가 출력되도록 설정 GW는 BE에 분 석 요청 BE는 IS에 분석 요청 분석 결과를 반 환
  • 18. 18 (4)_General Test Procedures - 3/5 설치 설정값 수정/ 제품설치 어드민 설정 변경 영상 입력 명령 실행 각 제품 로그 확인 결과 파일(dicom)확 인 ( Docker settings ) - TIMEZONE - ~ 테스트 수행 다양한 테스트 케이스에 따라 필요한 환경을 구성하기 위해 • 제품 설치 시 설정 값 변경 및 docker 기반 설치 • 각 제품의 어드민 설정을 이용해 상세 설정 변경 - Docker start ( ADMIN settings ) - Network (Input/ Output) - Output Dicom - SC Display mode - SC Result type - Language …
  • 19. 19 (4)_General Test Procedures - 4/5 테스트 수행 각 제품 로그 등을 통해 분석 과정 확인 • 테스트 케이스에 맞는 테스트 데이터(영상)를 준비하고, 해당 영상을 업로드 • 각 제품의 로그 모니터링 • 분석 결과에 대한 상세 확인 설치 설정값 수정/ 제품설치 어드민 설정 변경 영상 입력 명령 실행 각 제품 로그 확인 결과 파일(dicom)확 인 별도 Viewer를 이용해 결과 상세 확인 - 테스트를 위한 영상 dicom 파일 준비 - DIMSE 프로토콜로 전송
  • 20. 20 (4)_General Test Procedures - 5/5 제품 App Type 구분 Feature (테스트 목적) Prio rity 테스트 데이터 사전조건 절차 기대 결과 테스트 결과 GW CXR3 기본 흐름 dicom분석 병변이 있는 환자 의 영상 분석 P1 “A_patient.dcm” GW Admin을 통해 SC(Report), color map, 출력 설정 1.storescu 기능을 이용하여 환자의 x- ray 영상을 전송 2.GW(BE 및 IS)의 로그 모니터링 3.GW의 received, repository 저장소 확인 4. GW Admin의 Task 결과 확인 5. 결과 dicom이 요청한 설정대로 정 상 생성되었는지 확인 2.정상분석 로그 출력 3.원본 dicom파일 및 결과 sc jpg 이미지가 각각 received, repository 폴더에 생성된다 4.분석결과가 Task 메뉴에 조회된다 5.결과 dicom 정상생성 (상세 옵션 : ~ ) PASS GW CXR3 에러 흐름 dicom분석 출력설정이 잘못된 경우 P1 GW Admin 설정에 서 출력 정보가 잘 못 설정 : 미존재 ip address 1.storescu 기능을 이용하여 환자의 x- ray 영상을 전송 2.GW(BE 및 IS)의 로그 모니터링 3.GW Admin의 Task 결과 확인 2. 사전 설정값에 따라 {30} 초단위로 {3}회 재전송 시도 후 최종 실패 로그 출력 3. 최종 결과 Fail로 조회된 다 PASS BE CXR3 기본 흐름 API: (POST) /{app}/dcm/ 정상업로드 P1 “A_patient.dcm” BE Admin 기본(#)설 정 API 호출 후 응답 결과 확인 200(ok)응답 및 BE상에 저장 된 uuid를 반환한다 FAIL IS CXR3 기본 흐름 API: (POST) /predict/ 기본동작 P1 [요청파라미터] filtering=true threshold = 0.15 …… API 호출 후 응답 결과 확인 200(ok)응답 및 분석결과과 json 형태로 반환된다 PASS 앗, 문제가 있어!! 개발팀과 확인해 봐야겠다. 테스트 수행 • 각 테스트 케이스 별 실제 결과를 작성 • 결함이나 이슈가 있는 경우 별도 관리시스템(Asana)를 통해 기록을 남기고, 개발팀과 확인
  • 21. 21 (5)_Alpha / RC Testing 구분 Test Target Test Environment Test Results Alpha Test New and Changed features only 각 기능별 테스트 케이스, 데이터 각 기능 또는 QE별 개별 테스트 환경 구축 신규/변경된 기능의 테스트 결과 RC Test 전체 테스트 케이스 (Regression Test) 통합된 테스트 환경 전체 테스트 결과 점진적 통합 : Alpha 테스트에서는 주요한 신규/변경 기능을, RC 테스트에서는 기존 기능 포함 전체 테스트를 수행합니다 * RC: Release Candidate Alpha Test RC Test a1 a2 a3 feature A feature B,C feature D issue#N~ fix issue#M~ fix code freezing New/Changed Features Not changed Features … (RTM) Release SW 통합테스트 rc2 rc1 rc... * RTM: Release To Manufacturing
  • 22. 22 A Product Isolation Testing Products Integration Testing (6)_개별 제품 테스트 GW BE IS 요청, 정상 응답 제품간의 연동 상황에서 임의의 에러상황이나 특정 결과 를 반환하게 하고 싶다!!!! 요청 요청, 정상 응답 GW 요청 요청, 비정상 응답 (더미서버 응답 설정) 400(bad request), { ‘message’:’request…’ } BE IS 요청, 정상 응답 각 제품간에 발생할 수 있는 다양한 상황을 임의로 발생시켜 테스트 커버리지 향상 실제 제품이 아니라, 임의로 동작을 지정할 수 있는 ‘더미서버'를 활용 상황 예1) 특정 API의 응답이 오래 걸리거나, 응답이 안 오도록 설정 상황 예2) 다른 제품에서 오는 분석 결과를 원하는 특정 응답으로 오도록 상세 설정 상황 예3) 임의의 응답 에러(404 Not Found, 400 Bad Request, 500 Server Error,...)와 메시지가 발생한 상황에서 제품 동작 확인 등 dummy -BE dummy -IS SW 통합테스트
  • 23. 23 (7)_API 테스트(자동화) SW 통합테스트 검증 공수 절감을 위해 반복적이고 결과가 명확한 부분에 테스트 자동화 적용 검토 - 코드레벨에서는 개발팀이 테스트 코드 작성(pytest 등), QE팀에서는 테스트 결과/커버리지 결과 확인 - QE팀에서는 HTTP API에 대해 PostMan, Jmeter, pytest(requests)를 이용하여 테스트 스크립트 작성 자동화 대상 선정 기본 동작 확인 외에도, 반복적이고 결과가 확실한 부분 을 API 테스트 자동화 대상으로 선정 테스트 스크립트 작 성 Python/Requests (PostMan, JMeter) 등을 이용하여 자동으 로 반복적으로 호출하고 그 결 과를 확인하는 스크립트를 작성 테스트 자동수행 스케쥴러(Jenkins)를 통해 매일 , 또는 코드 변경이 발생할 때마 다 자동으로 수행 테스트 결과 알림 테스트 결과 보고서를 생성하고 , 그 결과를 슬랙 등을 통해 실 시간으로 알림 pytest /requests GW BE IS 10개 결과 텍스트가 9개 언어별로 정상 출력되는지 매번 확인해야 하네… 10X9=…
  • 24. 24 Details 3) Other types of Testing - Pre-defined Dicom-Set Test - Aging(Soak) Test - Other Non-Functional Test
  • 25. 25 CXR, MMG 스코어 비교 결과 (8)_Predefined Dicom-Set Test 미리 정해놓은 테스트 셋(Validation Dicom Set)에 대해 신규 버전의 유효성 검토 (오류, 기존 버전과의 스코어 차이 정도) … … 신규 버전 기존 버전 - - 비교 검사 셋 이번 MMG 5.7.2 모델에서 기존대비 전체적으로 Max Score가 높게 나온 현상 이… 아!! 특정 장비에 대한 fine- tuning을 더해서 5.7.2.1로 내도록 하겠습니다! (CXR 결과 예) a) 각 병변별 스코어 차이 평균값, b) 스코어 차이 구간별 분포도, c) 스코어 차이가 가장 큰 top 3, d) 비교 버전별 전체 대비 스코어 분포 SW 시스템 테스트 Pre-defined dicom set (CXR/MMG)
  • 26. 26 테스트 결과(실시간 모니터링) (9)_Aging(Soak) Test Aging(Soak) Test : 오랜 시간동안 대량 부하(huge volume of load) 상황에서, 애플리케이션의 성능을 측정하는데 사용되는 비기능 테스트의 한 유형으로 저희는 긴 시간(2-3일)동안 반복적으로(ex.10초단위) 분석요청을 진행해서 테스트 시간에 따른 시스템의 메모리 증가, 성능 정보의 변화 등을 확인합니다 - 메모리 사용량 - 평균 분석 시간 등 추이 모니터링 각 제품의 성능 지표와 저장된 분석 소요 시간 등을 수집하여 Grafana로 시각화 SW 시스템 테스트 XX 제품의 메모리 사용량 추이 가 점점 높아지는데… 어딘가 메모리 누수가 있는 것 같아요!! 확인해 보니, 저희가 내부적으로 참조하는 외부 라이브러리의 특 정 로직을 타는 경우에...
  • 27. 27 설치 환경 호환성, 이식성 / 파트너 제품 연동 네트워크 이슈 상황 버전 업데이트 확인 보안관점 테스트 (10)_Other types of validations SW 시스템 테스트 - 이전 데이터에 대한 정상 유지, 이전(Migration) 확인 - 업데이트 시점에 분석 중인 건에 대한 동작 검토 - 네트워크 단절, 방화벽 상황에서 적절한 처리 - 의존 관계에 있는 다른 제품의 네트워크 단절 상황 등 - 인증된 키에 대한 적절한 체크 (유효하지 않은 접근에 대한 차단) - 라이센스 정책에 따른 올바른 동작 확인 - 세션 타임아웃, 로그인/비밀번호 정책 적용 확인 - 비밀번호 변경 주기 적용 등 - NVIDIA(GPU), Jetson, OpenVINO 등 다양한 설치환 경에서 정상 동작 확인 - GE,FF 등 파트너 제품과의 연동 관점 기능 검증 //
  • 28. 28 Details 4) Release / Operation - Release - On-site Issue monitoring
  • 29. 29 (11)_Product Release SW 릴리즈 - 테스트 결과 정리, 배포되는 기능 정보, 릴리즈 노트, Known-Issue 등 정리 - DE팀과 설치 및 현장 대응을 위한 인수인계 릴리즈 및 배포를 위한 DE팀 인수인계 세션 a) 반영된 주요 Feature 설명 b) 설치 시 유의사항 c) Known-Issue d) 릴리즈 노트 설명 [QC Summary] ~~ ~~ 제품 릴리즈 개요 주요 Feature (상세링크) 상세 컴포넌트별 테스트 결과, 특 이사항 등 제품별 릴리즈 정보 설치시 유의사항 [ QC Summary ]
  • 30. 30 (12)_현장이슈 1차 분석 및 대응 - 현장 이슈, 문의 내용에 대해서도 DE팀과 함께 확인 및 대응 (DE팀 - QE팀 - 개발팀) SW 릴리즈
  • 31. 3. Conclusion - Summary - Goals and Concerns - Final Message
  • 32. 32 Summary - SQE Activities & Strategy Strategy & Approach 작은 단위에서 점점 더 큰 단위로 더 이른 단계에서 이해관계자와 협업 자동화 검토/적용 Review for Requirements, Architecture Planning Test Design Alpha / RC Testing Test Execution API 테스트(자동화) 개별 제품 테스트 Validation Dicom SetTest Aging(Soak) Test Other types of Non-Functional Testing Learning From Everything Continuous Improvement Activities
  • 33. 33 고민중 목표 Goals and Concerns 제품 품질!! 고객의 만족 고객, 비즈니스 제품팀, 개발 회사 내,외부 다양한 이해관계자 간에 브릿지 역할을 하여 좋은 품질의 제품을 만드는 것!! SQE!!! - SQE Goals and Concerns
  • 35. 35 Final Message ‘Product Quality’ for ALL 제품 파트너사,DE팀 인허가, 인증 비즈니스 제품 사용자 (환자, 의사,) - 제품이 기대한 대로 잘 동작하는지 - 정해진 절차와 방식으로 개발하고 검증하고 있는지 - 설치하고 사용하기 용이한지 - 문제가 발생했을 때 문제의 현상과 추정 원인 파악이 용이한지 - 우리 고객의 needs를 빠르게 반영 - 우리 제품만의 강점을 잘 표현하고 있는지 - 환자들의 병변을 적절하고 효과 적으로 알려주는지 - 의사들의 업무를 더 효율적이고 쉽게 지원하고 있는지 Quality!!
  • 37. 37 Software Life-cycle SW DEV Planning SW Requirem ents Analysis Product QA Process in Software Life-cycle (*IEC 62304 based) Customer Needs SW Architect ure SW Detailed design SW Unit impleme ntaion/T est SW Integrati on /IT Test SW System Test SW Release SW Release / Operatio n Customer Needs Satisfied . Release QC Plan . review requirements . test requirements analysis . Feature QC Plan . review Architecture/desig n . plan test environments . test design . design test data . develop test environments . code review . developer tests . code inspection (tools) . Alpha Test . RC Test (Regression Test) . pre-defined dicom set Test . API Test . Aging(Soak) Test . Deploy Test (version update, data migrations,...) . Release notes . known-issue . release version history managing . onsite issue monitoring, analysis *QC Schedule *QC Plan *QC Plan *TestCase *QC Plan *pytest/coverage *developer test checklist *Test Results and issues *Test Results *release note *QC Summary