Upgrade to Pro — share decks privately, control downloads, hide ads and more …

コラボレーションがテスト自動化の成否を分ける

atom
February 10, 2023

 コラボレーションがテスト自動化の成否を分ける

Developers Summit
10/02/2023

atom

February 10, 2023
Tweet

More Decks by atom

Other Decks in Business

Transcript

  1. © 2023 Human Crest Co., Ltd. ⾃⼰紹介 Tomotaka Asagi 技術推進本部

    本部⻑ 5 • 現在地︓マレーシア • 趣味︓カメラ、ドライブ • 職歴︓営業→開発→テスト→経営︖
  2. © 2023 Human Crest Co., Ltd. 本⽇の事例に関して • 決してだれかを⾮難しているわけではありません。 •

    ⾃動テストは、UI/Serviceのテストに限った話です。Unitテストは含まれて おりません。 UI Service Unit 6
  3. © 2023 Human Crest Co., Ltd. AGENDA 本日のアジェンダ 1. 成功事例

    2. 失敗事例 3. Test Automation Circles 4. コラボレーション 5. コンテキスト 6. まとめ 11
  4. © 2023 Human Crest Co., Ltd. 成功している事例 • 事例1 ◦

    テスト対象︓BtoB Webシステム(グループウェア) ◦ テストタイプ︓シナリオテスト(40シナリオ) ◦ 実⾏トリガー︓定期実⾏ 毎⽇0時 ◦ IF︓PCブラウザ(Chrome,firefox,Edge) • 事例2 ◦ テスト対象︓BtoC Web、スマホ向けシステム(HR系) ◦ テストタイプ︓シナリオテスト(30シナリオ) ◦ 実⾏トリガー︓定期実⾏ 毎⽇8時、14時 ◦ IF︓PCブラウザ(Chrome)スマホブラウザ(Chrome,Safari)スマホアプリ 13
  5. © 2023 Human Crest Co., Ltd. 成功している事例 • 事例3 ◦

    テスト対象︓BtoC スマホアプリ ◦ テストタイプ︓機能テスト(26ケース) →チェックポイント数百箇所 ◦ 実⾏トリガー︓定期実⾏ 毎⽇0時,12時 ◦ IF︓スマホアプリ(Android、iPhone) • 事例4 ◦ テスト対象︓BtoB Webシステム(リアルエステート) ◦ テストタイプ︓機能テスト(260ケース) ◦ 実⾏トリガー︓Push時 ◦ IF︓WEBブラウザ(DockerChrome) 14
  6. © 2023 Human Crest Co., Ltd. 層 項⽬ 事例1 事例2

    事例3 事例4 コア ⽬的 機能が正常に動いている こと ユーザに価値が届いてい ることを確かめる 機能が動作していること バグが流出しないこと リグレッションが発⽣し てないこと 開発者がすぐに修正でき ること コンセプト 戦略 範囲 設計 メイン機能 シナリオテスト 正常系のみ メイン機能のみ シナリオテスト 正常系のみ 全機能 機能テスト 境界値含む 主要機能 データパターン網羅 アーキテクチャ CI/CD ツール フレームワーク 環境 ⾃動テスト専⽤環境 クラウド Selenium, Java 開発環境、本番環境 スマホ実機アプリ スマホ実機ブラウザ Selenium, Java 開発環境、ステージング スマホ実機アプリ Jenkins,bitrise Cucumber, Appium ステージング環境 Jenkins Junit, Selenide モニタリングとコ ントロール ⾃動化システム 実⾏ 分析 可視化 定期実⾏、分析 Dashboard Mail 定期実⾏、分析 Dashboard Mail 定期実⾏、分析 Dashboard Slack Push時実⾏ Slack→レポート ベース リソース チーム スキルセット ⽂化 開発チーム テストチーム ステークホルダー DEVチーム ステークホルダー 開発チーム QAチーム QAチーム インフラチーム 成功している事例 16
  7. © 2023 Human Crest Co., Ltd. 層 項⽬ 事例1 事例2

    事例3 事例4 コア ⽬的 ◯ ◯ ◯ ◯ コンセプト 戦略 範囲 設計 △ ⼿動→⾃動 ◯ △ 設計が✗ ◯ アーキテクチャ CI/CD ツール フレームワーク 環境 ✗ CI/CDなし ✗ CI/CDなし ◯ ◯ モニタリングとコン トロール ⾃動化システム 実⾏ 分析 可視化 ◯ ◯ ◯ ◯ ベース リソース チーム スキルセット ⽂化 ◯ ◯ ◯ ◯ 成功している事例 17
  8. © 2023 Human Crest Co., Ltd. 定着しなかった事例 • 事例5 ◦

    テスト対象︓BtoB Webシステム(IoT) ◦ テストタイプ︓機能テスト ◦ テストケース数︓60 ◦ 実⾏トリガー︓デベロッパーが必要な時 ◦ IF︓Webブラウザ(Chrome) • 事例6 ◦ テスト対象︓BtoC Webシステム(管理系) ◦ テストタイプ︓機能テスト ◦ テストケース数︓45 ◦ 実⾏トリガー︓Merge時選択 ◦ IF︓Webブラウザ(DockerChrome) This Photo by Unknown Author is licensed under CC BY-NC 20
  9. © 2023 Human Crest Co., Ltd. 層 項⽬ 事例5 事例6

    コア ⽬的 機能が正常に動いていること リグレッションが発⽣してないこと 開発者がすぐに修正できること コンセプト 戦略 範囲 設計 メイン機能 機能テスト メイン機能テスト 画⾯の正常系、および画⾯遷移 アーキテクチャ CI/CD ツール フレームワーク 環境 開発環境 ローカル Selenium,Java ステージング環境 クラウド Selenide,Java モニタリングとコ ントロール ⾃動化システム 実⾏ 分析 可視化 開発者が都度実⾏ (テストスクリプトの作成、メンテはテストチーム が⾏う。) merge時実⾏(実⾏時間が20分超え) Slack→レポート ベース リソース チーム スキルセット ⽂化 開発チーム ↕ 分断 テストチーム 設計チーム 開発チーム インフラチーム 定着しなかった事例 21
  10. © 2023 Human Crest Co., Ltd. 層 項⽬ 事例5 事例6

    コア ⽬的 ◯ ◯ コンセプト 戦略 範囲 設計 ◯ ◯ アーキテクチャ CI/CD ツール フレームワーク 環境 ◯ ◯ モニタリングとコ ントロール ⾃動化システム 実⾏ 分析 可視化 ◯ △ ベース リソース チーム スキルセット ⽂化 ✗ △ 定着しなかった事例 22
  11. © 2023 Human Crest Co., Ltd. 26 ⽬的 実⾏ レポーティング

    結果分析 ツ ー ル フ レ ー ム ワ ー ク 環 境 CI/CD ス コ ー プ 戦略 設 計 リソース チーム ⽂化 スキルセット テスト⾃動化 ソリューション
  12. © 2023 Human Crest Co., Ltd. 27 ⽬的 実⾏ レポーティング

    結果分析 ツ ー ル フ レ ー ム ワ ー ク 環 境 CI/CD ス コ ー プ 戦略 設 計 リソース チーム ⽂化 スキルセット テスト⾃動化 ソリューション
  13. © 2023 Human Crest Co., Ltd. 28 ⽬的 実⾏ レポーティング

    結果分析 ツ ー ル フ レ ー ム ワ ー ク 環 境 CI/CD ス コ ー プ 戦略 設 計 リソース チーム ⽂化 スキルセット テスト⾃動化 ソリューション Why︖
  14. © 2023 Human Crest Co., Ltd. 29 ⽬的 実⾏ レポーティング

    結果分析 ツ ー ル フ レ ー ム ワ ー ク 環 境 CI/CD ス コ ー プ 戦略 設 計 リソース チーム ⽂化 スキルセット テスト⾃動化 ソリューション Why︖ How︖
  15. © 2023 Human Crest Co., Ltd. 30 ⽬的 実⾏ レポーティング

    結果分析 ツ ー ル フ レ ー ム ワ ー ク 環 境 CI/CD ス コ ー プ 戦略 設 計 リソース チーム ⽂化 スキルセット テスト⾃動化 ソリューション Why︖ How︖ What︖
  16. © 2023 Human Crest Co., Ltd. 31 ⽬的 実⾏ レポーティング

    結果分析 ツ ー ル フ レ ー ム ワ ー ク 環 境 CI/CD ス コ ー プ 戦略 設 計 リソース チーム ⽂化 スキルセット テスト⾃動化 ソリューション Why︖ How︖ What︖ Real
  17. © 2023 Human Crest Co., Ltd. 32 ⽬的 実⾏ レポーティング

    結果分析 ツ ー ル フ レ ー ム ワ ー ク 環 境 CI/CD ス コ ー プ 戦略 設 計 リソース チーム ⽂化 スキルセット テスト⾃動化 ソリューション Why︖ How︖ What︖ Real Base
  18. © 2023 Human Crest Co., Ltd. 33 ⽬的 ツ ー

    ル フ レ ー ム ワ ー ク 環 境 CI/CD ス コ ー プ 戦略 設 計 Why︖ How︖ What︖ 実現にむけて、利害関係者で話し合い、 合意を得ることが重要な部分
  19. © 2023 Human Crest Co., Ltd. 34 実⾏ レポーティング 結果分析

    テスト⾃動化 ソリューション Real テスト⾃動化を実現し、 運⽤していく部分 ↓ ⾃動テストにオーナーシップを持って取り組む⼈の存在が必要
  20. © 2023 Human Crest Co., Ltd. 36 深い溝がある ときがある 責任範囲の違いから、無関⼼

    誰かがやってくれるだろう ちょっと⾯倒なことになりそうだから、、
  21. © 2023 Human Crest Co., Ltd. 37 リソース チーム ⽂化

    スキルセット 深い溝がある ときがある Base
  22. © 2023 Human Crest Co., Ltd. 38 リソース (⼈) チーム

    ⽂化 関係者、チーム内・外のコラボレーションができてない ⽂化が育たない スキルセット Base 様々なコンテキスト(環境や、社会、規則など)への理解
  23. © 2023 Human Crest Co., Ltd. 層 項⽬ 1 2

    3 4 5 6 コア ⽬的 ◯ ◯ ◯ ◯ ◯ ◯ コンセプト 戦略 範囲 設計 △ ◯ ◯ ◯ ◯ ◯ アーキテクチャ CI/CD ツール フレームワーク 環境 ✗ ✗ ◯ ◯ ◯ ◯ モニタリングとコントロー ル ⾃動化システム 実⾏ 分析 可視化 ◯ ◯ ◯ ◯ ◯ △ ベース リソース チーム スキルセット ⽂化 ◯ ◯ ◯ ◯ ✗ △ 何が違うのか︖ 39
  24. © 2023 Human Crest Co., Ltd. コラボレーションとは • Wikipedia ◦

    コラボレーション(英: collaboration)は、「共に働く」「協⼒する」の意味で、 「共演」・「合作」・「共同作業」・「利的協⼒」を指す語である。⽇本語では コラボと略されることが多い。 • IT⽤語辞典 ◦ コラボレーションとは、協⼒、協調、協業、共同作業、共同制作、合作などの意 味を持つ英単語。複数の⼈や集団の間で協⼒して⼀つの作業を⾏うことや、その 結果⽣み出された作品などのことを指す。俗に「コラボ」と略されることもある。 41
  25. © 2023 Human Crest Co., Ltd. コラボレーションとは とある休⽇、妻との会話で、、 私「コラボレーションって⼤事だよね」 (つぶやいただけ、、)

    妻「そうだよね、信頼関係がないとできないよね︕」 私「えっ︖ どういうこと︖」 妻「お互いが対等な⽴場で、お互いが信頼してないとコラボレーションできないって こと。」 私「何︕ その即答は︖ どこからの引⽤︖」 妻「作業療法の話」 42
  26. © 2023 Human Crest Co., Ltd. コラボレーションとは • 協働(Collaboration)には、相互理解を基盤とした⽬標の共有が必要です。 •

    協働関係は、⽬標達成のために分担された業務を遂⾏するのではなく、相⼿ を尊重し合い、それぞれの考えや意⾒を対等に表現し合い、共に取り組んで いく関係です。 43 吉川ひろみ・鈴木洋介.『プロセスモデルで読み解く作業療法』.CBR.2019,120P クライアントとその家族、ケアマネージャ、医師、地 域介護関連職の⽅々、それぞれが、対等な⽴場でサポ ート、介⼊していくことが重要になる。
  27. © 2023 Human Crest Co., Ltd. 成功する要因 • 共通の⽬的であること •

    成果がみえるようにすること • 関係者全員で⽬的と成果を共有していること • ⼩さな成功を積む • ⼈、チームの関係性を良好にする橋渡し、担当者を置く ✗ だめなこと ⾃動テストを⽬的にする(開発側が興味をなくす) 49
  28. © 2023 Human Crest Co., Ltd. コンテキスト • どんな対象物なのか︖ ◦

    プロダクト要素︓採⽤しているアーキテクチャ︖ ◦ 環境要素︓開発環境、テスト環境、本番環境は、オンプレ・クラウド︖ • どのような進め⽅をしているのか︖ ◦ プロセス要素︓WF・Agile、ビルド、デプロイ、リリースタイミング • どんな⼈が集まっているのか︖ ◦ スキル要素︓利⽤スキル、習得しているスキル、習得したいスキル ◦ チーム要素︓同僚、他部署、ステークホルダーなど関連する⼈々、関連性 51
  29. © 2023 Human Crest Co., Ltd. コンテキスト • どのような考え⽅があるのか︖ ◦

    ⽂化的要素︓社内の⾵⼟・新しもの好き、保守的 ◦ 組織的要素︓組織、会社の規則、価値観 • 周囲の状況はどうなのか︖ ◦ 場所的要素︓住んでいる場所、経済、歴史的背景 • 現在、過去に何を⾏ったか︖ ◦ 時間的要素︓取り組んだ内容︖ • どのような課題を持っているか︖ ◦ 課題要素︓何を問題と思っていて、どうやって解決したいと考えているのか︖ ▪ やりたいと思っていること ▪ やらなければならないこと ▪ やることが期待されていること 52
  30. © 2023 Human Crest Co., Ltd. まとめ • デベロッパーは、様々な⼈々(職種、役割、チーム)とコラボレーションし なければならない。

    • コラボレーションとは、共通の⽬標を持ち、お互いに信頼し、取り組んでい くことである。 • コンテキストを知ることが近道になる ◦ 時代 いま ◦ 会社の⽂化、規則、⽅針 ◦ チームのルールや価値観に沿っているか ◦ 個⼈のスキル、習慣、価値観 ◦ 課題 55 ⾒えるところだけでなく、⾒えないところが⼤事