【システムテスト自動化カンファレンス2013 lt】 data driven development (仮)
DESCRIPTION
システムテスト自動化カンファレンス2013でのLTの発表資料ですTRANSCRIPT
![Page 1: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/1.jpg)
Data Driven Development (仮)~ Semi-Automated Relevancy Evaluation Platform in Search ~
0112/2013Kotaro OginoSearch Platform Group, Search Section, Big Data Department, Rakuten Inc.http://www.rakuten.co.jp/
![Page 2: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/2.jpg)
2
楽天の検索から
来ました
![Page 3: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/3.jpg)
3
楽天の検索
![Page 4: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/4.jpg)
4
検索プラットフォームをパッケージ製品から内製に
• クラウドなプラットフォーム • 検索結果の改善
開発環境の整備 → システムテストの自動化
![Page 5: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/5.jpg)
5
アジャイルテストの4象限
機能テスト例) ストーリーテスト プロトタイプ シミュレーション
探索的テストシナリオユーザビリティテスト受け入れテストアルファ / ベータ
単体テストコンポーネントテスト
パフォーマンス / 負荷テストセキュリティテスト「〜性」テスト
ISBN:9784798119977“ 実践アジャイルテスト” p.96
技術面
ビジネス面
チームを支援する製品を批評する
自動
自動と手動
ツール
手動
![Page 6: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/6.jpg)
6
アジャイルテストの4象限
機能テスト例) ストーリーテスト プロトタイプ シミュレーション
探索的テストシナリオユーザビリティテスト受け入れテストアルファ / ベータ
単体テストコンポーネントテスト
パフォーマンス / 負荷テストセキュリティテスト「〜性」テスト
ISBN:9784798119977“ 実践アジャイルテスト” p.96
技術面
ビジネス面
チームを支援する製品を批評する
自動
自動と手動
ツール
手動
検索機能
運用性可用性
![Page 7: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/7.jpg)
7
JaSST 14 Tokyoで事例発表するよ
http://jasst.jp/symposium/jasst14tokyo.html
![Page 8: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/8.jpg)
8
開発環境は整った
![Page 9: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/9.jpg)
9
サービス品質向上やるぞ
![Page 10: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/10.jpg)
10
アジャイルテストの4象限
機能テスト例) ストーリーテスト プロトタイプ シミュレーション
探索的テストシナリオユーザビリティテスト受け入れテストアルファ / ベータ
単体テストコンポーネントテスト
パフォーマンス / 負荷テストセキュリティテスト「〜性」テスト
ISBN:9784798119977“ 実践アジャイルテスト” p.96
技術面
ビジネス面
チームを支援する製品を批評する
自動
自動と手動
ツール
手動
検索機能
完全性可用性
![Page 11: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/11.jpg)
11
アジャイルテストの4象限
機能テスト例) ストーリーテスト プロトタイプ シミュレーション
探索的テストシナリオユーザビリティテスト受け入れテストアルファ / ベータ
単体テストコンポーネントテスト
パフォーマンス / 負荷テストセキュリティテスト「〜性」テスト
ISBN:9784798119977“ 実践アジャイルテスト” p.96
技術面
ビジネス面
チームを支援する製品を批評する
自動
自動と手動
ツール
手動
検索機能
完全性可用性
検索結果の
品質
![Page 12: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/12.jpg)
12
検索結果の品質にまつわる問題…
検索ランキングの評価 → 検索ランキングってテスト可能? → 検索結果のランキングは複数の コンポーネントが複雑に 相互作用して作られる = システムテストが必要
![Page 13: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/13.jpg)
13
検索結果の品質にまつわる問題…
データ分析者と開発者の関係 → データ分析者は”専門分野”を 評価している 例 ) 形態素解析、音素分析、 TFIDF → リリース後のユーザーの行動に よる AB テストで トータルとしてよくない結果が 出ることがしばしば
![Page 14: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/14.jpg)
14
Big Data
Agile
×
![Page 15: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/15.jpg)
15
×行動
観測 報酬
目的関数
テスト
実装 リファクタリング
生産性
ReinforcementLearning TDD
PDCA iterations
![Page 16: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/16.jpg)
16
Data Driven Development
(2) 開発
(3) 評価 (4) 承認
(1) 目的関数
![Page 17: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/17.jpg)
17
Data Driven Development
分析者
開発者
対象システムベースライン
対象システム改善手法
評価 評価用データセット
(2) 開発
(3) 評価 (4) 承認
(1) 目的 関数
→ 対象システムの 目的関数の最適化の ための継続的な 開発サイクル
![Page 18: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/18.jpg)
18
Data Driven Development
(2) 開発
(3) 評価 (4) 承認
(1) 目的関数
![Page 19: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/19.jpg)
19
(1) 目的関数(2) 開発
(3) 評価 (4) 承認
(1) 目的 関数
既存の開発の問題点
既存の分析の問題点
・定量的な評価手法が存在しない・継続的な改善の仕組みがない
・分析、評価が開発プロセスから 独立している→ 分析サイドで評価に使われている 目的関数を開発サイドに導入
![Page 20: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/20.jpg)
20
(1) 目的関数(2) 開発
(3) 評価 (4) 承認
(1) 目的 関数
諸事情によりモザイク
![Page 21: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/21.jpg)
21
Data Driven Development
(2) 開発
(3) 評価 (4) 承認
(1) 目的関数
![Page 22: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/22.jpg)
22
(2) 開発(2) 開発
(3) 評価 (4) 承認
(1) 目的 関数
分析者
開発者
対象システムベースライン
対象システム改善手法
評価 評価用データセット
目的関数を最適化する改善手法の開発、設定 - Tokenizer, Filter の開発 - スキーマ などの設定
![Page 23: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/23.jpg)
23
(2) 開発
Git
Main stream
Relevancy branch
ベースライン
改善手法
![Page 24: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/24.jpg)
24
Data Driven Development
(2) 開発
(3) 評価 (4) 承認
(1) 目的関数
![Page 25: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/25.jpg)
25
(3) 評価(2) 開発
(3) 評価 (4) 承認
(1) 目的 関数
既存の開発の問題点・開発後にしか評価が出来ない・自動化されていないので頻繁に 評価を実行できない既存の分析の問題点・トータルなサーチ結果の改善を 示す事が困難
→ 共通の自動化された評価基盤を提供
![Page 26: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/26.jpg)
26
(3) 評価(2) 開発
(3) 評価 (4) 承認
(1) 目的 関数
分析者
開発者
対象システムベースライン
対象システム改善手法
評価 評価用データセット
Jenkins, Vagrant, Ngauto で共通の自動評価プラットフォームを構築
![Page 27: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/27.jpg)
27
(3) 評価(2) 開発
(3) 評価 (4) 承認
(1) 目的 関数
STG の Jenkins のジョブ
Ngauto のテストクラス
→ JUnit でそれぞれの シナリオが 記述されている
→ 対応するジョブを 作成
![Page 28: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/28.jpg)
28
(3) 評価(2) 開発
(3) 評価 (4) 承認
(1) 目的 関数評価結果
・ Jenkins の画面
![Page 29: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/29.jpg)
29
(3) 評価(2) 開発
(3) 評価 (4) 承認
(1) 目的 関数評価結果
・ Jenkins の画面
テストが失敗した! = 検索結果に変化が生じた!
![Page 30: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/30.jpg)
30
Data Driven Development
(2) 開発
(3) 評価 (4) 承認
(1) 目的関数
![Page 31: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/31.jpg)
31
(4) 承認(2) 開発
(3) 評価 (4) 承認
(1) 目的 関数
Git
Main stream
Relevancy branch
ベースライン
改善手法- pull request- approve
![Page 32: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/32.jpg)
32
Data Driven Development
![Page 33: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/33.jpg)
33
Data Driven Development
= 継続した改善のための ATDD のサイクル
![Page 34: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/34.jpg)
34
Data Driven Development
(2) 開発
(3) 評価 (4) 承認
(1) 目的関数
![Page 35: 【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)](https://reader035.vdocuments.net/reader035/viewer/2022070316/55615007d8b42aa20d8b4ddb/html5/thumbnails/35.jpg)
35
AgileBig Data