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
コラボレーションがテスト自動化の成否を分ける
Search
atom
February 10, 2023
Business
1
2.5k
コラボレーションがテスト自動化の成否を分ける
Developers Summit
10/02/2023
atom
February 10, 2023
Tweet
Share
More Decks by atom
See All by atom
UIからの自動テスト事例
tomasagi
9
6.8k
WebシステムやモバイルアプリにおけるUIからの自動テスト事例3選
tomasagi
1
3.2k
自動テストの変遷_分断からコラボレーションの時代へ_.pdf
tomasagi
3
470
ソフトウェアテスト自動化の変遷。変わったことと変わらないこと。テスト自動化の導入パターン。
tomasagi
5
20k
Other Decks in Business
See All in Business
ELEMENTS_CULTURE DECK
hrxteam
0
2.1k
enechain company deck
enechain
PRO
7
89k
(6枚)クリティカルシンキング3つの手順 (ロジカルシンキングとの違い)
nyattx
PRO
1
220
Manage-Up! A Guide for Product Builders to Understand and Influence Leadership
petra_wille
0
160
We are Wunderbar, Culture Deck Min
wunderbar
0
400
インキュデータ会社紹介資料
okitsu
3
31k
merpay-Overview
mercari_inc
7
160k
株式会社CINC 会社案内/Company introduction
cinchr
6
44k
Aoba-BBT's Corporate Brochure
aobabbt
0
360
ST Webbinarium • Digital arbetsmiljö • 22 oktober 2024
jonas_blind_hen
PRO
0
100
経営組織論〜ソニックガーデンの場合(2024/11版)
kuranuki
0
310
2024_0930_SHIP_CULUTURE_社外用_version1.pdf
ship_inc
0
530
Featured
See All Featured
Designing on Purpose - Digital PM Summit 2013
jponch
115
6.9k
Into the Great Unknown - MozCon
thekraken
32
1.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
7
160
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.6k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Agile that works and the tools we love
rasmusluckow
327
21k
Music & Morning Musume
bryan
46
6.1k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
800
Transcript
株式会社ヒューマンクレスト コラボレーションが テスト⾃動化の成否を分ける 継続的テスト、できていますか︖ 浅⻩ 友隆
© 2023 Human Crest Co., Ltd. 会社紹介 • ソフトウェアのテストを専業にしている 2
© 2023 Human Crest Co., Ltd. 会社紹介 3
© 2023 Human Crest Co., Ltd. 会社紹介 • 機能テスト、リグレッションテスト、APIテストなどを⾃動化 70
4
© 2023 Human Crest Co., Ltd. ⾃⼰紹介 Tomotaka Asagi 技術推進本部
本部⻑ 5 • 現在地︓マレーシア • 趣味︓カメラ、ドライブ • 職歴︓営業→開発→テスト→経営︖
© 2023 Human Crest Co., Ltd. 本⽇の事例に関して • 決してだれかを⾮難しているわけではありません。 •
⾃動テストは、UI/Serviceのテストに限った話です。Unitテストは含まれて おりません。 UI Service Unit 6
© 2023 Human Crest Co., Ltd. ⾃動テストやってますか︖ 7
© 2023 Human Crest Co., Ltd. 「⾃動テストは続かない」 8
© 2023 Human Crest Co., Ltd. 「⼀回チャレンジしたんだけどね。」 9
© 2023 Human Crest Co., Ltd. なぜ、⾃動テストという 取り組みが失敗するのか︖ 10
© 2023 Human Crest Co., Ltd. AGENDA 本日のアジェンダ 1. 成功事例
2. 失敗事例 3. Test Automation Circles 4. コラボレーション 5. コンテキスト 6. まとめ 11
© 2023 Human Crest Co., Ltd. 成功事例 1. 12
© 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
© 2023 Human Crest Co., Ltd. 成功している事例 • 事例3 ◦
テスト対象︓BtoC スマホアプリ ◦ テストタイプ︓機能テスト(26ケース) →チェックポイント数百箇所 ◦ 実⾏トリガー︓定期実⾏ 毎⽇0時,12時 ◦ IF︓スマホアプリ(Android、iPhone) • 事例4 ◦ テスト対象︓BtoB Webシステム(リアルエステート) ◦ テストタイプ︓機能テスト(260ケース) ◦ 実⾏トリガー︓Push時 ◦ IF︓WEBブラウザ(DockerChrome) 14
© 2023 Human Crest Co., Ltd. Test Automation Circles 15
© 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
© 2023 Human Crest Co., Ltd. 層 項⽬ 事例1 事例2
事例3 事例4 コア ⽬的 ◯ ◯ ◯ ◯ コンセプト 戦略 範囲 設計 △ ⼿動→⾃動 ◯ △ 設計が✗ ◯ アーキテクチャ CI/CD ツール フレームワーク 環境 ✗ CI/CDなし ✗ CI/CDなし ◯ ◯ モニタリングとコン トロール ⾃動化システム 実⾏ 分析 可視化 ◯ ◯ ◯ ◯ ベース リソース チーム スキルセット ⽂化 ◯ ◯ ◯ ◯ 成功している事例 17
© 2023 Human Crest Co., Ltd. なぜ成功しているのか︖ • デベロッパーが⾃動テストの結果を欲している。 •
バグが発⽣した際の、⼿順が明確になっている。 18
© 2023 Human Crest Co., Ltd. 失敗事例 2. 19
© 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
© 2023 Human Crest Co., Ltd. 層 項⽬ 事例5 事例6
コア ⽬的 機能が正常に動いていること リグレッションが発⽣してないこと 開発者がすぐに修正できること コンセプト 戦略 範囲 設計 メイン機能 機能テスト メイン機能テスト 画⾯の正常系、および画⾯遷移 アーキテクチャ CI/CD ツール フレームワーク 環境 開発環境 ローカル Selenium,Java ステージング環境 クラウド Selenide,Java モニタリングとコ ントロール ⾃動化システム 実⾏ 分析 可視化 開発者が都度実⾏ (テストスクリプトの作成、メンテはテストチーム が⾏う。) merge時実⾏(実⾏時間が20分超え) Slack→レポート ベース リソース チーム スキルセット ⽂化 開発チーム ↕ 分断 テストチーム 設計チーム 開発チーム インフラチーム 定着しなかった事例 21
© 2023 Human Crest Co., Ltd. 層 項⽬ 事例5 事例6
コア ⽬的 ◯ ◯ コンセプト 戦略 範囲 設計 ◯ ◯ アーキテクチャ CI/CD ツール フレームワーク 環境 ◯ ◯ モニタリングとコ ントロール ⾃動化システム 実⾏ 分析 可視化 ◯ △ ベース リソース チーム スキルセット ⽂化 ✗ △ 定着しなかった事例 22
© 2023 Human Crest Co., Ltd. なぜ、⾃動テストという 取り組みが失敗するのか︖ 23
© 2023 Human Crest Co., Ltd. Test Automation Circles 3.
24
© 2023 Human Crest Co., Ltd. Test Automation Circles 25
© 2023 Human Crest Co., Ltd. 26 ⽬的 実⾏ レポーティング
結果分析 ツ ー ル フ レ ー ム ワ ー ク 環 境 CI/CD ス コ ー プ 戦略 設 計 リソース チーム ⽂化 スキルセット テスト⾃動化 ソリューション
© 2023 Human Crest Co., Ltd. 27 ⽬的 実⾏ レポーティング
結果分析 ツ ー ル フ レ ー ム ワ ー ク 環 境 CI/CD ス コ ー プ 戦略 設 計 リソース チーム ⽂化 スキルセット テスト⾃動化 ソリューション
© 2023 Human Crest Co., Ltd. 28 ⽬的 実⾏ レポーティング
結果分析 ツ ー ル フ レ ー ム ワ ー ク 環 境 CI/CD ス コ ー プ 戦略 設 計 リソース チーム ⽂化 スキルセット テスト⾃動化 ソリューション Why︖
© 2023 Human Crest Co., Ltd. 29 ⽬的 実⾏ レポーティング
結果分析 ツ ー ル フ レ ー ム ワ ー ク 環 境 CI/CD ス コ ー プ 戦略 設 計 リソース チーム ⽂化 スキルセット テスト⾃動化 ソリューション Why︖ How︖
© 2023 Human Crest Co., Ltd. 30 ⽬的 実⾏ レポーティング
結果分析 ツ ー ル フ レ ー ム ワ ー ク 環 境 CI/CD ス コ ー プ 戦略 設 計 リソース チーム ⽂化 スキルセット テスト⾃動化 ソリューション Why︖ How︖ What︖
© 2023 Human Crest Co., Ltd. 31 ⽬的 実⾏ レポーティング
結果分析 ツ ー ル フ レ ー ム ワ ー ク 環 境 CI/CD ス コ ー プ 戦略 設 計 リソース チーム ⽂化 スキルセット テスト⾃動化 ソリューション Why︖ How︖ What︖ Real
© 2023 Human Crest Co., Ltd. 32 ⽬的 実⾏ レポーティング
結果分析 ツ ー ル フ レ ー ム ワ ー ク 環 境 CI/CD ス コ ー プ 戦略 設 計 リソース チーム ⽂化 スキルセット テスト⾃動化 ソリューション Why︖ How︖ What︖ Real Base
© 2023 Human Crest Co., Ltd. 33 ⽬的 ツ ー
ル フ レ ー ム ワ ー ク 環 境 CI/CD ス コ ー プ 戦略 設 計 Why︖ How︖ What︖ 実現にむけて、利害関係者で話し合い、 合意を得ることが重要な部分
© 2023 Human Crest Co., Ltd. 34 実⾏ レポーティング 結果分析
テスト⾃動化 ソリューション Real テスト⾃動化を実現し、 運⽤していく部分 ↓ ⾃動テストにオーナーシップを持って取り組む⼈の存在が必要
© 2023 Human Crest Co., Ltd. それでも失敗する 35
© 2023 Human Crest Co., Ltd. 36 深い溝がある ときがある 責任範囲の違いから、無関⼼
誰かがやってくれるだろう ちょっと⾯倒なことになりそうだから、、
© 2023 Human Crest Co., Ltd. 37 リソース チーム ⽂化
スキルセット 深い溝がある ときがある Base
© 2023 Human Crest Co., Ltd. 38 リソース (⼈) チーム
⽂化 関係者、チーム内・外のコラボレーションができてない ⽂化が育たない スキルセット Base 様々なコンテキスト(環境や、社会、規則など)への理解
© 2023 Human Crest Co., Ltd. 層 項⽬ 1 2
3 4 5 6 コア ⽬的 ◯ ◯ ◯ ◯ ◯ ◯ コンセプト 戦略 範囲 設計 △ ◯ ◯ ◯ ◯ ◯ アーキテクチャ CI/CD ツール フレームワーク 環境 ✗ ✗ ◯ ◯ ◯ ◯ モニタリングとコントロー ル ⾃動化システム 実⾏ 分析 可視化 ◯ ◯ ◯ ◯ ◯ △ ベース リソース チーム スキルセット ⽂化 ◯ ◯ ◯ ◯ ✗ △ 何が違うのか︖ 39
© 2023 Human Crest Co., Ltd. コラボレーション 4. 40
© 2023 Human Crest Co., Ltd. コラボレーションとは • Wikipedia ◦
コラボレーション(英: collaboration)は、「共に働く」「協⼒する」の意味で、 「共演」・「合作」・「共同作業」・「利的協⼒」を指す語である。⽇本語では コラボと略されることが多い。 • IT⽤語辞典 ◦ コラボレーションとは、協⼒、協調、協業、共同作業、共同制作、合作などの意 味を持つ英単語。複数の⼈や集団の間で協⼒して⼀つの作業を⾏うことや、その 結果⽣み出された作品などのことを指す。俗に「コラボ」と略されることもある。 41
© 2023 Human Crest Co., Ltd. コラボレーションとは とある休⽇、妻との会話で、、 私「コラボレーションって⼤事だよね」 (つぶやいただけ、、)
妻「そうだよね、信頼関係がないとできないよね︕」 私「えっ︖ どういうこと︖」 妻「お互いが対等な⽴場で、お互いが信頼してないとコラボレーションできないって こと。」 私「何︕ その即答は︖ どこからの引⽤︖」 妻「作業療法の話」 42
© 2023 Human Crest Co., Ltd. コラボレーションとは • 協働(Collaboration)には、相互理解を基盤とした⽬標の共有が必要です。 •
協働関係は、⽬標達成のために分担された業務を遂⾏するのではなく、相⼿ を尊重し合い、それぞれの考えや意⾒を対等に表現し合い、共に取り組んで いく関係です。 43 吉川ひろみ・鈴木洋介.『プロセスモデルで読み解く作業療法』.CBR.2019,120P クライアントとその家族、ケアマネージャ、医師、地 域介護関連職の⽅々、それぞれが、対等な⽴場でサポ ート、介⼊していくことが重要になる。
© 2023 Human Crest Co., Ltd. 共通の⽬的を持ち お互いに信頼し 共に取り組んでいる 44
© 2023 Human Crest Co., Ltd. 誰とコラボレーション 45 開発 運⽤
© 2023 Human Crest Co., Ltd. 誰とコラボレーション 46 開発 QA
運⽤
© 2023 Human Crest Co., Ltd. 誰とコラボレーション 47 開発 QA
運⽤
© 2023 Human Crest Co., Ltd. 誰とコラボレーション 48 開発(Web) 開発(スマ
ホアプリ) インフラ (SRE)
© 2023 Human Crest Co., Ltd. 成功する要因 • 共通の⽬的であること •
成果がみえるようにすること • 関係者全員で⽬的と成果を共有していること • ⼩さな成功を積む • ⼈、チームの関係性を良好にする橋渡し、担当者を置く ✗ だめなこと ⾃動テストを⽬的にする(開発側が興味をなくす) 49
© 2023 Human Crest Co., Ltd. コンテキスト 5. 50
© 2023 Human Crest Co., Ltd. コンテキスト • どんな対象物なのか︖ ◦
プロダクト要素︓採⽤しているアーキテクチャ︖ ◦ 環境要素︓開発環境、テスト環境、本番環境は、オンプレ・クラウド︖ • どのような進め⽅をしているのか︖ ◦ プロセス要素︓WF・Agile、ビルド、デプロイ、リリースタイミング • どんな⼈が集まっているのか︖ ◦ スキル要素︓利⽤スキル、習得しているスキル、習得したいスキル ◦ チーム要素︓同僚、他部署、ステークホルダーなど関連する⼈々、関連性 51
© 2023 Human Crest Co., Ltd. コンテキスト • どのような考え⽅があるのか︖ ◦
⽂化的要素︓社内の⾵⼟・新しもの好き、保守的 ◦ 組織的要素︓組織、会社の規則、価値観 • 周囲の状況はどうなのか︖ ◦ 場所的要素︓住んでいる場所、経済、歴史的背景 • 現在、過去に何を⾏ったか︖ ◦ 時間的要素︓取り組んだ内容︖ • どのような課題を持っているか︖ ◦ 課題要素︓何を問題と思っていて、どうやって解決したいと考えているのか︖ ▪ やりたいと思っていること ▪ やらなければならないこと ▪ やることが期待されていること 52
© 2023 Human Crest Co., Ltd. コンテキストの変化に気を配る • 世の中の変化に応じてやりたいことが変わっていく場合がある ◦
WF→Agile ◦ バグの発⾒→⽣産性向上 ◦ バックエンド→フロントエンド 53
© 2023 Human Crest Co., Ltd. まとめ 6. 54
© 2023 Human Crest Co., Ltd. まとめ • デベロッパーは、様々な⼈々(職種、役割、チーム)とコラボレーションし なければならない。
• コラボレーションとは、共通の⽬標を持ち、お互いに信頼し、取り組んでい くことである。 • コンテキストを知ることが近道になる ◦ 時代 いま ◦ 会社の⽂化、規則、⽅針 ◦ チームのルールや価値観に沿っているか ◦ 個⼈のスキル、習慣、価値観 ◦ 課題 55 ⾒えるところだけでなく、⾒えないところが⼤事
© 2023 Human Crest Co., Ltd. あるがままでなく、あるべき世界をみろ See the world
not as it is, but as it should be. 56
© 2023 Human Crest Co., Ltd. ご清聴ありがとうございました 57