$30 off During Our Annual Pro Sale. View Details »

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

atom
February 10, 2023

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

Developers Summit
10/02/2023

atom

February 10, 2023
Tweet

More Decks by atom

Other Decks in Business

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  13. © 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

    View Slide

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

    View Slide

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

    View Slide

  16. © 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

    View Slide

  17. © 2023 Human Crest Co., Ltd.
    層 項⽬ 事例1 事例2 事例3 事例4
    コア ⽬的
    ◯ ◯ ◯ ◯
    コンセプト 戦略
    範囲
    設計

    ⼿動→⾃動
    ◯ △
    設計が✗

    アーキテクチャ CI/CD
    ツール
    フレームワーク
    環境

    CI/CDなし

    CI/CDなし
    ◯ ◯
    モニタリングとコン
    トロール
    ⾃動化システム
    実⾏
    分析
    可視化
    ◯ ◯ ◯ ◯
    ベース リソース
    チーム
    スキルセット
    ⽂化
    ◯ ◯ ◯ ◯
    成功している事例
    17

    View Slide

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

    View Slide

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

    View Slide

  20. © 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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  26. © 2023 Human Crest Co., Ltd. 26
    ⽬的
    実⾏
    レポーティング
    結果分析












    CI/CD




    戦略


    リソース チーム
    ⽂化
    スキルセット
    テスト⾃動化
    ソリューション

    View Slide

  27. © 2023 Human Crest Co., Ltd. 27
    ⽬的
    実⾏
    レポーティング
    結果分析












    CI/CD




    戦略


    リソース チーム
    ⽂化
    スキルセット
    テスト⾃動化
    ソリューション

    View Slide

  28. © 2023 Human Crest Co., Ltd. 28
    ⽬的
    実⾏
    レポーティング
    結果分析












    CI/CD




    戦略


    リソース チーム
    ⽂化
    スキルセット
    テスト⾃動化
    ソリューション
    Why︖

    View Slide

  29. © 2023 Human Crest Co., Ltd. 29
    ⽬的
    実⾏
    レポーティング
    結果分析












    CI/CD




    戦略


    リソース チーム
    ⽂化
    スキルセット
    テスト⾃動化
    ソリューション
    Why︖
    How︖

    View Slide

  30. © 2023 Human Crest Co., Ltd. 30
    ⽬的
    実⾏
    レポーティング
    結果分析












    CI/CD




    戦略


    リソース チーム
    ⽂化
    スキルセット
    テスト⾃動化
    ソリューション
    Why︖
    How︖
    What︖

    View Slide

  31. © 2023 Human Crest Co., Ltd. 31
    ⽬的
    実⾏
    レポーティング
    結果分析












    CI/CD




    戦略


    リソース チーム
    ⽂化
    スキルセット
    テスト⾃動化
    ソリューション
    Why︖
    How︖
    What︖
    Real

    View Slide

  32. © 2023 Human Crest Co., Ltd. 32
    ⽬的
    実⾏
    レポーティング
    結果分析












    CI/CD




    戦略


    リソース チーム
    ⽂化
    スキルセット
    テスト⾃動化
    ソリューション
    Why︖
    How︖
    What︖
    Real
    Base

    View Slide

  33. © 2023 Human Crest Co., Ltd. 33
    ⽬的












    CI/CD




    戦略


    Why︖
    How︖
    What︖
    実現にむけて、利害関係者で話し合い、
    合意を得ることが重要な部分

    View Slide

  34. © 2023 Human Crest Co., Ltd. 34
    実⾏
    レポーティング
    結果分析
    テスト⾃動化
    ソリューション
    Real
    テスト⾃動化を実現し、
    運⽤していく部分

    ⾃動テストにオーナーシップを持って取り組む⼈の存在が必要

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  39. © 2023 Human Crest Co., Ltd.
    層 項⽬ 1 2 3 4 5 6
    コア ⽬的
    ◯ ◯ ◯ ◯ ◯ ◯
    コンセプト 戦略
    範囲
    設計
    △ ◯ ◯ ◯ ◯ ◯
    アーキテクチャ CI/CD
    ツール
    フレームワーク
    環境
    ✗ ✗ ◯ ◯ ◯ ◯
    モニタリングとコントロー

    ⾃動化システム
    実⾏
    分析
    可視化
    ◯ ◯ ◯ ◯ ◯ △
    ベース リソース
    チーム
    スキルセット
    ⽂化
    ◯ ◯ ◯ ◯ ✗ △
    何が違うのか︖
    39

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide