3. 1. 텍스트 기반의 유저스토리가 파싱이 되고 엔터티와 인텐트 ( 키워드와 맥락 ) 이 파악
되기 시작
2. 파싱된 유저 스토리를 기준으로 파악한 이벤트 테스트를 하기 위해서 기존의 테스트
프레임워크를 확인
• 로봇 프레임워크( 기존 유저스토리 ) – 교체 예정
• 로칼 테스트 : 나이트워치
• 클라우드 : 크롬 헤드리스
시작하면서. 결론
5. 사용자 스토리를 읽다. - Robot
Title : Naver 에서 메일 서비스를 이용하고 싶다
Description : Naver 에서 메일 서비스를 이용하고 싶다. 이렇게
함으로써 업무를 제외한 나의 인간관계를 더 잘 영위할 수 있다.
Naver 메인 화면에 접속해서
로그인을 한다
이후, 메일 서비스 메뉴로 이동한다
메일 서비스 화면이 나타나면 메일을 확인하고
로그아웃 한다
PM Job
6. 사용자 스토리를 읽다. - Robot
*** Keywords ***
Naver 메인 화면에 접속되어 있다
${페이지 타이틀} = Get Title
Should Be Equal ${페이지 타이틀} NAVER
로그인 한다
Input Text //input[@id='id'] ${사용자 아이디}
Input Text //input[@id='pw'] ${사용자 비밀번호}
Click Element //*[@class="btn_login"]
Sleep 5s
메일 서비스로 이동한다
Click Element //a[@class='an_a mn_mail']/span[@class='an_icon']
메일 서비스 화면이 나타난다
${현재 페이지 URL} = Get Location
Should Contain ${현재 페이지 URL} mail.naver.com
Wait Until Element Is Visible //img[@id='gnb_profile_img']
Sleep 5s
로그아웃 한다
Click Element //span[@id='gnb_name1']
Click Element //a[@id='gnb_logout_button']
*** Test Cases ***
Naver 에서 메일 서비스를 이용하고 싶다
Given Naver 메인 화면에 접속되어 있다
When 로그인 한다
And 메일 서비스 메뉴로 이동한다
Then 메일 서비스 화면이 나타난다
And 로그아웃 한다
테스트
케이스
키워드
스크립트
스크립트
스크립트
키워드
키워드
키워드
변수
식
Tester Job
7. 사용자 스토리를 읽다. - Robot
*** Settings ***
Documentation [NAVER S20]
... AS 사용자는
... I Want NAVER 메일 서비스를 이용하고 싶다
... So What NAVER 메일 서비스에 접속 할 수 있어야 한다
Resource ../../keyword/extended/ExtendedSelenium.robot
Resource Constant.robot
Suite Setup 브라우저 실행 ${접속 URL}
${브라우저 종류}
Test Teardown 브라우저 종료
*** Variables ***
${브라우저 종류}chrome
${접속 URL}https://www.naver.com/
${사용자 아이디 입력창} //input[@id='id']
${사용자 비밀번호 입력창} //input[@id='pw']
${사용자 로그인 버튼} //*[@class="btn_login"]
${메일 메뉴 버튼} //a[@class='an_a
mn_mail']/span[@class='an_icon']
${사용자 정보 설정 버튼} //span[@id='gnb_name1']
${로그아웃 버튼} //a[@id='gnb_logout_button']
${네이버 메일 URL} mail.naver.com
${사용자 아이디} NaverID
${사용자 비밀번호} NaverPassword
PM이 사용자 스토리를 작성한다
사용자 스토리를 테스트 프레임워크에
맞는 스크립트로 테스터가 작성한다
삐리 삐리릭..
결과 보고서!
10. 사용자 스토리를 읽다. - Rosamia
Title : 설문 제목 작성 화면진입
Description :설문 제목 작성 화면에 진입하고 싶다. 이렇게 함으
로써 설문을 만들 수 있다.
URL을 입력하고
설문 작성 화면에 진입하는 상황에서
설문 타이틀을 입력하는 최초화면이 보여지는 경우
설문 제목 입력란에 커서가 포커스인 되어있어야한다
가이드 문구가 보여야한다
12. 사용자 스토리를 읽다. – Rosamia
Title : 설문 제목 작성 화면진입
Description :설문 제목 작성 화면에
진입하고 싶다. 이렇게 함으로써 설문
을 만들 수 있다.
URL을 입력하고
설문 작성 화면에 진입하는 상황에서
설문 타이틀을 입력하는 최초화면이 보여
지는 경우
설문 제목 입력란에 커서가 포커스인 되
어있어야한다
가이드 문구가 보여야한다
14. Rosamia 프로젝트
프로젝트 설명 언어
Train-data-set Train 데이터 관리 프로젝트. AWS Deploy 기능 포함 Groovy
Train-Data-Editor Train Data 중 JSON 데이터 만드는 에디터 Node.js
NLU-Server NLU + Entity 추출 서버 python
한글 형태소 Server 추출된 Entity를 한글 형태소로 분석.
트위터 패키지로 피보팅 중
Java
Gaplant-client NLU + 엔터티 추출 서비스 클라이이언트. 사용자 스토
리 관리.
React
Gaplant-server 테스트 프레임워크 Real Time 서버. Restful API 제공 Node.js
Gaplant-robot 로자미아용 로봇 프로젝트 python
Bound-Dog Object Detection 프로젝트
Tensorflow 기반에서 Darknet YOLO로 피보팅 중
python
Client Builder 전체 프로젝트를 하나의 Native Client + AWS 구조로 묶
어 내는 프로젝트
Electron
15. Training Data
말뭉치
Train
Data
Set
Model
웹 및 SNS에서 데이타를 크롤링
일반적인 단어들 해석에 필요함
Jira 유저스토리
, 국립 국어원 데이터 포함
프로젝트를 위한 용어집 혹은 키워드
각각의 프로젝트들의 합으로 쌓여짐
말 뭉치와 학습데이타를 학습하고 나면
모델이 만들어짐
NLU+ENTITY
Server
NLU+ENTITY
Server
Model
Train
Data
Set
말뭉치
사용자
스토리
형태소
분석기
24. 유지 보수할 때는? (Regression 테스트에는 어떤 일이 일어날까요?)
• 엔터티 = 키워드
• 로자미아 설정값 = 테스트 시 한번 물어보고 지속적으로 저장하고 사용함
사용자
스토리
작성
키워드
작성
스크립트
작성
설정값
작성
테스트
결과
보고서
사용자
스토리
작성
엔터티
및
인텐트
학습
설정값
제출
테스트
결과
보고서
룰 기반
테스트
Rosamia
테스트
25. 유지 보수할 때는? (Regression 테스트에는 어떤 일이 일어날까요?)
사용자
스토리
작성
키워드
작성
스크립트
작성
설정값
작성
테스트
결과
보고서
사용자
스토리
작성
엔터티
및
인텐트
학습
테스트 결과
보고서
룰 기반
테스트
Rosamia
테스트
유저스토리 작성 때마다 매번 일어나고
Regression 및 유지보수 때도 매번 작성되어야하는 부분
매일 소스코드가 유지보수 될 때 Regression 테스트
= 테스트 담당자가 없어도 개발자 스스로 유지가 되는 테스트
= 테스트비용 – (365일 * 테스트 담당자* (n-1) )
= 비용!
S T S T S T
…T TT T
…
30. 약한 고리
아이디와 패스워드를 입력하고 버튼을 눌러 로그인 한다.
어디에?
어디에?
어떻게?
2. 스크립트를 매번 작성해야 한다.
31. 약한 고리
*** Keywords ***
Naver 메인 화면에 접속되어 있다
${페이지 타이틀} = Get Title
Should Be Equal ${페이지 타이틀} NAVER
로그인 한다
Input Text //input[@id='id'] ${사용자 아이디}
Input Text //input[@id='pw'] ${사용자 비밀번호}
Click Element //*[@class="btn_login"]
Sleep 5s
메일 서비스로 이동한다
Click Element //a[@class='an_a mn_mail']/span[@class='an_icon']
아이디와 패스워드를 입력하고 버튼을 눌러 로그인 한다.
어디에?
input[@id='id']
어디에?
[@class="btn_login"]
기존 DOM 기반 해결책
어떻게?
Click Element
변경이 된다면?
36. 한눈에 보기
Authoring
Tool
( Train Data Editor )
NLU + 엔터티
AI PlatformUser Story Test Suite
Robot
Framework
Jira
OpenALM
Story ManagerJSON
Server
Event Adaptor
Script Manager
Model Trainer
(DataSet+JSON)
Test Script EngineCrawler
Appium
Headless
Browser
Object Detection
OCR
Object Detection
Deep Learning
Framework
NightWatch
Web
Mobile
37. 한눈에 보기
Authoring
Tool
( Train Data Editor )
NLU + 엔터티
AI PlatformUser Story Test Suite
Robot
Framework
Jira
OpenALM
Story ManagerJSON
Server
Event Adaptor
Script Manager
Model Trainer
(DataSet+JSON)
Test Script EngineCrawler
Appium
Headless
Browser
Object Detection
OCR
Object Detection
Deep Learning
Framework
NightWatch
Web
Mobile
Start from scratch
In a middle of PoC
PoC Done
범례
38. One more thing. 클라우드 서비스 사례
•Remote Testing
•No configuration
•Easy Debugging
•Testcase Management
•Screenshot and movie
NightCloud.io
39. One more thing. 클라우드 서비스 사례
•Focus on Mobile Device
•UI Acceptance Testing Tool
•Based on C# Nunit
Xamarin test cloud
40. One more thing. 클라우드 서비스 사례
• Funcional & Performance
Testing
• Jmeter based
• Famous in LoadTesting
• Mobile & Web
SOATA CloudTest
44. One more thing. 클라우드 서비스 사례로 그려본 로자미아
• Remote Testing
• No configuration
• Easy Debugging
• Testcase Management
• Screenshot and movie
• AI
• Virtual Testing
• Mobile & Web
• Browser 가상화
Rosamia B2B사내
• 전사적 테스트
환경 구축
• 프로젝트 별 테
스트 커버리지
향상
• 테스트 자동화
소외 프로젝트
극복
• B2B 서비스를 위
한 데이터 확보
• 루킨과 같은 전
략의 클라우드
향 테스트 서비
스 구축
• 과금 체계
• 개인 및 스타트
업은 무료 대형
회사들을 상대로
는 업체의 테스
트 비용 절감의
30% 과금
• 오픈 소스 전략
45. 클라우드 서비스 더했을 때에 한눈에 보기
browser
가상화 Testing 환
경
mobile
클라우드
SAAS
인증
과금
VM
Orchestrationåå
Screenshot
Movie
Test Case
Management
사용자 스토리
빌더
사용자 스토리
validator
New Feature
Start from scratch
In a middle of PoC
PoC Done
범례
46. 1. 로자미아가 완성되면 비용이 절약 됩니다.
• 장기적으로는 90% 이상의 테스트 비용이 절감
• 단기 목표 70%
2. 텍스트 기반의 유저스토리가 파싱이 되고 엔터티와 인텐트 ( 키워드와 맥락 ) 이 파악
되기 시작
3. 파싱된 유저 스토리를 기준으로 파악한 이벤트 테스트를 하기 위해서 기존의 테스트
프레임워크를 확인
• 로봇 프레임워크( 기존 유저스토리 ) – 교체 예정
• 로칼 테스트 : 나이트워치
• 클라우드 : 크롬 헤드리스
4. SAAS 형 클라우드 서비스 제안
1. web : 셀레니엄 + 헤드리스 테스팅 ( IE 구버전?)
2. 모바일 : VMWare 혹은 Virtual Box
끝내면서. 결론1