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.6k
WebシステムやモバイルアプリにおけるUIからの自動テスト事例3選
tomasagi
1
3.1k
自動テストの変遷_分断からコラボレーションの時代へ_.pdf
tomasagi
3
470
ソフトウェアテスト自動化の変遷。変わったことと変わらないこと。テスト自動化の導入パターン。
tomasagi
5
20k
Other Decks in Business
See All in Business
株式会社HONE 会社説明資料 HONE,Inc. Company Profile
tsakurai
1
380
VISASQ: ABOUT DEV TEAM
eikohashiba
2
19k
Neuromagic 会社紹介資料
neuromagic
0
920
ネクストビートコーポレートガイド/corporate-guide
nextbeat
1
75k
Recruiting Deck_株式会社HACHI
hachi_hiring
1
110
202409_会社概要資料.pdf
zakkerooni
0
150
ZEROFIELD会社紹介
zerofield
0
510
新卒エンジニアが組織に馴染むために勉強会を主催してチームの壁を越える
ohmori_yusuke
1
190
ワンメディア株式会社 会社紹介資料
sakiyogoro
0
8.2k
eXtreme recording
aki_moon
4
380
対話をする前に 知っておくべきこと -人格主義を基本とする関係構築-
rakuraku0615
0
140
レイド株式会社_会社紹介資料
rayd
0
220
Featured
See All Featured
Embracing the Ebb and Flow
colly
83
4.4k
Making the Leap to Tech Lead
cromwellryan
130
8.8k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
Debugging Ruby Performance
tmm1
73
12k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
6
220
Building Adaptive Systems
keathley
37
2.1k
Building an army of robots
kneath
302
42k
Code Reviewing Like a Champion
maltzj
519
39k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Adopting Sorbet at Scale
ufuk
73
8.9k
Bash Introduction
62gerente
608
210k
Fireside Chat
paigeccino
32
2.9k
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