Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
mablりましょう。
Search
yuki tamazawa
February 19, 2020
Technology
0
900
mablりましょう。
SETグループより、JapanTaxi のプロダクトに関する品質の取り組みについてご紹介します。
yuki tamazawa
February 19, 2020
Tweet
Share
More Decks by yuki tamazawa
See All by yuki tamazawa
DMM.swift#1 Mergeable Libraryを試した
srea
1
530
アラートなどの割り込み表示を制御する
srea
1
500
DMM 次世代SDK開発チーム
srea
0
400
OSSと私
srea
1
490
ソフトウェア品質を支える E2Eテストのパイプライン作り
srea
3
3.2k
Other Decks in Technology
See All in Technology
小学3年生夏休みの自由研究「夏休みに Copilot で遊んでみた」
taichinakamura
0
140
AIのコンプラは何故しんどい?
shujisado
1
190
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
2
2.1k
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
240
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
rokuosan
0
150
Amazon VPC Lattice 最新アップデート紹介 - PrivateLink も似たようなアップデートあったけど違いとは
bigmuramura
0
190
20241220_S3 tablesの使い方を検証してみた
handy
3
190
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
31k
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
190
統計データで2024年の クラウド・インフラ動向を眺める
ysknsid25
2
830
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
180
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
330
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Gamification - CAS2011
davidbonilla
80
5.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
440
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Docker and Python
trallard
41
3.1k
The World Runs on Bad Software
bkeepers
PRO
65
11k
How GitHub (no longer) Works
holman
311
140k
Unsuck your backbone
ammeep
669
57k
How to Ace a Technical Interview
jacobian
276
23k
Visualization
eitanlees
146
15k
Automating Front-end Workflow
addyosmani
1366
200k
Transcript
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
継続的デリバリのための継続的テスト:mabl Japan 1 Yuki Tamazwa, SET Group leader at JapanTaxi mablりましょう。 Photo by Victor Xok on Unsplash
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 私について
たまざわゆうき Twitter @yukimikan88 GitHub @srea 最近公開したOSS
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 1.
事業紹介 2. チームの取り組み 3. テストツールについて 4. mablについて
4 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
5 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
6 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
7 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved SETグループのミッション
ソフトウェア品質と開発生産性を上げ 多くの施策安心してリリース出来る仕組みを作る メンバー 社員4名+業務委託 ・プロダクト横断的なQAプロセスの提案・運用・改善 etc.. ・テスト自動化推進、開発者向けデバッグツール開発 etc..
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved JapanTaxiのSETは、
どんな戦略で ミッション実現を目指しているのか。 Photo by Matt Duncan on Unsplash
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 戦略と考え方
攻めの自動化 シフトレフト
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 攻めの自動化:バグを見つけ素早くフィードバック
攻めの自動化 - 当たり前品質はソフトウェア技術で - 機械は電気があればサボらない⚡ - 人を増やさずリソースを増やせる - 自分の仕事を無くせる - テストデータ作成を自動化 - リグレッションテストの自動化 - レポーティング・リリース自動化
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved シフトレフト
シフトレフト:バグを `見つける` から `作らない` へ - 要件定義参加を目指し、手戻りを最小 限に - 長期的にQAエンジニアが魅力的品質 へ関わる足掛かり リリース前テスト 要件定義 開発 機能テスト サービスの知見を貯めながら左を目指していく 右側から自動化でQAエンジニアのリソース開放
13 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
JapanTaxiにおける テストの難しいところ
14 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
1回の乗車体験は 複数プロダクトで実現されている
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved JapanTaxiアプリ
iOS / Android JapanTaxi 業務支援 Web (React) JapanTaxi DRIVER’S Android + IoT JapanTaxiタブレット Android (自社ハード) + IoT 進め方:私たちが取った選択
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 関わり始めた時期
JapanTaxiアプリ iOS / Android JapanTaxi 業務支援 Web (React) JapanTaxi DRIVER’S Android + IoT JapanTaxiタブレット Android (自社ハード) + IoT 6ヶ月前〜 1年前〜 6ヶ月前〜 2ヶ月前〜
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved JapanTaxiアプリ
iOS / Android JapanTaxi 業務支援 Web (React) JapanTaxi DRIVER’S Android + IoT JapanTaxiタブレット Android (自社ハード) + IoT 攻めの自動化進捗 手作業中心 自動化検討 手作業中心 自動化検討
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved シフトレフト進捗 •:人 •:機械
要件定義 参加 機能テスト 設計 機能テスト 実行 リリース前テスト 実行 リグレッションケース 整備 (仕様理解) JapanTaxi • • • • • タブレット - • • • • DRIVER’S • • • • • 業務支援 - - - • •
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 人の部分がまだまだ多いが、
ソフトウェア技術で 効率化する戦法
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved テストを裏で支える技術
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved Texas
- 何でもテストツール テストで繰り返し行われる手順をAPI化して効率化。(SQL実行や注文履歴データ作成やお気に入り、カー ド種別データ、クーポン、ユーザーランク、データパターン用意 etc… ) 個人間のスキル差を埋め、難易度を下げる。 AWSにデプロイし、mablからもAPIステップを使って利用している。 手動・自動テスト、日々のデバッグ作業で利用される テスト・デバッグに特化したツールでテストのためなら基本的になんでもする WebUIでも提供し、エンジニアのデバッグ作業や自動テスト・QAエンジニアの手動テストで日々活用している。 ref: https://blog.japantaxi.co.jp/2019/11/21/5377 Photo by Chandler Cruttenden on Unsplash
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved Texas
API Docs - for Automation Testing
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved Texas
Web Client - for QA Engineer
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved Texas
で使われている技術 ・レガシーからモダンなシステムまで、多プロダクトと接続することでデータを操作出来るようにしている。 ・テキサスはテスト・デバッグする軸で、データ作成作業を最小化してくれる。
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights
Reserved 本題 mabl活用事例
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved JapanTaxiアプリ
iOS / Android JapanTaxi 業務支援 Web (React) JapanTaxi DRIVER’S Android + IoT JapanTaxiタブレット Android (自社ハード) + IoT タクシー会社の業務負荷を軽減するプロダクト 運行管理・注文管理・決済管理・乗務員や営業所管理..
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved Web
Architecture JapanTaxi 業務支援サービスの特徴 Support Browser CI/CD masterにマージで 本番デプロイ
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved なぜ
SaaS を使うのか • ツールがどんどん改善されている、保守不要 • 専門家によるサポートがいつでも得られる • JapanTaxiのミッション実現に集中ができる ◦ =>より良い価値を提供することに頭を使える • 興味が少しでもあったらとりあえず色々無料トライアルをおすすめします!
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 導入を進めるにあたり
• 事前準備 ◦ 自社サービスの理解 ◦ ヒアリング、優先度を決め、認識合わせ • テスト作り ◦ シナリオ作り ◦ テストAPI 用意 (Texas) • 1ヶ月ほどで100シナリオ作成!
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved mablの良いと思う点
1. フロー 2. ステージ 3. ステップタイムライン 4. オートヒール
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved mablの良いところ
- 1 • Flows 共通ステップを定義 再利用ができる ベースができてしまえば シナリオ実装速度も改善
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved •
Stage テストデータ作成 の後に 並列テスト実行 テスト実行方法が柔軟 mablの良いところ - 2
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved mablの良いところ
- 3 • Step Timeline 遅いステップやエラーが 起きた箇所を素早く把握! シナリオの最適化がしやすい
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved mablの良いところ
- 4 • Auto Heal シナリオを良しなに修正 メンテナンス運用コスト削減 シナリオが壊れていたことすら 気づかないレベル
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 触って約2ヶ月での所感
• 機能改善スピード早い。 • データパターンの多いフォーム系で不具合を多く発見 • 機能リリース時のデグレの不安が減り、ガンガン開発ができるよう に • メイン担当1人で運用だいたいまわせる • もっと使いこなせば、さらに運用コスト減らして品質あげられそう • mabl cli にSelenium Export = ベンダーロックされない?
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved まとめ
• JapanTaxiは複数プロダクトで1つの体験を提供している • 攻めの自動化とシフトレフトで価値の最大化を目指している • mabl は事業の提供価値向上に多くの時間を割くための有力候補 になる
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved “品質は偶然の出来事ではない、
つねに知的努力の結果である。” John Ruskin Photo by Matt Duncan on Unsplash
〒102-0094 東京都千代田区紀尾井町3-12 3-12 Kioicho Chiyoda-ku, Tokyo 102-0094 Japan TEL 03-6265-6265 FAX 03-3239-8115
www.japantaxi.co.jp 文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。 Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved