SlideShare a Scribd company logo
1 of 35
Data Driven Development (仮)
~ Semi-Automated Relevancy Evaluation Platform in Search ~

0112/2013
Kotaro Ogino
Search Platform Group, Search Section, Big Data Department, Rakuten Inc.
http://www.rakuten.co.jp/
楽天の検索から
来ました
2
楽天の検索

3
検索プラットフォームを
パッケージ製品から内製に
• クラウドなプラットフォーム
• 検索結果の改善
開発環境の整備
→ システムテストの自動化
4
アジャイルテストの4象限
ビジネス面

自動と手動

チ
ー
ム
を
支
援
す
る

手動

機能テスト
例)
ストーリーテスト
プロトタイプ
シミュレーション

探索的テスト
シナリオ
ユーザビリティテスト
受け入れテスト
アルファ/ベータ

単体テスト
コンポーネントテスト

パフォーマンス/
負荷テスト
セキュリティテスト
「〜性」テスト

自動

製
品
を
批
評
す
る

ツール
技術面
ISBN:9784798119977“ 実践アジャイルテスト” p.96

5
アジャイルテストの4象限
ビジネス面

自動と手動

チ
ー
ム
を
支
援
す
る

手動

機能テスト
例)
ストーリーテスト
プロトタイプ
シミュレーション

探索的テスト
シナリオ
ユーザビリティテスト
受け入れテスト
アルファ/ベータ

単体テスト
コンポーネントテスト

パフォーマンス/
負荷テスト
セキュリティテスト
「〜性」テスト

検索機能

運用性
可用性

自動

製
品
を
批
評
す
る

ツール
技術面
ISBN:9784798119977“ 実践アジャイルテスト” p.96

6
JaSST 14 Tokyo
で事例発表するよ

http://jasst.jp/symposium/jasst14tokyo.html

7
開発環境は
整った
8
サービス品質
向上やるぞ
9
アジャイルテストの4象限
ビジネス面

自動と手動

チ
ー
ム
を
支
援
す
る

手動

機能テスト 検索機能
例)
ストーリーテスト
プロトタイプ
シミュレーション

探索的テスト
シナリオ
ユーザビリティテスト
受け入れテスト
アルファ/ベータ

単体テスト
コンポーネントテスト

パフォーマンス/
負荷テスト
セキュリティテスト 完全性
「〜性」テスト
可用性

自動

製
品
を
批
評
す
る

ツール
技術面
ISBN:9784798119977“ 実践アジャイルテスト” p.96

10
アジャイルテストの4象限
ビジネス面

自動と手動

チ
ー
ム
を
支
援
す
る

手動

検索結果
の
品質

機能テスト 検索機能
例)
ストーリーテスト
プロトタイプ
シミュレーション

探索的テスト
シナリオ
ユーザビリティテスト
受け入れテスト
アルファ/ベータ

単体テスト
コンポーネントテスト

パフォーマンス/
負荷テスト
セキュリティテスト 完全性
「〜性」テスト
可用性

自動

製
品
を
批
評
す
る

ツール
技術面
ISBN:9784798119977“ 実践アジャイルテスト” p.96

11
検索結果の品質にまつわる問題…

検索ランキングの評価
→ 検索ランキングってテスト可能?
→ 検索結果のランキングは複数の
コンポーネントが複雑に
相互作用して作られる
= システムテストが必要

12
検索結果の品質にまつわる問題…

データ分析者と開発者の関係
→ データ分析者は”専門分野”を
評価している
例) 形態素解析、音素分析、TFIDF
→ リリース後のユーザーの行動に
よるABテストで
トータルとしてよくない結果が
出ることがしばしば
13
Big
× Agile
Data
14
PDCA iterations
行動

×

目的
関数
観測

テスト

報酬

Reinforcement
Learning

生産性

実装

リファクタリング

TDD
15
Data Driven Development

(2)開発

(1)目的関数

(3) 評価

(4) 承認
16
Data Driven Development
(2)開発
(1)目的
関数
(3) 評価

(4) 承認

分析者 評価

開発者

→ 対象システムの
目的関数の最適化の
ための継続的な
開発サイクル
対象システム
ベースライン
対象システム
改善手法

評価用
データセット

17
Data Driven Development

(2)開発

(1)目的関数

(3) 評価

(4) 承認
18
(2)開発

(1) 目的関数
(1)目的
関数

既存の開発の問題点
・定量的な評価手法が存在しない
・継続的な改善の仕組みがない

(3) 評価

(4) 承認

既存の分析の問題点
・分析、評価が開発プロセスから
独立している

→ 分析サイドで評価に使われている
目的関数を開発サイドに導入
19
(2)開発

(1) 目的関数
(1)目的
関数
(3) 評価

諸事情によりモザイク

(4) 承認

20
Data Driven Development

(2)開発

(1)目的関数

(3) 評価

(4) 承認
21
(2)開発

(2) 開発

目的関数を最適化する
改善手法の開発、設定
- Tokenizer, Filter の開発
- スキーマ などの設定

分析者 評価
開発者

(1)目的
関数
(3) 評価

(4) 承認

対象システム
ベースライン
対象システム
改善手法

評価用
データセット

22
(2) 開発

Main
stream

Git

ベースライン

Relevancy
branch

改善手法

23
Data Driven Development

(2)開発

(1)目的関数

(3) 評価

(4) 承認
24
(2)開発

(3) 評価
(1)目的
関数

既存の開発の問題点

(3) 評価

(4) 承認

・開発後にしか評価が出来ない
・自動化されていないので頻繁に
評価を実行できない

既存の分析の問題点
・トータルなサーチ結果の改善を
示す事が困難

→ 共通の自動化された評価基盤を提供
25
(2)開発

(3) 評価

Jenkins, Vagrant, Ngauto で
共通の自動評価プラットフォーム
を構築

分析者 評価
開発者

(1)目的
関数
(3) 評価

(4) 承認

対象システム
ベースライン
対象システム
改善手法

評価用
データセット

26
(2)開発

(3) 評価
(1)目的
関数

Ngautoのテストクラス
(3) 評価

(4) 承認

→ JUnitでそれぞれの
シナリオが
記述されている

STG のJenkins のジョブ
→ 対応するジョブを
作成

27
(2)開発

(3) 評価
(1)目的
関数

評価結果
・ Jenkinsの画面

(3) 評価

(4) 承認

28
(2)開発

(3) 評価
(1)目的
関数

評価結果
・ Jenkinsの画面

(3) 評価

(4) 承認

テストが失敗した!
= 検索結果に変化が生じた!

29
Data Driven Development

(2)開発

(1)目的関数

(3) 評価

(4) 承認
30
(2)開発

(4) 承認
(1)目的
関数

Main
stream

Git

- pull request
- approve

(3) 評価

(4) 承認

ベースライン

Relevancy
branch

改善手法

31
Data Driven Development

32
Data Driven Development
= 継続した改善のための
ATDDのサイクル
33
Data Driven Development

(2)開発

(1)目的関数

(3) 評価

(4) 承認
34
Agile
Big Data
35

More Related Content

What's hot

Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)
masanori kataoka
 
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
kyon mm
 
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
Satoshi Watanabe
 

What's hot (20)

ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
 
Ai for software testing
Ai for software testingAi for software testing
Ai for software testing
 
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
【JaSST'18 Tokai】アジャイルとテスト自動化導入の勘所
 
Automation test.ssf alpha
Automation test.ssf alphaAutomation test.ssf alpha
Automation test.ssf alpha
 
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
 
テストマネジメントツールSquash TMを利用した継続的テスト改善
テストマネジメントツールSquash TMを利用した継続的テスト改善テストマネジメントツールSquash TMを利用した継続的テスト改善
テストマネジメントツールSquash TMを利用した継続的テスト改善
 
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
 
Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)
 
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
 
【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記
 
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
 
テスト自動化のこれまでとこれから
テスト自動化のこれまでとこれからテスト自動化のこれまでとこれから
テスト自動化のこれまでとこれから
 
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst
 
20150418 システムテスト自動化 第二章
20150418 システムテスト自動化 第二章20150418 システムテスト自動化 第二章
20150418 システムテスト自動化 第二章
 
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介
 
20150418 システムテスト自動化 第一章
20150418 システムテスト自動化 第一章20150418 システムテスト自動化 第一章
20150418 システムテスト自動化 第一章
 
Twitter4Jとテスト
Twitter4JとテストTwitter4Jとテスト
Twitter4Jとテスト
 
スマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめようスマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめよう
 
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際異業種でのテスト自動化の実際
異業種でのテスト自動化の実際
 
JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?
 

Similar to 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)

Continuous delivery chapter4
Continuous delivery chapter4Continuous delivery chapter4
Continuous delivery chapter4
favril1
 
アジャイル×テスト開発を考える
アジャイル×テスト開発を考えるアジャイル×テスト開発を考える
アジャイル×テスト開発を考える
yasuohosotani
 
第3回ソフトウェアテストセミナー
第3回ソフトウェアテストセミナー第3回ソフトウェアテストセミナー
第3回ソフトウェアテストセミナー
Tomoyuki Sato
 
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
Sho Nakamura
 
テスコン2015 チームfujiプレゼン資料
テスコン2015 チームfujiプレゼン資料テスコン2015 チームfujiプレゼン資料
テスコン2015 チームfujiプレゼン資料
ken otabe
 
TABOK Skill Category2解説
TABOK Skill Category2解説TABOK Skill Category2解説
TABOK Skill Category2解説
Kinji Akemine
 
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料
Masatoshi Itoh
 

Similar to 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮) (20)

JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテストJUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
 
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
 
画像認識ベースのUI自動化フレームワークを用いた取り組み
画像認識ベースのUI自動化フレームワークを用いた取り組み画像認識ベースのUI自動化フレームワークを用いた取り組み
画像認識ベースのUI自動化フレームワークを用いた取り組み
 
Continuous delivery chapter4
Continuous delivery chapter4Continuous delivery chapter4
Continuous delivery chapter4
 
アジャイルテストを、壮絶に、考える。
アジャイルテストを、壮絶に、考える。アジャイルテストを、壮絶に、考える。
アジャイルテストを、壮絶に、考える。
 
アジャイル×テスト開発を考える
アジャイル×テスト開発を考えるアジャイル×テスト開発を考える
アジャイル×テスト開発を考える
 
SGT2013 技術トークス「アジャイルテスティング」
SGT2013 技術トークス「アジャイルテスティング」SGT2013 技術トークス「アジャイルテスティング」
SGT2013 技術トークス「アジャイルテスティング」
 
失敗から学ぶテスト自動化導入で大切なこと
失敗から学ぶテスト自動化導入で大切なこと失敗から学ぶテスト自動化導入で大切なこと
失敗から学ぶテスト自動化導入で大切なこと
 
テストコードのリファクタリング
テストコードのリファクタリングテストコードのリファクタリング
テストコードのリファクタリング
 
Et west テスト自動化_公開版
Et west テスト自動化_公開版Et west テスト自動化_公開版
Et west テスト自動化_公開版
 
第3回ソフトウェアテストセミナー
第3回ソフトウェアテストセミナー第3回ソフトウェアテストセミナー
第3回ソフトウェアテストセミナー
 
テストとの上手な付き合い方
テストとの上手な付き合い方テストとの上手な付き合い方
テストとの上手な付き合い方
 
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
DEIM2019 楽天技術研究所の研究とケーススタディ(推薦システム)
 
テスコン2015 チームfujiプレゼン資料
テスコン2015 チームfujiプレゼン資料テスコン2015 チームfujiプレゼン資料
テスコン2015 チームfujiプレゼン資料
 
TABOK Skill Category2解説
TABOK Skill Category2解説TABOK Skill Category2解説
TABOK Skill Category2解説
 
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料
 
Gui自動テストツール基本
Gui自動テストツール基本Gui自動テストツール基本
Gui自動テストツール基本
 
Appiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみるAppiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみる
 
How to introduce test automation in VeriServe Test Automation Talk #2
How to introduce test automation in VeriServe Test Automation Talk #2How to introduce test automation in VeriServe Test Automation Talk #2
How to introduce test automation in VeriServe Test Automation Talk #2
 
Invitation to development tools オープン系開発ツールへのいざない
Invitation to development tools オープン系開発ツールへのいざないInvitation to development tools オープン系開発ツールへのいざない
Invitation to development tools オープン系開発ツールへのいざない
 

Recently uploaded

研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
atsushi061452
 

Recently uploaded (14)

LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイント
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
 
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルLoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
 

【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)