Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
「エース」と「ローテーション」
Next

Share

エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT

エンドツーエンドテストを自動化したらチームがすごく良くなった お話です

Related Books

Free with a 30 day trial from Scribd

See all

エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT

  1. 1. エンドツーエンドテストを自動化したら チームがすごく良くなった @ XP祭り2015 LT 2015/09/12 楽天株式会社 トラベルサービス開発・運用部 渡邉太一
  2. 2. 2 About Me • Webエンジニア • 言語: Java • 楽天トラベル内の 一つの開発チームのリーダー twitter:@taichiw0424 Taichi Watanabe
  3. 3. 3 今日のお話 サーバ上に デプロイ済み 商品登録 コアAPI E2E test Tool (自作) HTTP これを作った。
  4. 4. 4 Our team & Our product Web 管理画面 外部連携用 API 商品登録 コアAPI ホテル ・ 旅館
  5. 5. 5 テストの例: 「部屋を作るAPI」のテストをする コアAPI DB E2E test Tool Start Test Scenario Verify 部屋を参照するAPI Select TearDown 部屋を削除するAPI Delete Assertion! Execute 部屋を作るAPI Insert/Update Test Result HTTP
  6. 6. 6 Number of test cases (始めてから9ヶ月経過) UTで見つけられなかったバグが時々出てくる
  7. 7. 7 何が変わった?
  8. 8. 8 良かったこと1 案件用に作ったテストがずっと使える UT & 実装 まず E2E test を作る E2E test 実行! QA QA Run Regression Test Project 1 Project 2 同じテストを 再利用 UT & 実装 まず E2E test を作る E2E test 実行!
  9. 9. 9 1年間で リグレッションによる 不具合 0件
  10. 10. 10 良かったこと2 コードレビューの効果が高まった UT & 実装 E2E test 実行! コード レビュー E2E test 実行! 【レビュア視点】 • 既に要件を満たすことがわかっている • レビュアがコードの書き方に集中できる • 何度でもテストできるので思い切った指摘ができる
  11. 11. 11 良かったこと3 メンバーのテスタビリティに対する意識向上 コアAPI DB E2E test Tool Start Test Scenario Verify 写真のメタデータを 取得するAPI Select TearDown 写真のメタデータを 削除するAPI Delete Assertion! Execute 写真のメタデータを 登録するAPI Insert/Update Test Result HTTP サービスでは使わないけど、テストに必要そうだから作る? という提案がメンバーから「自然に」出てくる
  12. 12. 12 良かったこと3 メンバーのテスタビリティに対する意識向上 コアAPI DB E2E test Tool Start Test Scenario Verify 写真のバイナリデータ を取得するAPI Select TearDown 写真のバイナリデータ を削除するAPI Delete Assertion! … どうやって? Execute 写真のバイナリデータ を登録するAPI Insert/Update Test Result HTTP どう自動化するか考えるという話が メンバーから「自然に」出てくる
  13. 13. 13 もともと良いチームだったけど すごく良いチームになった!
  14. 14. 14 … もうちょっとだけ続くんじゃ
  15. 15. 15 私 異動しました 2年間、APIばかり作ってたんだけど 久しぶりに画面のある世界へ。
  16. 16. 16 GUIのテスト自動化 難しいです
  17. 17. 17 APIと勝手が違うところ • 予約などはステートフル&複数ページから構成 されるため、1シナリオが長い • Seleniumなどブラウザを使うと1通信に時間が かかる → ケースの網羅性を上げるのが難しい • 画面内のパーツが多い • 細部の仕様は頻繁に変わる → 細かい部分までテストするのが難しい
  18. 18. 18 テスト改善よりもアーキテクチャ改善? 画面 コアAPIエンド ユーザ UI層と ロジック層と きっちり分けて ロジック層に対してたっぷりE2E test かなぁ… と思案中。
  19. 19. 19 是非、お知恵を ください!
  • chihiroyanagiswa

    May. 23, 2019
  • taroyamakawa18

    Aug. 3, 2018
  • YuwjiHorie

    Jan. 23, 2018
  • takeokouno

    Mar. 26, 2017
  • goroq

    Jan. 23, 2017
  • yasufumic

    Oct. 13, 2016
  • hkude

    Oct. 4, 2016
  • masayataji

    Sep. 14, 2015
  • AsHi2

    Sep. 13, 2015
  • HiroshiShiobara

    Sep. 13, 2015

エンドツーエンドテストを自動化したらチームがすごく良くなった お話です

Views

Total views

6,190

On Slideshare

0

From embeds

0

Number of embeds

3,357

Actions

Downloads

0

Shares

0

Comments

0

Likes

10

×