【jasst'14 tokyo】システムテストの自動化による...
DESCRIPTION
JaSST'14 Tokyo での"システムテストの自動化による大規模分散検索プラットフォームの開発行程改善"という題目の事例発表です。 スライドに入りきらなかったコンセプトについてhttp://kokotatata.hatenablog.com/entry/2014/03/11/104240 に書いています。そちらもご参照ください。 --- 2014/03/08 08:00 文字のレイアウトのずれや配色の問題を修正TRANSCRIPT
![Page 1: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/1.jpg)
システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善
Mar/07/2014 荻野 恒太郎, パランデ アビジート, 松本 幹, 鵜飼 大志 Search Platform Group, Search Section, Big Data Department, Rakuten Inc. http://www.rakuten.co.jp/
![Page 2: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/2.jpg)
2
本日お持ち帰りして頂きたい事
![Page 3: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/3.jpg)
3
本日お持ち帰りして頂きたい事
本発表の趣旨 自動化とCIやTDDを組み合わせ “継続的システムテスト”を実現し 開発のアジリティを改善した
• 誰がためのシステムテスト自動化? • アジャイルな世界でのテスターの役割は?
![Page 4: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/4.jpg)
4
バックグラウンド
• ウェブサービス開発の特徴 • システムテスト自動化の目的
![Page 5: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/5.jpg)
5
ウェブサービス
![Page 6: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/6.jpg)
6
ウェブサービス開発の特徴
要求スコープ
時間軸
• 永続的開発
フェーズ
日々サービスを成長 させるため - 市場要求の変化 - 技術トレンドの変化
“Development and Deploy in Facebook”, Facebook, 2013,
継続的なサービス改善 → 絶え間ないリリース
![Page 7: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/7.jpg)
7
バックグラウンド
• ウェブサービス開発の特徴 • システムテスト自動化の目的
![Page 8: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/8.jpg)
8
クオリティ vs アジリティ
アジリティ
高
低 遅い 速い
サービス
クオリティ
機能開発のリードタイム バグ修正日数 など
![Page 9: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/9.jpg)
9
クオリティ vs アジリティ
アジリティ
高
低 遅い 速い
サービス
クオリティ
開発 - 機能追加 - 機能改善 - パフォーマンス改善
機能開発のリードタイム バグ修正日数 など
![Page 10: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/10.jpg)
10
クオリティ vs アジリティ
アジリティ
高
低 遅い 速い
サービス
クオリティ
開発 - 機能追加 - 機能改善 - パフォーマンス改善
開発
開発
開発
継続的な サービス改善 → 小さく産んで 大きく育てる
機能開発のリードタイム バグ修正日数 など
![Page 11: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/11.jpg)
11
クオリティ vs アジリティ
アジリティ
高
低 遅い 速い
サービス
クオリティ
開発
開発
開発
開発 品質の門番としての システムテスト - 新機能の振る舞い - デグレード ?
機能開発のリードタイム バグ修正日数 など
![Page 12: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/12.jpg)
12
品質の門番:システムテスト
機能テスト - 検索機能など - 検索ランキング
探索的テスト (ET) 受け入れテスト (UAT)
単体テスト (UT) コンポーネントテスト (CT)
パフォーマンス /負荷テスト 「〜性」テスト - 運用性 - 可用性
ビジネス面
支援
製品
批評
ISBN:9784798119977“ 実践アジャイルテスト” p.96
技術面
*以前結合テスト と呼んでいた
**運用性と可用性
• アジャイルテスト4象限
![Page 13: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/13.jpg)
13
品質の門番:システムテスト
機能テスト - 検索機能など - 検索ランキング
探索的テスト (ET) 受け入れテスト (UAT)
単体テスト (UT) コンポーネントテスト (CT)
パフォーマンス /負荷テスト 「〜性」テスト - 運用性 - 可用性
ビジネス面
支援
製品
批評
ISBN:9784798119977“ 実践アジャイルテスト” p.96
技術面
*以前結合テスト と呼んでいた
**運用性と可用性
• アジャイルテスト4象限
システムテスト(ST) その他
![Page 14: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/14.jpg)
14
クオリティ vs アジリティ
アジリティ
高
低 遅い 速い
サービス
クオリティ
開発
開発
開発
開発
機能開発のリードタイム バグ修正日数 など
![Page 15: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/15.jpg)
15
クオリティ vs アジリティ
アジリティ
高
低 遅い 速い
サービス
クオリティ
機能開発のリードタイム バグ修正日数 など
![Page 16: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/16.jpg)
16
クオリティ vs アジリティ
アジリティ
高
低 遅い 速い
サービス
クオリティ
• 技術的負債 • システムテストの 肥大化
開発 50%
ST 33%
QA 17%
機能開発のリードタイム バグ修正日数 など
![Page 17: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/17.jpg)
17
システムテストの問題:バグ修正日数
0 2 4 6 8
10
UT/CT ST
バグ修正日数
Q3
Q1
中央値
Q3
Q1
中央値
システムテストで 見つかったバグは 修正コストが高い
ST
![Page 18: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/18.jpg)
18
クオリティ vs アジリティ
アジリティ
高
低 遅い 速い
サービス
クオリティ
機能開発のリードタイム バグ修正日数 など
![Page 19: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/19.jpg)
19
クオリティ vs アジリティ
アジリティ
高
低 遅い 速い
サービス
クオリティ
サービス
機能開発のリードタイム バグ修正日数 など
![Page 20: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/20.jpg)
20
システムテスト自動化の目的
アジリティ
高
低 遅い 速い
サービス
クオリティ
サービス 目的: アジリティ改善のため システムテストを自動化
機能開発のリードタイム バグ修正日数 など
![Page 21: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/21.jpg)
21
継続的 システムテスト
• コンセプト • 課題と解決方法
![Page 22: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/22.jpg)
22
アジャイルなテストのアプローチにおけるシステムテスト
![Page 23: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/23.jpg)
23
アジャイルなテストのアプローチにおけるシステムテスト
継続的インテグレーション
![Page 24: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/24.jpg)
24
アジャイルなテストのアプローチにおけるシステムテスト
品質の門番 検索ランキングのデグレ 運用性、可用性のデグレ
![Page 25: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/25.jpg)
25
システムレベルの検証が必要な項目①: 検索ランキング
![Page 26: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/26.jpg)
26
システムレベルの検証が必要な項目①: 検索ランキング
検索キーワード
検索キーワードへの関連順で並べる
![Page 27: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/27.jpg)
27
検索ランキングに関連するコンポーネント
Storage component
Indexing component
Search component
Search API
Storage API
ドキュメント
検索結果
クエリ
GSP
Admin
![Page 28: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/28.jpg)
28
検索ランキングに関連するコンポーネント
Storage component
Indexing component
Search component
Search API
Storage API
ドキュメント
検索結果
クエリ
GSP
Admin
同義語辞書
スキーマ
データ処理
Disjunction Max
形態素解析
![Page 29: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/29.jpg)
29
システムレベルの検証が必要な項目②: 可用性•運用性
バランサ
ノード
検索クラスター 検索クラスター
... ノード ノード … ノード
![Page 30: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/30.jpg)
30
システムレベルの検証が必要な項目②: 可用性•運用性
バランサ
ノード
検索クラスター 検索クラスター
... ノード ノード … ノード
![Page 31: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/31.jpg)
31
システムレベルの検証が必要な項目②: 可用性•運用性
バランサ
ノード
検索クラスター 検索クラスター
... ノード ノード … ノード
Fail overするか?
復旧出来るか?
![Page 32: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/32.jpg)
32
運用性•可用性に関連するコンポーネント
Storage component
Indexing component
Search component
Search API
Storage API
ドキュメント
検索結果
クエリ
GSP
Admin
インデックス再構築
システム状態監視
ヘルスチェック
自動閉塞
ヘルスチェック
![Page 33: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/33.jpg)
33
“継続的システムテスト”
• コンセプト 検索ランキングや、運用性、可用性などの システムレベルの検証も継続的に実行
![Page 34: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/34.jpg)
34
“継続的システムテスト”
• コンセプト 検索ランキングや、運用性、可用性などの システムレベルの検証も継続的に実行
分析
設計 実装 UT
ST
要求スコープ
時間軸
システムテスト 自動化前
![Page 35: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/35.jpg)
35
“継続的システムテスト”
• コンセプト 検索ランキングや、運用性、可用性などの システムレベルの検証も継続的に実行
分析
設計 実装 UT
ST
要求スコープ
時間軸
システムテスト 自動化前
![Page 36: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/36.jpg)
36
“継続的システムテスト”
• コンセプト 検索ランキングや、運用性、可用性などの システムレベルの検証も継続的に実行
分析
設計 実装 UT
ST
要求スコープ
時間軸
システムテストで検証している 項目は顧客にとっての価値が高い
システムテスト 自動化前
![Page 37: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/37.jpg)
37
“継続的システムテスト”
• コンセプト 検索ランキングや、運用性、可用性などの システムレベルの検証も継続的に実行
分析
設計 実装 UT
ST
要求スコープ
時間軸
システムテストで検証している 項目は顧客にとっての価値が高い
リリース直前にバグが見つかり 継続的な改善が困難
システムテスト 自動化前
![Page 38: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/38.jpg)
38
“継続的システムテスト”
• コンセプト 検索ランキングや、運用性、可用性などの システムレベルの検証も継続的に実行
分析
設計 実装 UT
ST
要求スコープ
時間軸
システムテスト 自動化前
![Page 39: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/39.jpg)
39
“継続的システムテスト”
• コンセプト 検索ランキングや、運用性、可用性などの システムレベルの検証も継続的に実行
分析
設計 実装 UT
ST
要求スコープ
時間軸
分析
設計 実装 UT
要求スコープ
ST 時間軸
システムテスト 自動化前
システムテスト 自動化後
![Page 40: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/40.jpg)
40
“継続的システムテスト”
• コンセプト 検索ランキングや、運用性、可用性などの システムレベルの検証も継続的に実行
分析
設計 実装 UT
ST
要求スコープ
時間軸
分析
設計 実装 UT
要求スコープ
ST 時間軸
システムテスト 自動化前
システムテスト 自動化後
![Page 41: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/41.jpg)
41
“継続的システムテスト”
• コンセプト 検索ランキングや、運用性、可用性などの システムレベルの検証も継続的に実行
分析
設計 実装 UT
ST
要求スコープ
時間軸
システムテスト 自動化前
分析
設計 実装 UT
要求スコープ
ST 時間軸
システムテスト 自動化後
顧客にとって価値の高い領域での 開発者や分析者の継続的な改善をサポート
![Page 42: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/42.jpg)
42
継続的 システムテスト
• コンセプト • 課題と解決方法
![Page 43: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/43.jpg)
43
継続的インテグレーション
コンポーネント
ソースコード レポジトリ
ビルド
ビルド サーバー
UT
システムテスト
…
…
コンポーネント
…
…
…
… STG
![Page 44: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/44.jpg)
44
継続的インテグレーションから継続的システムテストへ
コンポーネント
ソースコード レポジトリ
ビルド
ビルド サーバー
UT
システムテスト
…
…
コンポーネント
…
…
…
…
自動化!!
STG
![Page 45: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/45.jpg)
45
継続的システムテスト概要図
コンポーネント
ソースコード レポジトリ
ビルド
ビルド サーバー
UT
自動化された システムテスト
…
…
コンポーネント
…
…
…
… STG
毎日、継続的に実行
![Page 46: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/46.jpg)
46
継続的システムテスト:課題
コンポーネント
ソースコード レポジトリ
ビルド
ビルド サーバー
UT
自動化された システムテスト
…
…
コンポーネント
…
…
…
… STG
![Page 47: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/47.jpg)
47
継続的システムテスト:課題
コンポーネント
ソースコード レポジトリ
ビルド
ビルド サーバー
UT
自動化された システムテスト
…
…
コンポーネント
…
…
…
… STG
① 複数のチームや コンポーネントの スムーズな結合
![Page 48: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/48.jpg)
48
継続的システムテスト:課題
コンポーネント
ソースコード レポジトリ
ビルド
ビルド サーバー
UT
自動化された システムテスト
…
…
コンポーネント
…
…
…
…
② システムテストの 自動化は高コスト?
STG
① 複数のチームや コンポーネントの スムーズな結合
![Page 49: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/49.jpg)
49
継続的システムテスト:課題
コンポーネント
ソースコード レポジトリ
ビルド
ビルド サーバー
UT
自動化された システムテスト
…
…
コンポーネント
…
…
…
…
① 複数のチームや コンポーネントの スムーズな結合
③ テストと開発の サイクルを作るには?
STG
② システムテストの 自動化は高コスト?
![Page 50: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/50.jpg)
50
自動化された継続的システムテストの課題①: スムーズな結合
インデクサー サーチ ストレージ アドミン
問題点: - チームの属人的な設計 → テスト自動化可能性に問題 - 低レイヤのコンポーネントのバグ → 他のコンポーネントの結合やテストに支障
… … … …
![Page 51: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/51.jpg)
51
課題①への取り組み: Software Engineer in Test (SET)
役割:自動化の専門部隊 テスト自動化方針に則った自動化
http://googletesting.blogspot.jp/2010/03/google-is-hiring-sets.html
![Page 52: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/52.jpg)
52
課題①への取り組み: Software Engineer in Test (SET)
コンポーネント 開発者 Software
Engineer in Test
Search
Indexer
Storage
Admin
開発
機能の開発工程 テスト自動化方針 分析 設計 実装
テスト
役割:自動化の専門部隊 テスト自動化方針に則った自動化
分析 設計 実装
テスト
………
…
http://googletesting.blogspot.jp/2010/03/google-is-hiring-sets.html
![Page 53: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/53.jpg)
53
課題①への取り組み: Software Engineer in Test (SET)
コンポーネント 開発者 Software
Engineer in Test
Search
Indexer
Storage
Admin
開発
機能の開発工程 テスト自動化方針 分析 設計 実装
テスト
役割:自動化の専門部隊 テスト自動化方針に則った自動化
分析 設計 実装
テスト
自動化の観点から 分析や設計に
積極的に関わる
………
…
http://googletesting.blogspot.jp/2010/03/google-is-hiring-sets.html
![Page 54: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/54.jpg)
54
課題①への取り組み: :スモークテスト
• 最低限の結合を保証するスモークテストを自動化
![Page 55: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/55.jpg)
55
課題①への取り組み: :スモークテスト
• 最低限の結合を保証するスモークテストを自動化
Smoke Test 機能テスト 非機能テスト
Pass
Version
Pass Yes
No
大規模 データ
UT&Build
Yes
Jenkins
STG
手動システムテスト
No
A A
![Page 56: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/56.jpg)
56
課題①への取り組み: :スモークテスト
• 最低限の結合を保証するスモークテストを自動化
Smoke Test 機能テスト 非機能テスト
Pass
Version
Pass Yes
No
大規模 データ
UT&Build
Yes
Jenkins
STG
手動システムテスト
No
A A
• スモークテストを パスしたバージョン を記録
• 上記のバージョンを システムテストで 対象とする
![Page 57: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/57.jpg)
57
自動化された継続的システムテストの課題②: テストにまつわるコスト
テストケース
手動 自動
フレームワーク
手動 自動
![Page 58: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/58.jpg)
58
自動化された継続的システムテストの課題②: テストにまつわるコスト
テストケース
手動 自動
フレームワーク
手動 自動
学習 開発
![Page 59: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/59.jpg)
59
自動化された継続的システムテストの課題②: テストにまつわるコスト
テストケース
手動 自動
フレームワーク
手動 自動
学習 開発
フレームワークの 学習や開発は 必要な投資
![Page 60: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/60.jpg)
60
自動化された継続的システムテストの課題②: テストにまつわるコスト
テストケース
手動 自動
フレームワーク
手動 自動
学習 開発
テスト実行
フレームワークの 学習や開発は 必要な投資
![Page 61: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/61.jpg)
61
自動化された継続的システムテストの課題②: テストにまつわるコスト
テストケース
手動 自動
フレームワーク
手動 自動
学習 開発
テスト実行
フレームワークの 学習や開発は 必要な投資
実行コストは自動化で0に
![Page 62: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/62.jpg)
62
自動化された継続的システムテストの課題②: テストにまつわるコスト
テストケース
手動 自動
フレームワーク
手動 自動
学習 開発
テスト実行 テスト実装
フレームワークの 学習や開発は 必要な投資
実行コストは自動化で0に
![Page 63: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/63.jpg)
63
自動化された継続的システムテストの課題②: テストにまつわるコスト
テストケース
手動 自動
フレームワーク
手動 自動
学習 開発
テスト実行 テスト実装
フレームワークの 学習や開発は 必要な投資
実行コストは自動化で0に
原因調査
原因調査 テスト保守
テスト保守
![Page 64: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/64.jpg)
64
自動化された継続的システムテストの課題②: テストにまつわるコスト
テストケース
手動 自動
フレームワーク
手動 自動
学習 開発
テスト実行 テスト実装
フレームワークの 学習や開発は 必要な投資
実行コストは自動化で0に
原因調査
原因調査 テスト保守
テスト保守
テスト実装や、原因調査、保守の コストを抑えるための工夫が重要
![Page 65: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/65.jpg)
65
課題②への取り組み: ドメイン固有テスト言語
検索結果のテストケースを表現する ドメイン固有テスト言語(DSTL)を定義 → 実装•保守コストを低減
![Page 66: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/66.jpg)
66
テストツール: Ngauto
ドメイン固有テスト 言語で記述された シナリオ
• アクション1 デプロイ
• アクション2 データ投入
• アクション3 検索クエリ
テストツールの中で アクションに対する実際の 振る舞いを定義 “検索クエリ” アクションの例) --- Report report = issueSapiQuery(testId,query); … int expectedHttpStatus = getExpectedHttpstatus(testId); int actualHttpstatus = report.getActualHttpStatus() TestCase.assertEquals( message, expectedHttpStatus, actualHttpstatus ); …
Ngauto (内製の
テストツール)
![Page 67: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/67.jpg)
67
課題②への取り組み: トレーサビリティ
JUnitベースのテストツール - JenkinsやIDEの画面からバグの追跡が可能 → 原因調査コストの低減
テストケースが失敗した場合の画面
![Page 68: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/68.jpg)
68
APPAPP
自動化された継続的システムテストの課題③: テストと開発のサイクル
APP
検証環境 開発マシン
テスト
開発
![Page 69: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/69.jpg)
69
APPAPP
自動化された継続的システムテストの課題③: テストと開発のサイクル
APP
検証環境 開発マシン
テスト
開発
環境差異による テスト結果の再現性の問題によって壊れる!!
![Page 70: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/70.jpg)
70
APPAPP
課題③への取り組み:シナリオ実行の透過性
テストツール
テストシナリオ
APP
検証環境 開発マシン
実行
![Page 71: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/71.jpg)
71
APPAPP
課題③への取り組み:シナリオ実行の透過性
テストツール
テストシナリオ
APP
検証環境 開発マシン
実行
開発マシンの テスト環境を
仮想化により統一
![Page 72: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/72.jpg)
72
APPAPP
課題③への取り組み:シナリオ実行の透過性
テストツール
テストシナリオ
APP
検証環境 開発マシン
実行
開発マシンの テスト環境を
仮想化により統一
プロファイル ローカルマシン
プロファイル STG
構成情報 構成情報
環境の構成情報を テストシナリオから分離
環境の構成情報を テストシナリオから分離 → シナリオ実行の
透過性を担保
![Page 73: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/73.jpg)
73
開発 サイクル
![Page 74: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/74.jpg)
Implement
GIT
merge
UT
Smoke Test 機能テスト 非機能テスト
Smoke Test
Pass Pass
Version
Pass Yes
No No
大規模 データ
UT&Build
実装
Yes
システムテスト自動化後の開発サイクル
LOCAL Jenkins
STG
手動システムテスト
機能テスト 非機能テスト
No Yes
A A A
A
![Page 75: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/75.jpg)
Implement
GIT
merge
UT
Smoke Test 機能テスト 非機能テスト
Smoke Test
Pass Pass
Version
Pass Yes
No No
大規模 データ
UT&Build
実装
Yes
システムテスト自動化後の開発サイクル
LOCAL Jenkins
STG
手動システムテスト
機能テスト 非機能テスト
自動化されたすべてのテストを毎日、継続的に実行 → リードタイム、バグ修正日数が最短1日に
No Yes
A A A
A
![Page 76: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/76.jpg)
76
評価
![Page 77: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/77.jpg)
77
システムテスト自動化の効果の評価方法
•自動化前後のバグ修正日数の比較 •継続的システムテスト適用後の累積バグ数
参考情報:自動化前後のテストの比較 継続的システムテスト 前 後
自動化テストの カバレッジ
機能テスト の一部
(604件)
機能テスト 非機能テスト 大規模テスト
(2887件) SET ◯
スモークテスト ◯ ◯ ドメイン固有テスト言語 ◯ バグのトレーサビリティ △ テストシナリオの透過性 △
◯:最初から△:途中から
![Page 78: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/78.jpg)
78
0
2
4
6
8
10
UT/CT ST 0
2
4
6
8
10
UT/CT ST
評価結果:バグ修正日数の比較
前
Q3
Q1
中央値
Q3
Q1
中央値 Q3
Q1
中央値
Q3
Q1
中央値
最大値 59 最大値 64 最大値 75 最大値 87
ST 後
(10572*) (11453*)
*テストメソッド数
(日数) (日数)
![Page 79: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/79.jpg)
79
0
2
4
6
8
10
UT/CT ST 0
2
4
6
8
10
UT/CT ST
評価結果:バグ修正日数の比較
前
Q3
Q1
中央値
Q3
Q1
中央値 Q3
Q1
中央値
Q3
Q1
中央値
システムテストで発見された バグの修正日数が大幅に改善
最大値 59 最大値 64 最大値 75 最大値 87
ST 後
(10572*) (11453*)
*テストメソッド数
(日数) (日数)
![Page 80: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/80.jpg)
80
自動化された継続的システムテスト適用後の累積バグ数
0
20
40
60
80
100 非機能テスト
機能テスト
スモーク
3月 5月 7月 9月
開発
テスト 自動化
![Page 81: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/81.jpg)
81
自動化された継続的システムテスト適用後の累積バグ数
0
20
40
60
80
100 非機能テスト
機能テスト
スモーク
3月 5月 7月 9月
開発
テスト 自動化
![Page 82: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/82.jpg)
82
自動化された継続的システムテスト適用後の累積バグ数
0
20
40
60
80
100 非機能テスト
機能テスト
スモーク
3月 5月 7月 9月
機能テスト 自動化完了
大きな 機能要件
受け入れテスト 開発
テスト 自動化
![Page 83: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/83.jpg)
83
自動化された継続的システムテスト適用後の累積バグ数
0
20
40
60
80
100 非機能テスト
機能テスト
スモーク
3月 5月 7月 9月
機能テスト 自動化完了
大きな 機能要件
受け入れテスト 開発
テスト 自動化
![Page 84: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/84.jpg)
84
自動化された継続的システムテスト適用後の累積バグ数
0
20
40
60
80
100 非機能テスト
機能テスト
スモーク
3月 5月 7月 9月
機能テスト 自動化完了
シナリオの 透過性
大きな 機能要件
断続的な 小さな要件
受け入れテスト 開発
テスト 自動化
![Page 85: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/85.jpg)
85
自動化された継続的システムテスト適用後の累積バグ数
0
20
40
60
80
100 非機能テスト
機能テスト
スモーク
3月 5月 7月 9月
機能テスト 自動化完了
シナリオの 透過性
大きな 機能要件
断続的な 小さな要件
受け入れテスト 開発
テスト 自動化
![Page 86: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/86.jpg)
86
自動化された継続的システムテスト適用後の累積バグ数
0
20
40
60
80
100 非機能テスト
機能テスト
スモーク
3月 5月 7月 9月
機能テスト 自動化完了
シナリオの 透過性
大規模テスト 自動化完了
バグの トレーサビリティ
大きな 機能要件
システム リファクタリング
断続的な 小さな要件
受け入れテスト
受け入れテスト 開発
テスト 自動化
![Page 87: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/87.jpg)
87
自動化された継続的システムテスト適用後の累積バグ数
0
20
40
60
80
100 非機能テスト
機能テスト
スモーク
3月 5月 7月 9月
機能テスト 自動化完了
シナリオの 透過性
大規模テスト 自動化完了
バグの トレーサビリティ
大きな 機能要件
システム リファクタリング
断続的な 小さな要件
受け入れテスト
受け入れテスト 開発
テスト 自動化
![Page 88: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/88.jpg)
88
継続的システムテストについてまとめ
分析
設計 実装 UT
ST
要求スコープ
時間軸
自動化前
分析
設計 実装 UT
要求スコープ
自動化後
ST 時間軸
![Page 89: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/89.jpg)
89
継続的システムテストについてまとめ
分析
設計 実装 UT
ST
要求スコープ
時間軸
自動化前
分析
設計 実装 UT
要求スコープ
自動化後
ST 時間軸
自動化前: リリース直前にバグが見つかり てんやわんやしていた
![Page 90: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/90.jpg)
90
継続的システムテストについてまとめ
分析
設計 実装 UT
ST
要求スコープ
時間軸
自動化前
分析
設計 実装 UT
要求スコープ
自動化後
ST 時間軸
自動化前: リリース直前にバグが見つかり てんやわんやしていた
自動化後: 開発者や分析者が積極的かつ安全な改善を 継続的に行う事が可能に!
![Page 91: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/91.jpg)
91
まとめと 今後の課題
![Page 92: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/92.jpg)
92
まとめ:継続的システムテストの意味
クオリティ
バグ修正日数の逆数 ( アジリティ )
高
低 遅い 速い
自動化前
自動化前
![Page 93: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/93.jpg)
93
まとめ:継続的システムテストの意味
クオリティ
バグ修正日数の逆数 ( アジリティ )
高
低 遅い 速い
自動化前
自動化後 自動化前
![Page 94: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/94.jpg)
94
まとめ:継続的システムテストの意味
クオリティ
バグ修正日数の逆数 ( アジリティ )
高
低 遅い 速い
自動化前
1/5 1/2
自動化後 自動化前
![Page 95: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/95.jpg)
95
まとめ:継続的システムテストの意味
クオリティ
バグ修正日数の逆数 ( アジリティ )
高
低 遅い 速い
自動化前
1/5 1/2
自動化後 自動化前
まとめ • システムテスト自動化とCIやTDDの アイデアを組み合わせる事で 継続的システムテストを実現 • バグ修正日数を改善
![Page 96: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/96.jpg)
96
まとめ:継続的システムテストの意味
クオリティ
バグ修正日数の逆数 ( アジリティ )
高
低 遅い 速い
自動化前
1/5 1/2
自動化後 自動化前
![Page 97: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/97.jpg)
97
まとめ:継続的システムテストの意味
クオリティ
バグ修正日数の逆数 ( アジリティ )
高
低 遅い 速い
自動化前
1/5 1/2
自動化後 自動化前
![Page 98: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/98.jpg)
98
まとめ:継続的システムテストの意味
クオリティ
バグ修正日数の逆数 ( アジリティ )
高
低 遅い 速い
自動化前
1/5 1/2
自動化後 自動化前
今後の課題 • システムのリファクタリングによる パフォーマンスの向上 • 検索ランキングの改善 → どういった“クオリティ”に有効か?
![Page 99: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/99.jpg)
99
謝辞
エバンジェリストの方たち、 社内勉強会の方たち、 ありがとうございました!!!
![Page 100: 【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST](https://reader034.vdocuments.net/reader034/viewer/2022052306/545ced95b0af9f12318b4c09/html5/thumbnails/100.jpg)
100
Good to see system test getting some