Slide 1

Slide 1 text

株式会社ヒューマンクレスト コラボレーションが テスト⾃動化の成否を分ける 継続的テスト、できていますか︖ 浅⻩ 友隆

Slide 2

Slide 2 text

© 2023 Human Crest Co., Ltd. 会社紹介 ● ソフトウェアのテストを専業にしている 2

Slide 3

Slide 3 text

© 2023 Human Crest Co., Ltd. 会社紹介 3

Slide 4

Slide 4 text

© 2023 Human Crest Co., Ltd. 会社紹介 ● 機能テスト、リグレッションテスト、APIテストなどを⾃動化 70 4

Slide 5

Slide 5 text

© 2023 Human Crest Co., Ltd. ⾃⼰紹介 Tomotaka Asagi 技術推進本部 本部⻑ 5 ● 現在地︓マレーシア ● 趣味︓カメラ、ドライブ ● 職歴︓営業→開発→テスト→経営︖

Slide 6

Slide 6 text

© 2023 Human Crest Co., Ltd. 本⽇の事例に関して ● 決してだれかを⾮難しているわけではありません。 ● ⾃動テストは、UI/Serviceのテストに限った話です。Unitテストは含まれて おりません。 UI Service Unit 6

Slide 7

Slide 7 text

© 2023 Human Crest Co., Ltd. ⾃動テストやってますか︖ 7

Slide 8

Slide 8 text

© 2023 Human Crest Co., Ltd. 「⾃動テストは続かない」 8

Slide 9

Slide 9 text

© 2023 Human Crest Co., Ltd. 「⼀回チャレンジしたんだけどね。」 9

Slide 10

Slide 10 text

© 2023 Human Crest Co., Ltd. なぜ、⾃動テストという 取り組みが失敗するのか︖ 10

Slide 11

Slide 11 text

© 2023 Human Crest Co., Ltd. AGENDA 本日のアジェンダ 1. 成功事例 2. 失敗事例 3. Test Automation Circles 4. コラボレーション 5. コンテキスト 6. まとめ 11

Slide 12

Slide 12 text

© 2023 Human Crest Co., Ltd. 成功事例 1. 12

Slide 13

Slide 13 text

© 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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

© 2023 Human Crest Co., Ltd. Test Automation Circles 15

Slide 16

Slide 16 text

© 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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

© 2023 Human Crest Co., Ltd. なぜ成功しているのか︖ ● デベロッパーが⾃動テストの結果を欲している。 ● バグが発⽣した際の、⼿順が明確になっている。 18

Slide 19

Slide 19 text

© 2023 Human Crest Co., Ltd. 失敗事例 2. 19

Slide 20

Slide 20 text

© 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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

© 2023 Human Crest Co., Ltd. なぜ、⾃動テストという 取り組みが失敗するのか︖ 23

Slide 24

Slide 24 text

© 2023 Human Crest Co., Ltd. Test Automation Circles 3. 24

Slide 25

Slide 25 text

© 2023 Human Crest Co., Ltd. Test Automation Circles 25

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

© 2023 Human Crest Co., Ltd. 34 実⾏ レポーティング 結果分析 テスト⾃動化 ソリューション Real テスト⾃動化を実現し、 運⽤していく部分 ↓ ⾃動テストにオーナーシップを持って取り組む⼈の存在が必要

Slide 35

Slide 35 text

© 2023 Human Crest Co., Ltd. それでも失敗する 35

Slide 36

Slide 36 text

© 2023 Human Crest Co., Ltd. 36 深い溝がある ときがある 責任範囲の違いから、無関⼼ 誰かがやってくれるだろう ちょっと⾯倒なことになりそうだから、、

Slide 37

Slide 37 text

© 2023 Human Crest Co., Ltd. 37 リソース チーム ⽂化 スキルセット 深い溝がある ときがある Base

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

© 2023 Human Crest Co., Ltd. コラボレーション 4. 40

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

© 2023 Human Crest Co., Ltd. コラボレーションとは とある休⽇、妻との会話で、、 私「コラボレーションって⼤事だよね」 (つぶやいただけ、、) 妻「そうだよね、信頼関係がないとできないよね︕」 私「えっ︖ どういうこと︖」 妻「お互いが対等な⽴場で、お互いが信頼してないとコラボレーションできないって こと。」 私「何︕ その即答は︖ どこからの引⽤︖」 妻「作業療法の話」 42

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

© 2023 Human Crest Co., Ltd. 共通の⽬的を持ち お互いに信頼し 共に取り組んでいる 44

Slide 45

Slide 45 text

© 2023 Human Crest Co., Ltd. 誰とコラボレーション 45 開発 運⽤

Slide 46

Slide 46 text

© 2023 Human Crest Co., Ltd. 誰とコラボレーション 46 開発 QA 運⽤

Slide 47

Slide 47 text

© 2023 Human Crest Co., Ltd. 誰とコラボレーション 47 開発 QA 運⽤

Slide 48

Slide 48 text

© 2023 Human Crest Co., Ltd. 誰とコラボレーション 48 開発(Web) 開発(スマ ホアプリ) インフラ (SRE)

Slide 49

Slide 49 text

© 2023 Human Crest Co., Ltd. 成功する要因 ● 共通の⽬的であること ● 成果がみえるようにすること ● 関係者全員で⽬的と成果を共有していること ● ⼩さな成功を積む ● ⼈、チームの関係性を良好にする橋渡し、担当者を置く ✗ だめなこと ⾃動テストを⽬的にする(開発側が興味をなくす) 49

Slide 50

Slide 50 text

© 2023 Human Crest Co., Ltd. コンテキスト 5. 50

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

© 2023 Human Crest Co., Ltd. コンテキスト ● どのような考え⽅があるのか︖ ○ ⽂化的要素︓社内の⾵⼟・新しもの好き、保守的 ○ 組織的要素︓組織、会社の規則、価値観 ● 周囲の状況はどうなのか︖ ○ 場所的要素︓住んでいる場所、経済、歴史的背景 ● 現在、過去に何を⾏ったか︖ ○ 時間的要素︓取り組んだ内容︖ ● どのような課題を持っているか︖ ○ 課題要素︓何を問題と思っていて、どうやって解決したいと考えているのか︖ ■ やりたいと思っていること ■ やらなければならないこと ■ やることが期待されていること 52

Slide 53

Slide 53 text

© 2023 Human Crest Co., Ltd. コンテキストの変化に気を配る ● 世の中の変化に応じてやりたいことが変わっていく場合がある ○ WF→Agile ○ バグの発⾒→⽣産性向上 ○ バックエンド→フロントエンド 53

Slide 54

Slide 54 text

© 2023 Human Crest Co., Ltd. まとめ 6. 54

Slide 55

Slide 55 text

© 2023 Human Crest Co., Ltd. まとめ ● デベロッパーは、様々な⼈々(職種、役割、チーム)とコラボレーションし なければならない。 ● コラボレーションとは、共通の⽬標を持ち、お互いに信頼し、取り組んでい くことである。 ● コンテキストを知ることが近道になる ○ 時代 いま ○ 会社の⽂化、規則、⽅針 ○ チームのルールや価値観に沿っているか ○ 個⼈のスキル、習慣、価値観 ○ 課題 55 ⾒えるところだけでなく、⾒えないところが⼤事

Slide 56

Slide 56 text

© 2023 Human Crest Co., Ltd. あるがままでなく、あるべき世界をみろ See the world not as it is, but as it should be. 56

Slide 57

Slide 57 text

© 2023 Human Crest Co., Ltd. ご清聴ありがとうございました 57